Metadata-Version: 2.1
Name: event-dispatching
Version: 0.1.4
Summary: Pure python implementation of event dispatcher
Home-page: https://github.com/trabem/event-dispatcher
License: MIT
Keywords: event-dispatcher,event-dispatching,events,event handling,python,asynchronous,event-driven,event management
Author: Ruslan Saiko
Author-email: ruslan.saiko.dev@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Project-URL: Repository, https://github.com/trabem/event-dispatcher
Description-Content-Type: text/markdown

# 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.

