Skip to main content

Antecedent

Antecedent is an identification-first causal inference engine for Python (with a native Rust core). It takes an analysis from causal structure through estimation, diagnostics, interventions, and counterfactuals — without silently treating discovered graphs as ground truth.

Use it when you need a causal effect you can defend: identification is checked before anything is estimated, refuters run against the estimate by default, and uncertainty about the causal graph — a CPDAG, a PAG, a posterior over graphs — is carried through to the effect instead of being resolved by fiat.

Requires CPython 3.11–3.14. Install from PyPI:

pip install antecedent

Paste this block and run it. It simulates a confounded dataset, checks that the effect is identified, estimates it, and runs refuters against the estimate:

import numpy as np
from antecedent import AverageEffect, analyze

rng = np.random.default_rng(0)
n = 2000
season = rng.normal(size=n)  # confounder
price = 0.7 * season + rng.normal(size=n)  # treatment
sales = 1.5 * price + 2.0 * season + rng.normal(size=n)  # outcome, true effect = 1.5

result = analyze(
    data={"season": season, "price": price, "sales": sales},
    graph=[("season", "price"), ("season", "sales"), ("price", "sales")],
    query=AverageEffect(treatment="price", outcome="sales"),
)

print(
    result.identification
)  # NonparametricallyIdentified via backdoor.adjustment, adjusting for season
print(result.estimate)  # ate=1.48, analytic and bootstrap standard errors
print(result.validation)  # refuters ran and passed

The same analyze() call scales from this to temporal dose × horizon ResponseCurve surfaces, pulse and sustained contrasts, Bayesian graph-posterior mixtures that report unidentified structure mass, mediation, counterfactuals, and root-cause attribution — see the project README for worked examples and the documentation for the full API.

1.9.0

The 1.9.0 release notes cover the calibration of licensed intervals (a two-sided repeated-sampling coverage gate, with boundary records disclosed at runtime), ADMG interventional distributions (Rust Study API only), accepted-Dag counterfactuals, Frequentist DBN-posterior mediation, and staged attribution / transport / interference cells (Rust Study API only). Behaviour changes: rd.sharp defaults to the HC1 SE, NaN and null float cells are missing values, and the default bootstrap count is 199.

1.8.0

The 1.8.0 release notes cover the Bayesian remainder of the staged handle: functional path, distribution, and ADMG ATE, static mediation, counterfactuals, derivatives, and ConditionalEffect graph-posterior mixtures.

1.7.0

The 1.7.0 release notes cover class-preserving Bayesian analyses on incomplete temporal graphs. The 1.6.0 release notes cover per-horizon temporal identification, sequential overlays, and observation-adjusted temporal curves. The 1.5 Python walkthrough remains the guide for retargeting, CDFs, and joint interventions.

Development

For local development you need a Rust 1.85 toolchain. CI builds and smoke-tests wheels for the supported CPython range on Linux x86_64/aarch64 (manylinux), macOS arm64, and Windows x86_64 (default faer path; no system BLAS). Tagged releases publish wheels to PyPI and GitHub Release assets (see docs/development.md).

cd python
uv venv && source .venv/bin/activate
uv sync --group dev
maturin develop
pytest

Lint and types (local gate only — not part of wheel CI):

bash ../scripts/gate_python_lint.sh   # ruff check/format + mypy

Public API

Primary entry point is the OO facade:

import antecedent

g = antecedent.Dag.from_edges(["z", "t", "y"], [("z", "t"), ("z", "y"), ("t", "y")])
result = antecedent.analyze(
    data,  # dict[str, array] or pandas DataFrame
    graph=g,  # or an edge list
    query=antecedent.AverageEffect(treatment="t", outcome="y"),
    inference=antecedent.Frequentist(),  # or antecedent.Bayesian(...)
)
print(result.identification, result.estimate, result.validation)

# Identify without estimating:
id_only = antecedent.identify(
    graph=g,
    query=antecedent.AverageEffect(treatment="t", outcome="y"),
    identifier=antecedent.Identifier.BACKDOOR_ADJUSTMENT,
)

