Metadata-Version: 2.1
Name: messagebus
Version: 0.16.0
Summary: Lightweight message bus library designed for event-driven architectures.
Keywords: event-driven,microservice,CQRS
Author-Email: Guillaume Gauvrit <guillaume@gauvr.it>
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Project-URL: Homepage, https://github.com/mardiros/messagebus
Project-URL: Documentation, https://mardiros.github.io/messagebus
Project-URL: Repository, https://github.com/mardiros/messagebus.git
Project-URL: Issues, https://github.com/mardiros/messagebus/issues
Project-URL: Changelog, https://mardiros.github.io/messagebus/user/changelog.html
Requires-Python: >=3.10
Requires-Dist: lastuuid>=0.1.1
Requires-Dist: pydantic<3,>=2.5.0
Requires-Dist: tamahagane<0.3,>=0.2
Provides-Extra: docs
Requires-Dist: sphinx>=7.0.0; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints<2,>=1.12.0; extra == "docs"
Requires-Dist: furo>=2024.8.6; extra == "docs"
Provides-Extra: prometheus
Requires-Dist: prometheus-client<1,>=0.17.0; extra == "prometheus"
Description-Content-Type: text/x-rst

==========
messagebus
==========

.. image:: https://github.com/mardiros/messagebus/actions/workflows/publish-doc.yml/badge.svg
   :target: https://mardiros.github.io/messagebus/
   :alt: Doc

.. image:: https://github.com/mardiros/messagebus/actions/workflows/tests.yml/badge.svg
   :target: https://github.com/mardiros/messagebus/actions/workflows/tests.yml
   :alt: Continuous Integration

.. image:: https://codecov.io/gh/mardiros/messagebus/branch/main/graph/badge.svg?token=BKUM2G3YSR
   :target: https://codecov.io/gh/mardiros/messagebus
   :alt: Coverage Report


messagebus is a library crafted for sending messages on a bus, providing foundational classes
for event-driven development and Domain-Driven Design.

It includes a comprehensive registration system that utilizes decorators and handlers
to dispatch events effectively.

messagebus is used for internal messaging inside a python program, but also,
with external services that can consume messages throw an event stream,
where message can be published to a given transport.

messagebus supports both asynchronous operations using async/await and a synchronous API.

.. note::
    The synchronous API is generated by unasync from the asynchronous api.
