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.5.0
The Python walkthrough covers prepared retargeting, CDF bands and unsupported tails, and non-additive joint-cell responses. See the release notes for estimator restrictions and uncertainty limits.
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 remains frozen at 49 names. Temporal response
attachments and 1.3 staged kinds reuse existing query types without adding
root exports.
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_projectonDag;m_separatedonAdmg/Pag) Identifier/Estimatorenums (wire ids) plus string kwargsidentify(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). Temporal dose × horizon uses the sameResponseCurve/InterventionResponsetypes with keyword-onlyhorizons,policy, andtreatment_lag(seeexamples/python/temporal_response_curve.py). antecedent.discovery— PC, GES, LiNGAM, NOTEARS, FCI/RFCI, PCMCI family, Bayesian posteriorsantecedent.validation.validate_pcmci_*— discovery stability (block bootstrap, FPR, grids, …)antecedent.model/antecedent.counterfactual—FittedGcm,sample_do,counterfactual_iteantecedent.population—PopulationRegistry/target_*for named predicates and custom-distribution IPWantecedent.gcm—fit_gcm_discovered/attribute_*_discovereddiscover-then-attribute compositionantecedent.state.CausalState— incremental state with retained batches, events, suff-stats, particle filterrefute="full"|"placebo"|Falseon staticanalyze(refute=Trueis aTypeError; leave it unset for the licensed default). Static and temporalResponseCurve/InterventionResponselicense validationnoneonly; requesting a scalar refuter suite raisesCausalUnsupportedError.- RD:
estimator="rd.sharp"withrunning_variable/cutoff/bandwidth - Graph interchange on the classes:
Dag.from_dot/.to_dotand 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 inexamples/README.md
Build artifacts (_native.*.so) are gitignored; always maturin develop (or install a wheel) on a fresh checkout.
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).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
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 antecedent-1.5.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 7.5 MB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
b757f117e6ed64607e0cf8aca3af187ca7dc1d1963cb9bb2b0e30269c99dac55
|
|
| MD5 |
091687150216607fd8eebc628e0fb4d7
|
|
| BLAKE2b-256 |
0a16f2742c1bbe25d454a93e93cc2c25bacb35f69850856731957faea638cfda
|
File details
Details for the file antecedent-1.5.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 7.9 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
638a81e46942ac5fb71ddcd1e2cb7b51a26f3118c1cf6aecb7ddd116ee068be5
|
|
| MD5 |
e7781a91f48b0e53e7a8559e4b8af39c
|
|
| BLAKE2b-256 |
1274973dd5d333224d544dfc1ba6a9fd4a179781818900ac0bcc367e33b72a92
|
File details
Details for the file antecedent-1.5.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 7.3 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
1de38110600cb7ec52778056662d02bc577b1a3e18365c633eab40d9ef2998fe
|
|
| MD5 |
4644e0db132d2206bc5180302a3aad25
|
|
| BLAKE2b-256 |
1e83114b1bc2438d99e5470a6048e0aab06b1d4f440d535615ea37148e2e27d4
|
File details
Details for the file antecedent-1.5.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 6.8 MB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
29e4057b2ccfa2e96037dee81496c9d641facf6d21d64421789401d20145c442
|
|
| MD5 |
95925df49e5f2aa7cec569ec96cb6891
|
|
| BLAKE2b-256 |
781a127d143de9042583396870826014d71578678a1894607ac817c497c47ac1
|
File details
Details for the file antecedent-1.5.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 7.5 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
0518ebe8e9404a490feed2c94233f6ecd770165b00cda96cbbb2eecf28d86b57
|
|
| MD5 |
888cefabc3c76bb37197e793a5ef319b
|
|
| BLAKE2b-256 |
5f4dad8097a23e3f8d409038c4b8f725cbe87a5436ef2bd0d2797d6a335d00f4
|
File details
Details for the file antecedent-1.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 7.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
ac283bc3b004c2f8b1569d1e045992cb86a7a19fa1e3206b3eb9edd17c6a0df2
|
|
| MD5 |
261cb00a6dc54e5e74e5dfde83476538
|
|
| BLAKE2b-256 |
c4b02cc177cb518a930dd410b20677d7e7ae6318d8fcfeb1b5345665df1d1fc4
|
File details
Details for the file antecedent-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 7.3 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
10c918817a404249841b88b80514687792c2dff11c0d376ffa2c23e022df5d75
|
|
| MD5 |
7df1876d5d07c3990dcb81fe04025fa7
|
|
| BLAKE2b-256 |
799d6c6a60f90983920af2f353de55e5eee383574f7e21f21c0df82a76b4ec4d
|
File details
Details for the file antecedent-1.5.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 6.8 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
0969df4f76978e52ba77bd90824ce8eeda4c17de2fc0a6eb205b7f923a585cf5
|
|
| MD5 |
96fced742dd5068dbe0d046f3c32a5cb
|
|
| BLAKE2b-256 |
22c7e76e33705f6c18fef2dad9682d72eaeaf2c1bd75b70ba8be61ea4544d666
|
File details
Details for the file antecedent-1.5.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 7.5 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
b21d1f70970bae7952aeb3ec33fdd324cf75282a93cc8ce9d88dc492e233bb70
|
|
| MD5 |
4e8b2158a406947252c9a8bad89f6878
|
|
| BLAKE2b-256 |
9506a331e6fe058694eb52712794d07610d95bb6daeeb56ca244f48164262804
|
File details
Details for the file antecedent-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 7.9 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
a531cc78cc03b449d3cb7cbbf13dcfcddc4a96ebdab097f0c0177ee84ea9b22b
|
|
| MD5 |
eef0d72c56835c0114aac80145da991f
|
|
| BLAKE2b-256 |
dfb2e2b3c3bc2bed6f8625bf6f5fc49c05e74b2f0e16c38d65eb72867e3e8f70
|
File details
Details for the file antecedent-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 7.3 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
8f06da9362a30afa89311af52cd58a9e50036b301641a749aa40759aca23c823
|
|
| MD5 |
d3b2cefbaac9c8eb8325458967d2b266
|
|
| BLAKE2b-256 |
7f044dc543442bca9c7603ab72d4ecab696a3f42e8dd3b4526e668bed1924d80
|
File details
Details for the file antecedent-1.5.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 6.8 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
886595d5f1df0585b19a58b65daa7d6ccfd2e5f6f735869e3b13dfe6c93a3bdf
|
|
| MD5 |
4d5732330634d8a838e19359b3a88754
|
|
| BLAKE2b-256 |
18b96888ba858592c601fdfe69e38f8393e2b7a8a55c0a76c0f41c11acb31d03
|
File details
Details for the file antecedent-1.5.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 7.5 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
9f97f4111a0093c064424d95617f02f3b0f38f4200d5bf68a2c8df7ba28e43b7
|
|
| MD5 |
ecbea0571f82bcef0495d4e563b5ceb1
|
|
| BLAKE2b-256 |
ca990a109278d7fb2a2d76308a5fbbadd8823cb7e7e159b41e0ef3d14112ce59
|
File details
Details for the file antecedent-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 8.0 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
a7033f5f56d4185b7564cf8623172bb15ae611cf426c2bd6a36059be54ed9b3b
|
|
| MD5 |
6f7430c90b299741941c46ebadfd7dbe
|
|
| BLAKE2b-256 |
8baa385f6f8ddd8a2c876f22fd6eeafc68e3862d5dd01029161abb9ea5ddbfe2
|
File details
Details for the file antecedent-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 7.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
a0b67a5257c68b424d457fb2b14ed597787741ec88ce5876fd07aa9e1383355b
|
|
| MD5 |
de63d356ce1d9405b6f3dd4549e12296
|
|
| BLAKE2b-256 |
412424e022193b4d4b4299002247c196a8fac4f4dc516336c743e599372c46dc
|
File details
Details for the file antecedent-1.5.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: antecedent-1.5.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 6.8 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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 |
05522c2d6adf35ad4503127d87dcbe0f5cc227696acf0c5b9d38ff67eb28b103
|
|
| MD5 |
6da1a7b1b8bfa5c60613164fa4758651
|
|
| BLAKE2b-256 |
1074f872517f467ab5800c4134cef4eea8a57225d71f70987a0703e0c4f80a65
|