aimz: Scalable probabilistic impact modeling
Installation | User Guide | Examples | FAQs | Changelog
Overview
aimz is a Python library for scalable probabilistic impact modeling: estimating how interventions affect outcomes while quantifying uncertainty.
It provides a high-level, object-oriented interface on top of NumPyro and JAX for building, fitting, and scaling Bayesian models: a user-defined NumPyro model is wrapped as a "kernel" inside a single class, augmented with capabilities for scalable predictive sampling, structured outputs, and experiment tracking.
Key capabilities
- Object-oriented interface for NumPyro models:
Bring any NumPyro model as a "kernel" and access
fit,predict,sample, and related methods through a single class; aimz does not enforce a fixed architecture. - Scalable predictive sampling: JIT-compiled, sharded sampling streams results to chunked Zarr stores (or accumulates them in memory), enabling large-scale posterior predictive simulations that do not need to fit in memory.
- Structured outputs: Predictions, samples, and effect estimates are materialized as Xarray objects backed by Zarr or host memory, integrating cleanly with the scientific Python ecosystem.
- Intervention handling and impact modeling: Specify interventions declaratively and estimate effects from posterior predictive distributions.
- Experiment tracking: MLflow integration for logging runs, parameters, metrics, and model artifacts with full lineage.
Installation
Install aimz using either pip or conda:
pip install -U aimz
conda install -c conda-forge aimz
For additional details, see the full installation guide.
Quick start
from aimz import ImpactModel
# Define a probabilistic model (kernel) using NumPyro primitives
def model(X, y=None): ...
# Load or prepare data
X, y = ...
# Initialize ImpactModel with SVI or MCMC inference
im = ImpactModel(
model,
rng_key=..., # e.g., jax.random.key(0)
inference=..., # e.g., SVI (or MCMC)
)
# Fit model and draw posterior samples
im.fit(X, y)
# Generate posterior predictive samples
dt = im.predict(X)
# Estimate intervention effects
dt_baseline = im.predict(X)
dt_intervention = im.predict(X, intervention={"treatment": 1.0})
effect = im.estimate_effect(dt_baseline, dt_intervention)
Contributing
See the Contributing Guide to get started.
Citation
If you use aimz in your work, please cite the accompanying paper in the Journal of Open Source Software:
@article{Kim2026,
title = {aimz: Scalable probabilistic impact modeling},
author = {Kim, Eunseop},
year = 2026,
journal = {Journal of Open Source Software},
publisher = {The Open Journal},
volume = 11,
number = 120,
pages = 9738,
doi = {10.21105/joss.09738},
url = {https://doi.org/10.21105/joss.09738}
}
Metadata
Release files for aimz 0.15.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aimz-0.15.1.tar.gz | 95.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aimz-0.15.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 174.5 kB
Release files / aimz-0.15.1.tar.gz
| Download URL | aimz-0.15.1.tar.gz |
|---|---|
| Size | 95.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8b4abc86ff1592d6a1ba8fe39c3badb730049a7d8295635a365690037b4e2ff5
|
|
BLAKE2b-256 checksum How to use checksums |
d0f4ba3eb2825ddafb2640ecf42c693e54bd9282738980a084d3bbad976a076d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.
Transparency logRelease files / aimz-0.15.1-py3-none-any.whl
| Download URL | aimz-0.15.1-py3-none-any.whl |
|---|---|
| Size | 79.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a691ba0351caedc7838e761575ff857499ea148327697dfe338f0ae535705c02
|
|
BLAKE2b-256 checksum How to use checksums |
766084c5009f3d10136271d6aacc035e500d76a95a6c8b6406564e1b99c75875
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.
Transparency log