Python data flows library to build structured applications
Project description
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:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file aioflows-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: aioflows-0.2.0-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70201e3e1e6e480b3dba72de790389d0ce2b090f9cf0ce4aecdc8e2453ad420c |
|
MD5 | 13298c12d9aa86f043ca6328aaded1ff |
|
BLAKE2b-256 | 9ae847ffe1bb1f59fc74ccea463d7a3758fa6445bb4a4cb4f689b4d0c8c7d206 |