PyDispatcher
Multi-producer multi-consumer in-memory signal dispatch system
Decision gist · record as of 2026-08-14
Yes, if you need a lightweight, zero-dependency signal-dispatch mechanism and accept that the project is no longer actively maintained. The code is stable and battle-tested, making it suitable for production use in applications that don't require ongoing updates. Avoid it if you need active maintenance, bug fixes, or support for the latest Python features.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Installation is straightforward with no runtime dependencies.
- The package is dormant—last release was 2023-02-17 and last commit 2024-05-15—so expect no active maintenance or bug fixes, though the codebase is stable enough for production use in established projects.
License · maintenance · safety
BSD (permissive) — BSD license is permissive, allowing commercial and private use with minimal restrictions; you may use and modify freely provided you retain the license notice.
last release 2023-02-17 (1274 days) · last repo commit 2024-05-15 · 40 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,380,967 downloads/mo, #2,644 on PyPI
Alternatives
Verify before relying
pip install PyDispatcher
from pydispatcher import dispatcher
def callback(event=None):
print("Signal received", event)
metaKey = "moo"
MyNode = object()
dispatcher.connect(callback, sender=MyNode, signal=metaKey)
dispatcher.send(metaKey, MyNode, event={"sample": "event"})- Whether the package works reliably with modern Python versions beyond those listed in classifiers (Python 2 and 3 are noted but no specific versions given).
- Performance characteristics under high-volume signal dispatch or with many registered callbacks.
- Current stability and reliability in production systems given dormant maintenance status.
What it is and what it does
PyDispatcher is a lightweight in-memory signal-dispatch library that decouples event producers from event consumers through a registration and routing mechanism. You register callback functions to listen for signals identified by a key and sender, then dispatch signals from anywhere in your code; all registered listeners for that signal-sender pair are invoked with the event data.
The library originated as a Python Cookbook recipe and is now used as the foundation for signal systems in other frameworks. It has no runtime dependencies and installs cleanly. However, the project is dormant—the last release was 2023-02-17 and the last commit was 2024-05-15—so it receives no active maintenance or new features, though the core mechanism is stable.
Use it for
- Decouple application components by having them communicate via signals rather than direct function calls or imports.
- Build event-driven architectures where multiple handlers need to react to the same application event.
- Implement plugin systems where plugins register callbacks for application lifecycle or data events.
- Create observer patterns in frameworks to notify multiple listeners when underlying data changes.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need a lightweight, zero-dependency signal-dispatch mechanism and accept that the project is no longer actively maintained.
The code is stable and battle-tested, making it suitable for production use in applications that don't require ongoing updates. Avoid it if you need active maintenance, bug fixes, or support for the latest Python features.
Install
pydispatcher on PyPI
Before you install
Installation is straightforward with no runtime dependencies. The package is dormant—last release was 2023-02-17 and last commit 2024-05-15—so expect no active maintenance or bug fixes, though the codebase is stable enough for production use in established projects.
License in practice
BSD license is permissive, allowing commercial and private use with minimal restrictions; you may use and modify freely provided you retain the license notice.
Quickstart
pip install PyDispatcher
from pydispatcher import dispatcher
def callback(event=None):
print("Signal received", event)
metaKey = "moo"
MyNode = object()
dispatcher.connect(callback, sender=MyNode, signal=metaKey)
dispatcher.send(metaKey, MyNode, event={"sample": "event"})
Verify before relying
- Whether the package works reliably with modern Python versions beyond those listed in classifiers (Python 2 and 3 are noted but no specific versions given).
- Performance characteristics under high-volume signal dispatch or with many registered callbacks.
- Current stability and reliability in production systems given dormant maintenance status.
Package facts
| License | BSD permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Dormant 1,274 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,380,967 / month, #2,644 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 :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Software Development :: Libraries :: Python Modules |
Evidence: PyDispatcher-2.0.7-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “signal dispatch system”
- PyDispatcherPyDispatcher implements a signal-dispatch system where multiple…
- PypubsubProvides a publish-subscribe messaging system for event-driven…
- PyPyDispatcherPyPyDispatcher implements a multi-producer-multi-consumer signal…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also blinker · PyPyDispatcher · pyeventsystem · Events · aiosignal · pysignalclirestapi · psygnal · Pypubsub · multiprocess · zope.event