This is the code repository for Hands-On Reactive Programming with Python, published by Packt.
A comprehensive guide to help you understand the principles of Reactive and asynchronous programming and its benefits
The master branch of this repository contains code that has been updated to work with rxpy v3 and cyclotron v1. The code originally published with the book is available on the ed1/rxpy1 branch.
Reactive programming is central to many concurrent systems, but it’s famous for its steep learning curve, which makes most developers feel like they're hitting a wall. With this book, you will get to grips with reactive programming by steadily exploring various concepts
This book covers the following exciting features:
- Structure Python code for better readability, testing, and performance
- Explore the world of event-based programming
- Grasp the use of the most common operators in Rx
- Understand reactive extensions beyond simple examples
- Master the art of writing reusable components Deploy an application on a cloud platform with Docker and Traefik
If you feel this book is for you, get your copy today!
All of the code is organized into folders. For example, Chapter02.
The code will look like the following:
rx.from_(...).pipe(
ops.filter(),
ops.distinct(),
ops.take(20),
ops.map(...),
)
Following is what you need for this book:
This book is intended for software developers who are already at ease with Python and have heard about reactive programming but have not had a chance to work with it yet. However, no expertise is needed beyond that. Each chapter of the book describes new notions step by step so that the reader can gradually gain the necessary knowledge to understand the chapters that follow.
Hopefully, this will not be a read once and put on the shelf book. The operators documentation and descriptions of ways to tackle common problems should make this book regularly handy, even after being fully read.
With the following software and hardware list you can run all code files present in the book (Chapter 1-12).
Chapter | Software required | OS required |
---|---|---|
All | Python 3.6 | Linux, macOS, or Windows |
Romain Picard is currently a data science engineer. He has been working in the digital TV and telecommunications industry for 20 years. His daily work consists of data manipulation, machine learning model training, and model deployment. Almost all of these tasks are based on Python code, and he uses reactive programming whenever it's applicable. He was previously a media software architect and a software developer. In these previous positions, he designed and developed TV and OTT players that have been used in tens of millions of set top boxes. Romain is especially interested in algorithms, looking for the most suitable algorithm for each use case.
Click here if you have any feedback or suggestions.