skillfed

PyPyDispatcher

Multi-producer-multi-consumer signal dispatching mechanism

pypydispatcher v2.1.2 214.5K downloads/30d#9,415 on PyPI16
Permissive license BSD Abandoned released

What it is and what it does

PyPyDispatcher is a fork of the original PyDispatcher library that adds PyPy runtime support. It provides a signal-dispatching system where multiple producers can emit named signals and multiple consumers (receivers) can register to listen for those signals, enabling loosely coupled communication patterns in Python applications.

The package is a drop-in replacement for PyDispatcher with the same API. It has no runtime dependencies and works by connecting receiver functions to signals identified by a name and sender. However, the package has been unmaintained since 2017-07-03 and receives no active development or security updates.

Use it for:

  • Implement event-driven architectures where components need to communicate without direct coupling.
  • Build plugin systems where plugins register handlers for application-wide signals.
  • Create observer patterns in applications that require signal propagation.
  • Decouple business logic from UI or logging layers through signal dispatch.
  • Manage multi-producer scenarios where many sources emit the same event type.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

PyPyDispatcher implements a multi-producer-multi-consumer signal dispatching mechanism, allowing decoupled components to communicate through named signals and receiver registration.

No. The package is abandoned (last release 2017-07-03) with no maintenance or security updates. High install friction (source-only distribution) and unspecified Python version support compound the risk. Unless you are maintaining legacy code already using PyPyDispatcher, consider modern alternatives.

Install

pypydispatcher on PyPI

pip

pip install pypydispatcher

uv

uv add pypydispatcher

poetry

poetry add pypydispatcher

Installing PyPyDispatcher

Before you install

High install friction due to source distribution only. Package is abandoned—last release was 2017-07-03, with no maintenance activity since.

License in practice

BSD license is permissive; you may use, modify, and distribute this package freely with minimal restrictions, provided you include the license notice.

Quickstart

pip install PyPyDispatcher

import PyPyDispatcher

# Register a receiver for a signal
def my_receiver(sender):
    print(f"Received signal from {sender}")

Verify before relying

  • Actual Python version compatibility beyond 'unspecified'—PyPy support was added but modern Python 3 support is unclear.
  • Whether this package remains suitable as a drop-in replacement for PyDispatcher given its abandonment since 2017.
  • Current usability with modern Python interpreters and dependency ecosystems.

Package facts

License BSD (permissive)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance abandoned — 3,329 days since the last release
Last repo commit
First released
Downloads 214,530/month — #9,415 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: PyPyDispatcher-2.1.2.tar.gz

Keywords: dispatcher, dispatch, pydispatch, event, signal, sender, receiver, propagate, multi-consumer, multi-producer, saferef, robustapply, apply

Intended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Software Development :: Libraries :: Python Modules

Tags

signal dispatcherevent dispatchingmulti-producer multi-consumersignal propagationreceiver registrationdecoupled messagingpydispatcher fork
event-drivenabandoned

More Python Modules packages