pyventus
A Python library for event-driven and reactive programming.
Decision gist · record as of 2026-08-14
Yes. Pyventus is a lightweight, actively maintained library with low install friction, no known vulnerabilities, and a permissive MIT license. It fills a clear niche for event-driven and reactive programming in Python without heavy dependencies. Install it if you need a simple event emitter or observable framework; skip it if your application is already built around a larger framework (Django, FastAPI) that provides its own event handling.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or higher.
- Low friction: pure Python wheel with only typing-extensions as a runtime dependency.
- Active maintenance with recent commits and a stable release history since late 2023.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package provided you include the license notice.
last release 2026-03-01 (166 days) · last repo commit 2026-05-16 · 110 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 540,667 downloads/mo, #6,100 on PyPI
Alternatives
Verify before relying
pip install pyventus
from pyventus.events import AsyncIOEventEmitter, EventLinker
@EventLinker.on("MyEvent")
def handle_event():
print("Event fired")
emitter = AsyncIOEventEmitter()
emitter.emit("MyEvent")- Performance characteristics and benchmarks compared to other event libraries.
- Whether optional integrations (Redis Queue, Celery) are production-ready.
- Scalability limits for high-volume event streams or large subscriber counts.
What it is and what it does
Pyventus provides a decorator-based framework for event-driven programming in Python, letting you subscribe to named events and emit them from anywhere in your code. It supports both synchronous and asynchronous handlers, and works in both sync and async contexts. The library also includes a reactive programming layer with observable tasks and streaming, allowing you to define data sources that yield values over time and subscribe to them with callbacks. Both paradigms are built on a single runtime dependency (typing-extensions) and rely on the Python standard library, making installation lightweight.
The library is designed for developers building asynchronous or event-based applications who want a simple, intuitive API without heavy framework overhead. You can mix sync and async code freely, control how asynchronous work completes (success or error), and organize your codebase around discrete events and their handlers. It's actively maintained, supports Python 3.10 through 3.14, and carries no known security vulnerabilities.
Use it for
- Build loosely-coupled microservices or modular applications where components communicate via named events.
- Implement reactive data pipelines that yield values over time and notify subscribers of changes.
- Create async task orchestration where you emit events to trigger dependent workflows and handle their completion.
- Develop real-time applications (dashboards, live feeds) using observable streams and subscriptions.
- Refactor callback-heavy code into cleaner event-driven patterns with decorators.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Pyventus is a lightweight, actively maintained library with low install friction, no known vulnerabilities, and a permissive MIT license. It fills a clear niche for event-driven and reactive programming in Python without heavy dependencies. Install it if you need a simple event emitter or observable framework; skip it if your application is already built around a larger framework (Django, FastAPI) that provides its own event handling.
Install
pyventus on PyPI
Before you install
Low friction: pure Python wheel with only typing-extensions as a runtime dependency. Active maintenance with recent commits and a stable release history since late 2023.
Requires Python 3.10 or higher.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package provided you include the license notice.
Quickstart
pip install pyventus
from pyventus.events import AsyncIOEventEmitter, EventLinker
@EventLinker.on("MyEvent")
def handle_event():
print("Event fired")
emitter = AsyncIOEventEmitter()
emitter.emit("MyEvent")
Verify before relying
- Performance characteristics and benchmarks compared to other event libraries.
- Whether optional integrations (Redis Queue, Celery) are production-ready.
- Scalability limits for high-volume event streams or large subscriber counts.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagetyping-extensions |
| Maintenance | Actively maintained 166 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 540,667 / month, #6,100 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software DevelopmentTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTyping :: Typed |
Evidence: pyventus-0.8.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
An agent finds packages by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language. Give your agent the search over MCP.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also observable · Rx · pyee · reactivex · pymitter · abxbus · aeventkit · eventkit · bubus · psygnal