Skip to main content

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
=====

[![Build Status](https://travis-ci.org/onema/evee.svg?branch=master)](https://travis-ci.org/onema/evee)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/51bb12b95a434798b8044e301659ea85)](https://www.codacy.com/app/onema/evee?utm_source=github.com&utm_medium=referral&utm_content=onema/evee&utm_campaign=Badge_Grade)
[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/51bb12b95a434798b8044e301659ea85)](https://www.codacy.com/app/onema/evee?utm_source=github.com&utm_medium=referral&utm_content=onema/evee&utm_campaign=Badge_Coverage)
[![Code Climate](https://codeclimate.com/github/onema/evee/badges/gpa.svg)](https://codeclimate.com/github/onema/evee)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/onema/evee/badges/quality-score.png?b=master)](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


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 details)

Uploaded Source

Built Distribution

evee-0.2.0-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file evee-0.2.0.tar.gz.

File metadata

  • Download URL: evee-0.2.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/36.2.7 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.2

File hashes

Hashes for evee-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c62ceeb5391a6268712bfb47ba876064c3387911f00c4b1515180be461545503
MD5 7d16d7232cee7117a16ea28e68750f04
BLAKE2b-256 f3b0ece07628dd92ed84b78203a2f9f2bb3e3d126ec56b8689666cca2153bdfc

See more details on using hashes here.

File details

Details for the file evee-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: evee-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/36.2.7 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.2

File hashes

Hashes for evee-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 14c8ca2e36e35923737e2f869428565f74c937e55ff8517eacdccfd11f509880
MD5 af6b89e8ab2c8a89b802be1f3b8322c7
BLAKE2b-256 0c894cb7ea725b1ce1b0296a7855a8031bd26990cbeefecb1874f2bb1c7a117a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page