$npx skillfedfor your agent

pyee

A rough port of Node.js's EventEmitter to Python with a few tricks of its own

Worth itPyPI Other/Nonlisted TopicReleased Aug 202687.1M downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — pyee-14.0.0-py3-none-any.whl
v14.0.0 · released 2026-08-13 · Python >=3.12 · 1 runtime deps: typing-extensions

Yes. pyee is a mature, actively maintained library with low install friction, no security vulnerabilities, and a permissive license. It's well-suited for any Python project needing event-driven patterns, especially those familiar with Node.js or requiring async/threaded event coordination. The recent release and stable maintenance history make it a reliable choice.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.12 or later.
  • Low install friction with a single lightweight dependency (typing-extensions).
  • The package is actively maintained with a recent release (1 day old) and has been stable since 2011, suggesting a mature, well-established library.

License · maintenance · safety

MIT (permissive) — MIT license is permissive and poses no significant restrictions—you can use, modify, and distribute pyee freely in commercial and private projects with minimal obligations.

last release 2026-08-13 (1 days) · last repo commit 2026-08-13 · 429 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 87,149,660 downloads/mo, #388 on PyPI

Verify before relying

pip install pyee

from pyee import EventEmitter

ee = EventEmitter()

@ee.on('event')
def handler(data):
    print(data)

ee.emit('event', 'hello')
  • Whether async subclasses (e.g., AsyncIOEventEmitter) are documented or available in the current version.
  • Performance characteristics when handling high-frequency events or many concurrent listeners.
Same gist for agents: .md · .json

What it is and what it does

pyee is a Python port of Node.js's EventEmitter, providing a familiar event-driven programming model for Python developers. It lets you register listeners on named events and emit those events with data, triggering all registered handlers. The library includes specialized subclasses for async/await patterns and threaded execution, making it useful for building event-driven applications that need to coordinate work across multiple execution contexts.

The package is lightweight, depending only on typing-extensions, and supports modern Python versions (3.12+). It's been in active development since 2011 and maintains a stable API, making it a low-risk choice for projects that want to adopt event-driven patterns without heavy framework overhead.

Use it for

  • Build event-driven applications where components communicate via named events rather than direct function calls.
  • Implement pub-sub patterns in Python applications, particularly when porting code from Node.js projects.
  • Coordinate asynchronous tasks using async/await with event listeners and emitters.
  • Create plugin or hook systems where multiple handlers can respond to the same application events.
  • Handle threaded event dispatch when you need event listeners to run in separate threads.

Worth the install?

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

Worth it

Yes.

pyee is a mature, actively maintained library with low install friction, no security vulnerabilities, and a permissive license. It's well-suited for any Python project needing event-driven patterns, especially those familiar with Node.js or requiring async/threaded event coordination. The recent release and stable maintenance history make it a reliable choice.

Install

pyee on PyPI

Before you install

Low install friction with a single lightweight dependency (typing-extensions). The package is actively maintained with a recent release (1 day old) and has been stable since 2011, suggesting a mature, well-established library.

Requires Python 3.12 or later.

License in practice

MIT license is permissive and poses no significant restrictions—you can use, modify, and distribute pyee freely in commercial and private projects with minimal obligations.

Quickstart

pip install pyee

from pyee import EventEmitter

ee = EventEmitter()

@ee.on('event')
def handler(data):
    print(data)

ee.emit('event', 'hello')

Verify before relying

  • Whether async subclasses (e.g., AsyncIOEventEmitter) are documented or available in the current version.
  • Performance characteristics when handling high-frequency events or many concurrent listeners.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release >=3.12
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
typing-extensions
MaintenanceActively maintained 1 days since the last release
Last repo commit
First released
Downloads87,149,660 / month, #388 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Other/Nonlisted Topic

Evidence: pyee-14.0.0-py3-none-any.whl

Tags

Capabilities
event emitter pythonnode.js eventemitter portasync event handlingevent-driven architecturepython event systemevent listener patternthreaded event emitter
Topics
event-drivenasync-supportpub-sub
PyPI keywords
eventsemitternode.jsnodeeventemitterevent_emitter

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 emitter python”

  • pyeepyee provides an EventEmitter class for Python that mimics Node.js's…
  • pymitterAn event emitter library that lets you register handlers for named…
  • slackeventsapiReceives and parses events from Slack's Events API using an event…

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

More Other/Nonlisted Topic packages

tqdm Worth it
PyPI · Libraries · released Jul 2026

Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.

copyleftpure Python · 3.8+
648.6Mdownloads / mo
progressbar2 Worth it
PyPI · Libraries · released Aug 2026

progressbar2 renders text-based progress bars in the terminal, handling custom widgets, concurrent bars, unknown-length progress, and clean output around logs and prints.

BSD-3-Clausepure Python · 3.10+
19.3Mdownloads / mo
premailer With conditions
PyPI · Python Modules · released Aug 2021

Converts CSS style blocks into inline style attributes on HTML elements, making HTML suitable for email clients that don't support style tags.

permissive licensepure Pythondormant
5.0Mdownloads / mo
shtab Worth it
PyPI · Software Development · released Aug 2026

Generates shell tab completion scripts for Python CLI applications built with argparse, supporting bash, zsh, fish, and tcsh without runtime overhead.

Install it if you build Python command-line tools and want to offer your users fast, reliable shell completion.

copyleftpure Python · 3.9+
4.6Mdownloads / mo
emails Worth it
PyPI · Python Modules · released May 2026

Build and send HTML and plain-text emails with attachments, inline images, template rendering, and DKIM signing through a high-level Python API.

Install it if you need to send HTML emails, attach files, render templates, or sign with DKIM—features that would otherwise require substantial boilerplate.

Apache-2.0pure Python · 3.10+
796.0Kdownloads / mo
jpholiday Worth it
PyPI · Python Modules · released Dec 2025

Queries Japanese national holidays and substitute holidays based on official government data, with methods to check if a date is a holiday, retrieve holiday names, and list holidays by date range, year, or month.

Install it if you need reliable Japanese holiday lookups.

MITpure Python · 3.9+
679.6Kdownloads / mo

See also pymitter · pyventus · slackeventsapi · abxbus · Events · zthreading · aeventkit · eventkit · fabricatio · rel