gcm = antecedent.model.fit_gcm(["z", "t", "y"], columns, list(g.edges()))
draws = gcm.sample_do({"t": 1.0}, n=200)

# Or discover then fit (never invents orientations; refuses incomplete PAG/FCI):
fitted, edges = antecedent.gcm.fit_gcm_discovered(
    data, discovery=antecedent.discovery.PC(alpha=0.05)
)

The root namespace is frozen at 52 names as of 1.9 (the 50-name 1.7 contract plus AnomalyAttribution and ChangeAttribution). Those two types exist for the query axis; analyze() refuses them — the licensed cells are Rust Study only. TransportQuery / InterferenceQuery stay stage modules (antecedent.transport, antecedent.interference). Everything else is reached through a stage module (antecedent.discovery, antecedent.priors, antecedent.errors, …).

Also exposed:

  • Typed graphs: Dag / Cpdag / Pag / Admg / TemporalDag (d_separated / latent_project on Dag; m_separated on Admg / Pag)
  • Identifier / Estimator enums (wire ids) plus string kwargs
  • identify(graph=…, query=AverageEffect(…)) — identify without estimating
  • Queries: AverageEffect, MediationEffect, Counterfactual, PulseEffect, SustainedEffect, InterventionalDistribution, PathSpecificEffect, ConditionalEffect, TemporalMediationEffect, InterventionResponse, plus the response family (ResponseCurve, AverageDerivative, PointDerivative, Elasticity, SemiElasticity, DirectionalDerivative, ResponseJacobian), plus AnomalyAttribution / ChangeAttribution (root types; analyze() refuses). Temporal dose × horizon uses the same ResponseCurve / InterventionResponse types with keyword-only horizons, policy, and treatment_lag (see examples/python/temporal_response_curve.py).
  • antecedent.discovery — PC, GES, LiNGAM, NOTEARS, FCI/RFCI, PCMCI family, Bayesian posteriors
  • antecedent.validation.validate_pcmci_* — discovery stability (block bootstrap, FPR, grids, …)
  • antecedent.model / antecedent.counterfactual — FittedGcm, sample_do, counterfactual_ite
  • antecedent.population — PopulationRegistry / target_* for named predicates and custom-distribution IPW
  • antecedent.gcm — fit_gcm_discovered / attribute_*_discovered discover-then-attribute composition
  • antecedent.state.CausalState — incremental state with retained batches, events, suff-stats, particle filter
  • refute="full"|"placebo"|False on static analyze (refute=True is a TypeError; leave it unset for the licensed default). Static and temporal ResponseCurve / InterventionResponse license validation none only; requesting a scalar refuter suite raises CausalUnsupportedError.
  • RD: estimator="rd.sharp" with running_variable / cutoff / bandwidth
  • Graph interchange on the classes: Dag.from_dot / .to_dot and the JSON / GML / NetworkX peers
  • Design / state examples: examples/python/rank_designs.py, examples/python/causal_state_workflow.py, examples/python/temporal_response_curve.py, examples/python/staged_static_kinds.py (see ADR 0016 — no auto-rerun); catalog in examples/README.md

Build artifacts (_native.*.so) are gitignored; always maturin develop (or install a wheel) on a fresh checkout.

In 1.6, multi-step Sustained supports none/cheap/full validation in both inference modes, including DBN posterior mixtures. Full perturbations refit the sequential model; Bayesian checks retain mechanism PPC and composed-effect prior sensitivity. Temporal Soft multiplicative and truncated_shift compose across single, joint, and multi-step schedules; truncation applies to the propagated conditional mean, not a stochastic draw. Bayesian temporal observation curves and Sequence use an observed-data Gaussian SEM with latent-trajectory Gibbs sampling under an explicit ignorable trajectory coarsening assumption and distinct priors. See the observation contract for the conditioning assumptions; this is not Bayesian IPCW weighting.

