A port of node.js's primus/eventemitter3 to python. Based on jfhbrook/pyee.
Project description
pyee2
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyee2-2.0.0.tar.gz
(4.3 kB
view details)
Built Distribution
File details
Details for the file pyee2-2.0.0.tar.gz
.
File metadata
- Download URL: pyee2-2.0.0.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 112cad20596ccffef8fd4c227b74a3940a40672d6b710f75e507cc1b73844755 |
|
MD5 | fd70e4dc9f02adf1b6035eafbcd7b010 |
|
BLAKE2b-256 | be23aaaa9e595a2baf40697657f899ec9890b2a9fbb89cda1af211ac2238d136 |
File details
Details for the file pyee2-2.0.0-py2.py3-none-any.whl
.
File metadata
- Download URL: pyee2-2.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31db00c31b8b043fb442a4760f86c12d758f3ce18bea5bf1526ecd9984bc0c44 |
|
MD5 | 84f40eccbd28a92ee3d071563cdb0ac5 |
|
BLAKE2b-256 | 53d4a9bf92869dd79aaaa185650c214b3991c1170c88926596711dc19307dfa2 |