blinker
Fast, simple object-to-object and broadcast signaling
Install
blinker on PyPI
pip
pip install blinkeruv
uv add blinkerpoetry
poetry add blinkerPackage facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 643 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: blinker-1.9.0-py3-none-any.whl
About blinker
from the package's own PyPI description — quoted content, verbatim
Blinker
Blinker provides a fast dispatching system that allows any number of interested parties to subscribe to events, or "signals".
Pallets Community Ecosystem
> [!IMPORTANT]\ > This project is part of the Pallets Community Ecosystem. Pallets is the open > source organization that maintains Flask; Pallets-Eco enables community > maintenance of related projects. If you are interested in helping maintain > this project, please reach out on [the Pallets Discord server][discord]. > > [discord]: https://discord.gg/pallets
Example
Signal receivers can subscribe to specific senders or receive signals sent by any sender.
>>> from blinker import signal
>>> started = signal('round-started')
>>> def each(round):
... print(f"Round {round}")
...
>>> started.connect(each)
>>> def round_two(round):
... print("This is round two.")
...
>>> started.connect(round_two, sender=2)
>>> for round in range(1, 4):
... started.send(round)
...
Round 1!
Round 2!
This is round two.
Round 3!
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Blinker provides a fast event dispatching system that lets any number of subscribers listen to and react to named signals, with support for sender-specific or broadcast subscriptions.
Installation is frictionless—pure Python wheel with no runtime dependencies. Maintenance is aging (643 days since last release) but the repository remains active with recent commits and 2086 stars; the project is part of the Pallets Community Ecosystem backing Flask.
Licensed under the permissive MIT license, allowing unrestricted use, modification, and distribution in both open and proprietary projects with minimal obligations.
Usage
pip install blinker==1.9.0
from blinker import signal
started = signal('round-started')
started.connect(lambda round: print(f"Round {round}"))
started.send(1)
Requires Python 3.9 or later.
Verdict: Blinker is a mature, zero-dependency signal library suitable for event-driven architectures. No known vulnerabilities, permissive licensing, and top-1000 popularity make it a safe choice; aging maintenance is offset by active repository stewardship under the Pallets Community Ecosystem.
Needs verification
- Whether the 643-day gap since last release reflects deliberate stability or reduced maintenance capacity.
- Performance characteristics and scalability limits for high-volume signal dispatch scenarios.
Similar packages
unclear · top 1,000 on PyPI
Eventspermissive · top 1,000 on PyPI
Flask-SQLAlchemypermissive · top 1,000 on PyPI
jupyter-eventspermissive · top 1,000 on PyPI
azure-servicebusunclear · top 1,000 on PyPI
realtimepermissive · top 1,000 on PyPI
aiosignalpermissive · top 100 on PyPI
langchain-corepermissive · top 1,000 on PyPI
Flaskpermissive · top 1,000 on PyPI
Werkzeugpermissive · top 1,000 on PyPI