ergodic
Causal AI in one Python package. ergodic learns causal graphs from data, tells you
whether a question can be answered from them, and estimates the effect with an
interval. It also covers quasi-experiments on panels, process mining on event logs,
structural causal models, and Bayesian forecasting with drivers. ergodic runs
locally; the optional [welt] extra calls the hosted Welt service. ergodic is
pre-1.0, so the API can change between minor versions.
Documentation: docs.ergodic.dev
Install
pip install "ergodic"
# or
uv add "ergodic"
Requires Python 3.11 or later. The extras "ergodic[scm]", "ergodic[forecast]" and
"ergodic[latent]" add PyMC for structural causal models, forecasting and hidden
regimes. "ergodic[welt]" connects to
Welt, which runs hosted models on your data.
Your first causal effect
from ergodic import discover, estimate_effect, identify_effect
from ergodic.datasets import load_earthquake
alarm = load_earthquake(n=10_000, seed=0) # the burglar-alarm network (Pearl, 1988)
graph = discover(alarm.data, method="pc").graph # learn the graph from data alone
for edge in sorted(edge.glyph() for edge in graph.edges):
print(edge)
print(identify_effect(graph, "Burglary", "JohnCalls")) # can the data answer it?
print(estimate_effect(graph, alarm.data, "Burglary", "JohnCalls", treated="True"))
Alarm --> JohnCalls
Alarm --> MaryCalls
Alarm <-- Burglary
Alarm <-- Earthquake
Identification(adjustment: P(JohnCalls | do(Burglary)) = sum_z P(JohnCalls | Burglary, z) P(z), with z = {Earthquake})
EffectEstimate(aipw, analytic: ate=0.7997, se=0.0337, 95% CI [0.734, 0.866], n=10000)
The true effect, from the network's own tables, is 0.793: inside the interval. The documentation starts from this program and goes step by step.
Links
- Documentation
- Welt: hosted models for prediction, causal discovery and forecasting
- Changelog, contributing, security
Licence
Metadata
Release files for ergodic 0.3.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 | Provenance | |
|---|---|---|---|---|
| ergodic-0.3.1.tar.gz | 2.6 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ergodic-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.4 MB
Release files / ergodic-0.3.1.tar.gz
| Download URL | ergodic-0.3.1.tar.gz |
|---|---|
| Size | 2.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0d5bc4c4e056e76061f9b7eb2e99c884d08a72b4066cfefc789e728caa276a06
|
|
BLAKE2b-256 checksum How to use checksums |
ad128fb8017fb82b05325fa62ac1a486f74557e30ab133127abd40f6e2dfed84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.8
|
Release files / ergodic-0.3.1-py3-none-any.whl
| Download URL | ergodic-0.3.1-py3-none-any.whl |
|---|---|
| Size | 890.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
05513cfb8e8bc59d306e8ef8db3f607e4856acaf83c59e7cb68affcc39733dd2
|
|
BLAKE2b-256 checksum How to use checksums |
80c981bb03e21171632f7ec3b8c3575a31418a9b1de7d79c41b8e80b5da878bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.8
|
Security for ergodic 0.3.1
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.