Simple python events library
Project description
PyEventEmitter
Python events library.
Installation
$ pip install PyEventEmitter
How to use
The library provides an EventEmitter class. This class let you bind listeners to events and trigger events.
import event_emitter as events
em = events.EventEmitter()
def hello(who):
print('Hello {}'.format(who))
em.on('hello', hello)
em.emit('hello', who='World') # prints Hello World
You can also use on decorator :
import event_emitter as events
em = events.EventEmitter()
@events.on(emitter=em, event='hello')
def hello(who):
print('Hello {}'.format(who))
em.emit('hello', who='World') # prints Hello World
Using once instead of on may be usefull if you want your listener to be called once :
import event_emitter as events
em = events.EventEmitter()
def hello(who):
print('Hello {}'.format(who))
em.once('hello', hello)
em.emit('hello', who='World') # prints Hello World
em.emit('hello', who='World') # nothing happens
Of course, their is also a decorator for this :
import event_emitter as events
em = events.EventEmitter()
@events.once(emitter=em, event='hello')
def hello(who):
print('Hello {}'.format(who))
em.emit('hello', who='World') # prints Hello World
You can remove a listener bound to an event :
import event_emitter as events
em = events.EventEmitter()
def hello(who):
print('Hello {}'.format(who))
em.on('hello', hello)
em.remove('hello', hello)
em.emit('hello', who='World') # nothing happens
You can also remove all listeners bound to an event thanks to remove_all.
The count method returns the number of listeners bound to an event :
import event_emitter as events
em = events.EventEmitter()
def hello(who):
print('Hello {}'.format(who))
em.on('hello', hello)
print(em.count('hello')) # prints 1
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
PyEventEmitter-1.0.0.tar.gz
(1.8 kB
view hashes)