Skip to content

ForgeEvent is a lightweight asynchronous event dispatching and handling library It enables clean separation of concerns by allowing you to register and trigger event handlers in a non-blocking way, making it ideal for modern high-performance web applications.

License

Notifications You must be signed in to change notification settings

landygg/forgeevent-py

Repository files navigation

forgeevent

Release Build status codecov Commit activity License

forgeevent is a Python library for event management and dispatching, designed to be simple, flexible, and extensible.


Features

  • Simple and intuitive event registration and dispatching
  • Flexible event handler system
  • Extensible for custom event types and workflows
  • Python 3.12+ support

Installation

pip install forgeevent

Or, for development:

git clone https://github.com/landygg/forgeevent-py.git
cd forgeevent-py
make install

Usage

See the documentation for more examples and API details.

Getting Started for Development

  1. Clone the repository:

    git clone https://github.com/landygg/forgeevent-py.git
    cd forgeevent-py
  2. Install dependencies and pre-commit hooks:

    make install
  3. Run pre-commit hooks:

    uv run pre-commit run -a
  4. Commit any formatting changes:

    git add .
    git commit -m "Fix formatting issues"
    git push origin main

Running Tests

To run all tests:

make test

Or directly with pytest:

uv run pytest

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

  • Report bugs or request features via GitHub Issues.
  • Pull requests should include tests and documentation updates as appropriate.

Repository initiated with fpgmaas/cookiecutter-uv.

About

ForgeEvent is a lightweight asynchronous event dispatching and handling library It enables clean separation of concerns by allowing you to register and trigger event handlers in a non-blocking way, making it ideal for modern high-performance web applications.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published