In 1.3, antecedent.estimation.PreparedAnalysis also stages Frequentist DAG derivatives, static natural mediation, explicit-DAG unit counterfactuals, and the published observation-pair contract (selected AIPW, marginal KM, conditional Cox IPCW). Derivative cheap/full stay n/a; counterfactual sampling uncertainty is unavailable. See the 1.3 evidence ledger and the 1.2 ledger below for earlier Bayesian and sequential forms.

In 1.2, antecedent.estimation.PreparedAnalysis also supports the licensed Bayesian conditional, temporal-mediation and response forms, and multi-step SustainedEffect(..., window=(-2, -1)). Choose the validation suite when preparing these analyses; second-click refute() remains AverageEffect-only. export_artifact() retains the fitted posterior or response, while export_artifact(payload="query") retains the original query kind and variable IDs. Scalar posterior exports do not include the complete assumption or validation ledger; retain the analysis result alongside them. See the 1.2 evidence ledger for model restrictions and evidence.

Typed exceptions (CausalError and subclasses) mirror Rust CausalError categories. The native module antecedent._native remains available for advanced FFI use (including the flat AteAnalysisResult DTO; prefer nested AnalysisResult).

Metadata

Release files for antecedent 1.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for antecedent 1.9.0
File
antecedent-1.9.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
antecedent-1.9.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
antecedent-1.9.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
antecedent-1.9.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
antecedent-1.9.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
antecedent-1.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
antecedent-1.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
antecedent-1.9.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
antecedent-1.9.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
antecedent-1.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
antecedent-1.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
antecedent-1.9.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
antecedent-1.9.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
antecedent-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
antecedent-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
antecedent-1.9.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 136.1 MB

Release files / antecedent-1.9.0-cp314-cp314-win_amd64.whl

Download URL antecedent-1.9.0-cp314-cp314-win_amd64.whl
Size 8.7 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
d6fd3e7f756e76b6f5c92604b6a7eb5220ff41b2771a3f95efcf3d4baf14b5b5
BLAKE2b-256 checksum
How to use checksums
ff8de83dcead37476473299120f7c71b71a1956a2396f61d4c05fea23792bf0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL antecedent-1.9.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.1 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c2d45201d05b4f33b65ed4b2571e028041e09c9ce36d6911dd5b13bc9c01e8ff
BLAKE2b-256 checksum
How to use checksums
9116425bf62541569abeb07f1ef1158d41e59f70acb461d32801c65544a5eaf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL antecedent-1.9.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.4 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
4ad089fdae1467ae92bbfea0b8a2929651dc355da86ce03fefffbbe9b7f43f16
BLAKE2b-256 checksum
How to use checksums
93931869ce2d787c2766a12f1dbf06fc2e806845177d0919646d91b92c9066a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL antecedent-1.9.0-cp314-cp314-macosx_11_0_arm64.whl
Size 7.8 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2cf0666af515d6603013a8db1b8f8b295e2b18c2127397fb7468ee8563d8c954
BLAKE2b-256 checksum
How to use checksums
fcf6752105423ce2da6802da76caec8cde791dcad204c66bfee97bf0630f172f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp313-cp313-win_amd64.whl

Download URL antecedent-1.9.0-cp313-cp313-win_amd64.whl
Size 8.7 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
bc164c370422d2f08888c75382c183e194ef38bca75ed97b0c0484009bda41cb
BLAKE2b-256 checksum
How to use checksums
5e89ee8e55f4441475f2f9cb424a6ffe29bad27247f4e4eeafea07ed475308a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL antecedent-1.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.1 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
cf61797239cb1a55e760f9de9ff28b7207a90bb3183c9b50ba762ceda1ace431
BLAKE2b-256 checksum
How to use checksums
738c4d7de7dff0ac40112cb10ada85d2060d19c2ba88a5b5e01fd15677a217b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL antecedent-1.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.4 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
fc2e4ea3592e8bac0cd303c39f6354021d1ba9fbe81d994e0d2374af95615ab5
BLAKE2b-256 checksum
How to use checksums
adcf6e25ba6d2d098eea785a09381532beaca89fb33726611d73350defc7ccb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL antecedent-1.9.0-cp313-cp313-macosx_11_0_arm64.whl
Size 7.8 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a86392b007b33442fb282675bea7b4e76dad254775a51820d4659f5170489864
BLAKE2b-256 checksum
How to use checksums
c05e7323e38e1ea9756a0dc6535a4b6637b91e1ed09a73724cb22b45e164e5b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp312-cp312-win_amd64.whl

