Tools for backend python services
Project description
Async utilities for backend python services developed by Quantmind.
Documentation: fluid.quantmind.com
Source Code: github.com/quantmind/aio-fluid
Features
- Async workers — composable components with a managed start/stop lifecycle; the building block everything else is built on. See Workers.
- Task scheduler & consumer — declare tasks with a
@taskdecorator, schedule them withevery()or cron expressions, run them concurrently with priorities and concurrency limits, and offload CPU-bound work to subprocesses or Kubernetes Jobs. Backed by a pluggable broker (Redis by default). See Tasks. - Async Postgres CRUD — a typed CRUD layer over
asyncpgand SQLAlchemy, with pagination and schema migrations. See Database. - Event dispatchers — sync and async
Dispatchertypes for decoupling event sources from handlers. See Dispatchers. - HTTP client helpers — a unified async client wrapping
httpxandaiohttp. See HTTP Client. - CLI tooling — ready-made
click/richcommand-line interfaces for task managers and databases.
Installation
This is a python package you can install via pip:
pip install aio-fluid
To install all the dependencies:
pip install aio-fluid[cli, db, http, log, k8s]
this includes the following extra dependencies:
clifor the command line interface using click and richdbfor database support with asyncpg and sqlalchemyhttpfor http client support with httpx and aiohttplogfor JSON logging support with python-json-loggerk8sfor Kubernetes support for CPU bound tasks
Development
You can run the examples via
uv run python -m examples
We use uv as a development tool to run the examples and tests, but you can also use python directly if that's your preference.
License
This project is licensed under the BSD License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aio_fluid-2.2.6.tar.gz.
File metadata
- Download URL: aio_fluid-2.2.6.tar.gz
- Upload date:
- Size: 760.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b761ecefc065c786f8f110b164aa68ef54b65e4d7d5b271576c0e7601bc973d5
|
|
| MD5 |
ebaadd5340c7cb27a587ed757739c748
|
|
| BLAKE2b-256 |
bbbd6cdaccadf4420c33ff14e19bb4bb438972f277724344f18b2d2e2b4fdb6d
|
File details
Details for the file aio_fluid-2.2.6-py3-none-any.whl.
File metadata
- Download URL: aio_fluid-2.2.6-py3-none-any.whl
- Upload date:
- Size: 67.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f83861edcc3e93a91024cc2ceff3cddf7580f3859bd1783b096361a17be5279
|
|
| MD5 |
8f73286b6bb4a4746918ee1b322cd4d5
|
|
| BLAKE2b-256 |
d94ebf1e42031be775bca007419cd5ddd4c4fd2c227a577096eee95b32ff2492
|