Async Nexus

https://img.shields.io/pypi/v/async_nexus.svg Documentation Status

This is a library to manage the transfer of data using lightweight Event objects in asynchronous Python programs. It allows the creation of loosely-coupled programs using async coroutines and generators to create/handle events. This replaces the need for traditional callbacks and code that blocks waiting for something to happen, both of which increase coupling between modules (which is bad in medium and large programs).

The Async Nexus library (henceforth referred to by its package name) provides convenience classes for common event-related activities such as async_nexus.Timer. It also provides various abstract async_nexus.EventSource subclasses to allow the creation of application-specific classes that translate problem-domain events into async_nexus.Event objects, as well as fully usable classes for interacting with libraries like 0mq (ZeroMQ) and other message brokers.

async_nexus is designed to let you structure your programs and their interactions in the way that you want. It uses a pluggable event architecture with which you can change the way that events are created and consumed, and add a variety of ultimate sources, without having to redesign your program as it grows.

Features

  • TODO

Credits

(C)2025 Alastair Irvine <alastair@plug.org.au>

This package was created with Cookiecutter and the unixnut/cookiecutter-pypackage project template.