Download URL antecedent-1.9.0-cp312-cp312-win_amd64.whl
Size 8.7 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
52c88cee40befe213b2836546e3654118d6b15604ee9f7c398494d389510b523
BLAKE2b-256 checksum
How to use checksums
0921c34014c105a013dd00588b58674444e3790441e826bc44bea85a6a0f3b83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL antecedent-1.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.1 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7d3fc4eb253d26141df16228b9e78917dbf07ecac11704d902c730758d8dd55c
BLAKE2b-256 checksum
How to use checksums
31654a82dc74ab571cb179dd85d01f4efd8f4cb3eb8a6d0f67b9b123f8defdb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL antecedent-1.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.4 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
1798a9bc8f41dca6653149335e92fe8ee8152a194f93ceabf3af951620c4eec9
BLAKE2b-256 checksum
How to use checksums
414f4854a5aab84418a179057b91489d02b6d6e4afdd82d4908f9eac9ce52cc6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL antecedent-1.9.0-cp312-cp312-macosx_11_0_arm64.whl
Size 7.8 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8ebba5748883f1b57a932f3abe38039a29ca7d7129629b4a44f2a570bd0cce28
BLAKE2b-256 checksum
How to use checksums
9b711e99bbdf51fafba588464533446815c16ce98c57638b4be7a2fe16ed8f37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp311-cp311-win_amd64.whl

Download URL antecedent-1.9.0-cp311-cp311-win_amd64.whl
Size 8.7 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
ce59d76e3606467a1d252a54aff063b4a62bde6c48191d62c46d7893d2418173
BLAKE2b-256 checksum
How to use checksums
994fe9b5bffedc78e0211cee45e4869a2085dbca52c71f987a7ff4af12365596
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL antecedent-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0fe64d1e97d12b9c650179335404bf34f3644067c3a78a8d06102596a9d98b68
BLAKE2b-256 checksum
How to use checksums
48ddaabbfc1a074021796884d6c735fffd7b74ea579bdf25024d752899b952ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL antecedent-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.4 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
3485d450cfe7df3d5763291aac997923ca28ebaba851d6faac17d2ab2b87880f
BLAKE2b-256 checksum
How to use checksums
68ea41d584161beddb69c794071c5f9cd08a38c4382d9bb6fca04242c9a8c2a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release files / antecedent-1.9.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL antecedent-1.9.0-cp311-cp311-macosx_11_0_arm64.whl
Size 7.9 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7bde04442f5ac3c73377f4dd20486132c5dc1917c6a29c9e2645f921d9fb875c
BLAKE2b-256 checksum
How to use checksums
dbc927419be2d7ee27407851407ad64926895d36ad221b8ebf4c13975a9b93d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.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}

Release history Release notifications | RSS feed

2.4.0

16 release files

2.3.0

16 release files

2.1.1

16 release files

2.1.0

16 release files

2.0.0

16 release files

This release

1.9.0 This release

16 release files

1.7.0

16 release files

1.6.0

16 release files

1.5.0

16 release files

1.4.0

16 release files

0.9.0

16 release files

0.7.0

16 release files

0.6.1

16 release files

0.6.0

16 release files

0.5.2

16 release files

0.5.1

16 release files

0.5.0

16 release files

0.4.1

16 release files

0.4.0

16 release files

0.3.0

16 release files

0.2.0

16 release files

0.1.0

16 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page