reactivex
ReactiveX (Rx) for Python
What it is and what it does
RxPY is a Python implementation of the ReactiveX pattern for composing asynchronous and event-driven programs. It models asynchronous data flows as observable sequences that can be transformed, filtered, and combined using a rich set of operators. The library supports both fluent (method-chaining) and functional (pipe-based) syntax, giving developers flexibility in how they structure their code. Programs built with RxPY represent data streams as Observables, apply operators to query and transform those streams, and use Schedulers to control concurrency.
The package is production-stable (Development Status 5), actively maintained with recent releases, and has a substantial operator library. It runs on Python 3.10 through 3.14 and depends only on typing-extensions at runtime, keeping installation friction low. RxPY is a fairly complete port of ReactiveX from other languages, adapted to follow Python naming conventions (snake_case instead of camelCase).
Use it for:
- Build real-time data pipelines that react to incoming events, such as sensor data or user interactions, with automatic filtering and transformation.
- Implement responsive UI or API handlers that need to coordinate multiple asynchronous operations and emit results as they complete.
- Compose complex event streams from multiple sources, merging, debouncing, or throttling them based on time or data conditions.
- Handle backpressure and flow control in systems that produce data faster than it can be consumed.
- Simplify concurrent programming by expressing sequential logic over time-varying data without explicit callbacks or futures.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
RxPY is a library for building asynchronous and event-based programs using observable sequences and composable operators, supporting both fluent method-chaining and functional pipe-based syntax.
Yes. RxPY is a mature, actively maintained library with low install friction, permissive licensing, no known vulnerabilities, and strong community adoption. Install it if you need to model asynchronous or event-driven workflows as composable data streams; it is particularly valuable for real-time systems, reactive UIs, and complex event coordination. The dual syntax support (fluent and functional) makes it adaptable to different coding styles.
Install
reactivex on PyPI
pip
pip install reactivexuv
uv add reactivexpoetry
poetry add reactivexInstalling reactivex
Before you install
Installation is straightforward with low friction; the package has a single lightweight runtime dependency (typing-extensions) and is actively maintained with a recent release (18 days old) and strong community engagement (5019 repository stars).
License in practice
MIT license is permissive, allowing free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install reactivex
import reactivex as rx
from reactivex import operators as ops
source = rx.of(1, 2, 3, 4, 5)
result = source.pipe(
ops.map(lambda x: x * 2),
ops.filter(lambda x: x > 5)
)
result.subscribe(print)
Requires Python 3.10 or above (v5.x does not support earlier versions).
Verify before relying
- Whether the 150+ operators mentioned in the description are all documented and production-ready.
- Performance characteristics and overhead compared to other async frameworks for typical workloads.
- Scheduler behavior and thread-safety guarantees in concurrent scenarios.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — typing-extensions |
| Maintenance | actively maintained — 18 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 10,335,977/month — #1,459 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: reactivex-5.1.0-py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
RxRxPY provides a library for composing…
permissive · top 5,000 on PyPI
pyventusPyventus is a Python library for building…
permissive · top 15,000 on PyPI
aiostreamaiostream provides composable stream operators…
copyleft · top 5,000 on PyPI
flupyFlupy provides a fluent interface for lazy…
permissive · top 5,000 on PyPI
influxdb-clientPython client library for querying and writing…
permissive · top 5,000 on PyPI
observableObservable provides a lightweight event system…
permissive · top 15,000 on PyPI
nr-streamProvides functional-style utilities for Python…
permissive · top 15,000 on PyPI
anyioAnyIO provides a unified asynchronous API that…
permissive · top 100 on PyPI
reflexReflex is a Python framework for building…
permissive · top 15,000 on PyPI
cvxpyCVXPY is a Python modeling language for…
permissive · top 5,000 on PyPI