https://github.com/trabem/event-dispatcher
Pure Python implementation of an event dispatcher
https://github.com/trabem/event-dispatcher
async asynchronous event-dispatcher event-dispatching event-driven event-driven-programming events python python3 sync
Last synced: 6 months ago
JSON representation
Pure Python implementation of an event dispatcher
- Host: GitHub
- URL: https://github.com/trabem/event-dispatcher
- Owner: trabem
- License: mit
- Created: 2023-07-03T17:13:52.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-07-09T15:53:10.000Z (over 2 years ago)
- Last Synced: 2025-05-25T14:45:36.680Z (7 months ago)
- Topics: async, asynchronous, event-dispatcher, event-dispatching, event-driven, event-driven-programming, events, python, python3, sync
- Language: Python
- Homepage: https://pypi.org/project/event-dispatching/
- Size: 49.8 KB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Event Dispatcher
This repository contains a pure Python implementation of an event dispatcher. The event dispatcher allows you to create a simple event-driven architecture in your Python applications. It allows you to decouple your application components, making your code cleaner and easier to maintain.
## Features
- Pure Python: No external dependencies.
- Simple API: Easy to understand and use.
- Lightweight: Minimal impact on your application's performance.
- Flexible: Can be used in any Python application.
- Asyncio Support: Compatible with Python's built-in asyncio library.
## Installation
You can install the Event Dispatcher using [pip](https://pypi.org/project/event-dispatching/):
```bash
pip install event-dispatching
```
or using poetry
```bash
poetry add event-dispatching
```
## Usage
Here is a basic example of how to use the Event Dispatcher:
```python
import event_dispatcher
# Create an instance of the Event Dispatcher
dispatcher = event_dispatcher.SyncEventDispatcher()
# Define a callback function
def callback(data):
print(f"Event received: {data}")
# Register the callback function for the "test" event
dispatcher.subscribe("test", callback)
# Dispatch the "test" event
dispatcher.dispatch("test", "Hello, World!")
```
When you run this code, it will print:
```
Event received: Hello, World!
```
More usage examples provided [here](https://github.com/trabem/event-dispatcher/tree/main/examples)
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License. See the LICENSE file for details.