Installation¶
These instructions target Async Batcher 0.3.0, which requires Python 3.11 or newer. Check the shared release notes for publication status. The documentation banner identifies release, prerelease, and development pages; use the version matching your package.
Install the package¶
In your application's virtual environment:
python -m pip install 'async-batcher==0.3.0'
With a uv-managed application:
uv add 'async-batcher==0.3.0'
The core has no runtime dependencies. Run Python examples with python demo.py,
or uv run python demo.py in a uv-managed application. You do not need to clone
this repository to use the core API or adapters. See your first batch.
For an upgrade, read migration from 0.2.2, keep the extras your application needs, and test its configuration, shutdown, and backend error handling.
Optional adapters¶
Install only the clients you need; importing the core does not import optional SDKs. For example:
python -m pip install 'async-batcher[aws]==0.3.0'
# Or in a uv-managed application:
uv add 'async-batcher[aws]==0.3.0'
| Extra | Operations and requirements |
|---|---|
aws |
DynamoDB, Kinesis and Firehose; configure AWS credentials and region |
sqlalchemy |
SQLAlchemy 2 database writes; also install your dialect's async driver |
scylla |
ScyllaDB writes; configure a cqlengine connection |
mongodb |
MongoDB writes using an application-owned asynchronous client |
kafka |
Kafka producer batches; configure the broker and caller-owned producer |
pinecone |
Pinecone vector operations; configure the compatible index and namespace |
keras |
Keras inference; install a compatible backend separately |
sklearn |
scikit-learn inference with a fitted estimator |
Combine extras when needed, for example 'async-batcher[aws,kafka]==0.3.0'.
Each guide specifies resource ownership, response mapping, and failure behavior.
The repository's test and example dependency groups are contributor tools, not package extras.
Run the repository recipes¶
The runnable modules under examples/recipes/ and the older applications under
examples/ are repository examples. They are not installed by the wheel.
To run them, obtain the source matching the docs, then use its locked environment:
git clone https://github.com/hussein-awala/async-batcher.git
cd async-batcher
git checkout --detach 6374bed2c849f91dcd10f6c3424ba278c8a1cfc5
uv sync --locked --no-default-groups --python 3.12
Published documentation pins this checkout command to its exact source commit.
When reading the Markdown directly on GitHub, choose the published tag or a reviewed
commit. The 0.3.0 tag becomes available when that release is published. A development
preview can use the source commit linked in its banner before the tag exists.
Run a recipe from the repository root, for example:
uv run --no-sync python -m examples.recipes.sqlite_stream --help
Follow the selected guide's additional sync command for HTTP or provider dependencies.
uv sync replaces the selected environment; uv run --no-sync keeps it unchanged.
Legacy Keras/gRPC applications have separate README instructions and environments.
Core and adapter application code can use the PyPI package without these example files.
Develop or test the library¶
Source builds, tests, typing checks, live service setup, and documentation previews
are described in Contributing. Those workflows use uv and
uv.lock; they are separate from installing the library into an application.