Evee is an event dispatcher port of the Symfony Event Dispatcher Component. It allows your applications to communicate with one another by dispatching and listening for events.
Project description
evee
=====
[](https://travis-ci.org/onema/evee)
[](https://www.codacy.com/app/onema/evee?utm_source=github.com&utm_medium=referral&utm_content=onema/evee&utm_campaign=Badge_Grade)
[](https://www.codacy.com/app/onema/evee?utm_source=github.com&utm_medium=referral&utm_content=onema/evee&utm_campaign=Badge_Coverage)
[](https://codeclimate.com/github/onema/evee)
[](https://scrutinizer-ci.com/g/onema/evee/?branch=master)
Summary
_______
This is a port for Python `v3.6+` of the Symfony Event Dispatcher.
This event dispatcher follows a pattern called the ["Mediator" pattern](https://sourcemaking.com/design_patterns/mediator).
> In software engineering, the mediator pattern defines an object that encapsulates how a set of objects interact. This pattern is considered to be a behavioral pattern due to the way it can alter the program's running behavior.
Install
--------
`pip install evee`
Usage
--------
### Dispatching simple events
```python
from evee import EventDispatcher
from evee import Event
def pre_foo(self, event: Event, event_name: str):
print("pre_foo was called")
def post_foo(self, event: Event, event_name: str):
print("post_foo was called")
dispatcher = EventDispatcher()
dispatcher.add_listener('pre.foo', pre_foo)
dispatcher.add_listener('post.foo', post_foo)
dispatcher.dispatch('pre.foo')
print('Doo Foo work')
dispatcher.dispatch('post.foo')
```
=====
[](https://travis-ci.org/onema/evee)
[](https://www.codacy.com/app/onema/evee?utm_source=github.com&utm_medium=referral&utm_content=onema/evee&utm_campaign=Badge_Grade)
[](https://www.codacy.com/app/onema/evee?utm_source=github.com&utm_medium=referral&utm_content=onema/evee&utm_campaign=Badge_Coverage)
[](https://codeclimate.com/github/onema/evee)
[](https://scrutinizer-ci.com/g/onema/evee/?branch=master)
Summary
_______
This is a port for Python `v3.6+` of the Symfony Event Dispatcher.
This event dispatcher follows a pattern called the ["Mediator" pattern](https://sourcemaking.com/design_patterns/mediator).
> In software engineering, the mediator pattern defines an object that encapsulates how a set of objects interact. This pattern is considered to be a behavioral pattern due to the way it can alter the program's running behavior.
Install
--------
`pip install evee`
Usage
--------
### Dispatching simple events
```python
from evee import EventDispatcher
from evee import Event
def pre_foo(self, event: Event, event_name: str):
print("pre_foo was called")
def post_foo(self, event: Event, event_name: str):
print("post_foo was called")
dispatcher = EventDispatcher()
dispatcher.add_listener('pre.foo', pre_foo)
dispatcher.add_listener('post.foo', post_foo)
dispatcher.dispatch('pre.foo')
print('Doo Foo work')
dispatcher.dispatch('post.foo')
```
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
evee-0.2.0.tar.gz
(4.6 kB
view hashes)
Built Distribution
evee-0.2.0-py3-none-any.whl
(15.9 kB
view hashes)