$npx skillfedfor your agent

blinker

Fast, simple object-to-object and broadcast signaling

Worth itPyPI Released Nov 2024192.1M downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — blinker-1.9.0-py3-none-any.whl
v1.9.0 · released 2024-11-08 · Python >=3.9

Yes. Blinker is a stable, zero-dependency library maintained by a reputable organization (Pallets), with no known vulnerabilities and permissive licensing. It solves a real problem (decoupled event dispatch) with minimal friction. Install it if you need event signaling; skip it only if your application has no use for observer-pattern communication.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.9 or later.
  • Installation is straightforward with no runtime dependencies.
  • The package is in Production/Stable status and maintained by the Pallets Community Ecosystem (Flask's organization), with a recent release in November 2024 and active repository.

License · maintenance · safety

permissive license (permissive) — Licensed under MIT (permissive), so you can use, modify, and distribute blinker freely in commercial or private projects with minimal restrictions.

last release 2024-11-08 (644 days) · last repo commit 2025-11-19 · 2,086 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 192,139,559 downloads/mo, #214 on PyPI

Verify before relying

from blinker import signal

started = signal('round-started')

def handler(round):
    print(f"Round {round}")

started.connect(handler)
started.send(1)
Same gist for agents: .md · .json

What it is and what it does

Blinker is a fast, simple event-dispatching library that implements the observer pattern for Python. It lets you create named signals that multiple subscribers can listen to, with the ability to filter by sender or receive broadcasts from any sender. The library has no runtime dependencies and is designed for low overhead, making it suitable for embedding in frameworks or applications that need decoupled event communication.

Typical use cases include framework hooks (like Flask's request lifecycle signals), plugin systems where components need to react to application events, and any architecture where you want to decouple event producers from consumers. You define a signal by name, connect handler functions to it, and send events through it—subscribers are notified synchronously in the order they connected.

Use it for

  • Implement Flask-style request/response hooks and lifecycle signals in web frameworks or applications.
  • Build plugin architectures where components react to application events without direct coupling.
  • Create inter-module communication in large applications without tight dependencies between modules.
  • Add event notification to object models so other code can react to state changes or actions.
  • Implement undo/redo or audit logging by having multiple listeners subscribe to the same signal.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

Blinker is a stable, zero-dependency library maintained by a reputable organization (Pallets), with no known vulnerabilities and permissive licensing. It solves a real problem (decoupled event dispatch) with minimal friction. Install it if you need event signaling; skip it only if your application has no use for observer-pattern communication.

Install

blinker on PyPI

Before you install

Installation is straightforward with no runtime dependencies. The package is in Production/Stable status and maintained by the Pallets Community Ecosystem (Flask's organization), with a recent release in November 2024 and active repository.

Requires Python 3.9 or later.

License in practice

Licensed under MIT (permissive), so you can use, modify, and distribute blinker freely in commercial or private projects with minimal restrictions.

Quickstart

from blinker import signal

started = signal('round-started')

def handler(round):
    print(f"Round {round}")

started.connect(handler)
started.send(1)

Package facts

Licensepermissive license permissive
Python supportSupports the current Python release >=3.9
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceAging 644 days since the last release
Last repo commit
First released
Downloads192,139,559 / month, #214 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonTyping :: Typed

Evidence: blinker-1.9.0-py3-none-any.whl

Tags

Capabilities
event dispatching systemsignal subscription librarypublish-subscribe messagingobject-to-object signalingbroadcast event systemobserver pattern implementationevent listener framework
Topics
event-dispatchobserver-patternsignals

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 › “event dispatching system”

  • blinkerBlinker provides a lightweight event dispatching system that lets any…
  • PyPyDispatcherPyPyDispatcher implements a multi-producer-multi-consumer signal…
  • fastapi-eventsFastapi-events is an event dispatching and handling library for…

Give your agent the search over MCP, or paste the wish link into any chat.

Similar packages

lcm With conditions
PyPI · Communications · released Oct 2025

LCM provides publish/subscribe message passing and automatic data marshalling for real-time inter-process communication with low latency and high bandwidth efficiency.

license unclearcompiled wheel · 3.7+aging
139.5Kdownloads / mo
psygnal Worth it
PyPI · Software Development · released Jan 2026

Psygnal implements the observer pattern with a Qt-style signals API, allowing objects to emit events that connected callbacks can listen to, with optional type checking and threading support.

BSD-3-Clausepure Python · 3.10+
4.1Mdownloads / mo
PyDispatcher With conditions
PyPI · Python Modules · released Feb 2023

PyDispatcher implements a signal-dispatch system where multiple producers can send signals that multiple consumers listen for and handle via registered callbacks.

BSD-3-Clausepure Pythondormant
3.4Mdownloads / mo
Pypubsub Worth it
PyPI · Python Modules · released Dec 2025

Provides a publish-subscribe messaging system for event-driven architecture within a single Python process, where publishers send messages to named topics and subscribers receive them.

permissive licensepure Python · 3.7+
324.0Kdownloads / mo
PyPyDispatcher Skip
PyPI · Python Modules · released Jul 2017

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

BSD-3-Clausebuilds from sourceabandoned
214.5Kdownloads / mo
zthreading Skip
PyPI · Application Frameworks · released Jun 2022

Provides event-driven communication and task management for Python threads and asyncio, with decorators for signal handling and call batching.

license unclearpure Python · 3.6+abandoned
695.3Kdownloads / mo

See also zope.event · dumb-init · django-signal-webhooks · watchdog-gevent