aioflows
Asynchronous actors framework
Documentation: https://aioflows.github.io
Source: https://github.com/apatrushev/aioflows
This project aims to create a support library for constructing asynchronous applications in Python, using the concept of structured data flows and actors. The current phase is purely a proof-of-concept and serves as a basis for discussion with colleagues and the community. It is not intended for use in any production or personal projects.
Minimal working example
import asyncio
from aioflows.simple import Printer, Ticker
async def start():
await (Ticker() >> Printer()).start()
asyncio.run(start())
Udp echo example
import asyncio
from aioflows.network import Udp
from aioflows.simple import Printer, Tee
async def start():
udp = Udp(local_addr=('127.0.0.1', 5353), reuse_port=True)
await (udp >> Tee(Printer()) >> udp).start()
asyncio.run(start())
You can test it with socat:
socat - UDP:localhost:5353
Other examples
More examples can be found in src/examples.
Installation
- local
pip install .
- editable
pip install -e .
- development
pip install -e .[dev]
- examples dependencies
pip install -e .[examples]
- all together
pip install -e .[dev,examples]
- from github
pip install git+https://github.com/apatrushev/aioflows.git
Usual development steps
Run checks and tests:
inv isort flake test
Run examples (all ERRORCODE's should be 0/OK or timeout at the moment):
inv examples | grep ERRORCODE
Similar projects
I found existing solutions that are almost equal to this concept:
Metadata
Release files for aioflows 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aioflows-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for aioflows-0.2.0-py3-none-any.whl |
Release files / aioflows-0.2.0-py3-none-any.whl
| Download URL | aioflows-0.2.0-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
70201e3e1e6e480b3dba72de790389d0ce2b090f9cf0ce4aecdc8e2453ad420c
|
|
BLAKE2b-256 checksum How to use checksums |
9ae847ffe1bb1f59fc74ccea463d7a3758fa6445bb4a4cb4f689b4d0c8c7d206
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|
Security for aioflows 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.