Skip to main content

A port of node.js's primus/eventemitter3 to python. Based on jfhbrook/pyee.

Project description

pyee2

Code style: black

pyee2 is the primus/eventemitter3 EventEmitter implementation ported to python with inspiration from jfhbrook/pyee.

pyee2:

  • Does not raise or emit an error event when your listener raises an error and no one is listening for the "error" event. That is to say pyee2 catches all errors raised by event listeners and only emits an error if there are listeners for the "error" event.
  • The only time an exception is raised from an "emit" function is if EventEmitter.raising_emit is used to emit the event.
  • Does not not emit an event when a new listener is added or removed.
  • Only supports function or functions that return awaitables (coroutine, future, task) as event listeners. The test for awaitableness is done via "inspect.isawaitable"
from pyee2 import EventEmitter

ee = EventEmitter()

@ee.on("event")
def handler(arg, data=3):
    print(f"handler called arg={arg} data={data}")

ee.emit("event", 1, data=2)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyee2, version 2.0.0
Filename, size File type Python version Upload date Hashes
Filename, size pyee2-2.0.0-py2.py3-none-any.whl (6.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size pyee2-2.0.0.tar.gz (4.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page