skillfed

blinker

Fast, simple object-to-object and broadcast signaling

blinker Permissive license AGING 2,086 v1.9.0 released

Install

blinker on PyPI

pip

pip install blinker

uv

uv add blinker

poetry

poetry add blinker

Package 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

Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonTyping :: Typed

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!

Read as markdown · JSON record · Source repository · Docs

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.
event dispatching systemsignal subscription librarypublish subscribe messagingobserver pattern pythonevent broadcastingsignal emitterdecoupled event handling

Similar packages