Skip to main content

exact-tests

This package implements the binomial, Hardy-Weinberg equilibrium, and Fisher's (2x2 and 2x3 so far) exact tests, along with corresponding discrete distributions (binomial, hypergeometric). scipy- and R-style interfaces are provided. cdf-like functions offer a fast 'approx' mode.

As of this writing, these functions (even in 'approx' mode) are more accurate, and often simultaneously more efficient, than their scipy counterparts: see the MPFR-comparison and benchmark scripts under utils/ . E.g.

$ utils/pbinom_accuracy.py
n in [2^5, 2^6): errRMS=0  approxErrRMS=7.31e-17  scipyErrRMS=0
n in [2^20, 2^21): errRMS=0  approxErrRMS=0  scipyErrRMS=2.18e-15
n in [2^35, 2^36): errRMS=0  approxErrRMS=0  scipyErrRMS=1.15e-14
$ utils/pbinom_accuracy.py -p 0.1  # scipy accuracy degrades more quickly with most values of p != 0.5, or k further from np
n in [2^5, 2^6): errRMS=0  approxErrRMS=1.06e-16  scipyErrRMS=4.22e-16
n in [2^20, 2^21): errRMS=0  approxErrRMS=0  scipyErrRMS=1.23e-11
n in [2^35, 2^36): errRMS=0  approxErrRMS=0  scipyErrRMS=3.47e-07
$ utils/pbinom_accuracy.py --z-score -2
n in [2^5, 2^6): errRMS=6.51e-17  approxErrRMS=2.48e-16  scipyErrRMS=1.96e-16
n in [2^20, 2^21): errRMS=0  approxErrRMS=0  scipyErrRMS=1.01e-13
n in [2^35, 2^36): errRMS=0  approxErrRMS=4.82e-17  scipyErrRMS=1.66e-11
$ utils/pbinom_benchmark.py
n=(2^5)-1: base=7.54e-07  approx=3.12e-07  scipy=2.91e-05 sec/iter
n=(2^20)-1: base=2.94e-06  approx=1.24e-06  scipy=3.06e-05 sec/iter
n=(2^35)-1: base=1.63e-06  approx=1.12e-06  scipy=9.54e-05 sec/iter

$ utils/binomtest_accuracy.py --z-score 1
n in [2^5, 2^6): errRMS=1.44e-16  scipyErrRMS=1.96e-16
n in [2^20, 2^21): errRMS=3.03e-16  scipyErrRMS=6e-14
n in [2^35, 2^36): errRMS=7.32e-16  scipyErrRMS=7.53e-12
$ utils/binomtest_benchmark.py --z-score 1  # ~100-250x speedup, better accuracy
n=(2^5)-1: base=1.02e-06  scipy=0.00023 sec/iter
n=(2^20)-1: base=4.14e-06  scipy=0.00053 sec/iter
n=(2^35)-1: base=5.98e-06  scipy=0.000852 sec/iter

$ utils/phyper_accuracy.py --z-score -0.5  # scipy accuracy degrades quickly
n in [2^5, 2^6): errRMS=0  approxErrRMS=1.72e-16  scipyErrRMS=2.84e-16
n in [2^20, 2^21): errRMS=0  approxErrRMS=2.75e-15  scipyErrRMS=1.73e-10
n in [2^35, 2^36): errRMS=0  approxErrRMS=4.13e-14  scipyErrRMS=1.05e-05
$ utils/phyper_benchmark.py --z-score -0.5  # scipy speed is ok, except...
n=(2^5)-1: base=7.12e-07  approx=2.13e-07  scipy=3.46e-05 sec/iter
n=(2^20)-1: base=6.97e-05  approx=5.36e-06  scipy=4.34e-05 sec/iter
n=(2^35)-1: base=0.0146  approx=0.000851  scipy=0.00194 sec/iter
$ utils/phyper_benchmark.py --z-score 0.0001  # ...it blows up for large n when z approaches 0.
n=(2^5)-1: base=8.67e-07  approx=2.13e-07  scipy=3.68e-05 sec/iter
n=(2^20)-1: base=6.93e-05  approx=5.32e-06  scipy=0.000495 sec/iter
n=(2^35)-1: base=0.0149  approx=0.000908  scipy=2.7 sec/iter
$ utils/phyper_benchmark.py
n=(2^5)-1: base=1.48e-06  approx=2.33e-07  scipy=3.98e-05 sec/iter
n=(2^20)-1: base=7.82e-05  approx=5.33e-06  scipy=0.000522 sec/iter
n=(2^35)-1: base=0.0149  approx=0.00087  scipy=14.9 sec/iter

$ utils/fisher_exact_22_accuracy.py --z-score -1
n in [2^5, 2^6): errRMS=9.71e-17  scipyErrRMS=2.39e-16
n in [2^20, 2^21): errRMS=1.33e-15  scipyErrRMS=1.85e-10
n in [2^35, 2^36): errRMS=4.52e-13
$ utils/fisher_exact_22_benchmark.py --z-score -1  # ~100-600x speedup, better accuracy
n=(2^5)-1: base=4.5e-07  scipy=0.000331 sec/iter
n=(2^20)-1: base=5.97e-06  scipy=0.000986 sec/iter
n=(2^35)-1: base=0.000906 sec/iter

$ utils/odds_ratio_accuracy.py --z-score 1
n in [2^5, 2^6): estErrRMS=5.25e-16  ciLowErrRMS=7.12e-16  ciHighErrRMS=7.23e-16  scipyEstErrRMS=1.3e-15  scipyCiLowErrRMS=1.25e-14  scipyCiHighErrRMS=1.42e-15
n in [2^10, 2^11): estErrRMS=1.43e-16  ciLowErrRMS=2e-15  ciHighErrRMS=1.88e-15  scipyEstErrRMS=1.2e-14  scipyCiLowErrRMS=2.33e-14  scipyCiHighErrRMS=3.13e-14
n in [2^15, 2^16): estErrRMS=8.46e-17  ciLowErrRMS=7.79e-15  ciHighErrRMS=7.73e-15  scipyEstErrRMS=1.52e-12  scipyCiLowErrRMS=1.2e-11  scipyCiHighErrRMS=6.64e-13
n in [2^35, 2^36): estErrRMS=7.56e-17  ciLowErrRMS=8.35e-12  ciHighErrRMS=8.35e-12
$ utils/odds_ratio_benchmark.py --z-score 1  # 200x and larger speedups, better accuracy
n=(2^5)-1: est=8.75e-07  ci=8.21e-07  scipy_est=0.000456  scipy_ci=0.00254 sec/iter
n=(2^10)-1: est=7.71e-07  ci=1.62e-06  scipy_est=0.000512  scipy_ci=0.0273 sec/iter
n=(2^15)-1: est=3.03e-06  ci=6.29e-06  scipy_est=0.000702  scipy_ci=2.24 sec/iter
n=(2^35)-1: est=0.000943  ci=0.00172 sec/iter

$ utils/HWE_accuracy.py --maf 0.05 --z-score 1
n in [2^10, 2^11): errRMS=1.95e-16  snphweErrRMS=2.04e-16
n in [2^15, 2^16): errRMS=2.9e-16  snphweErrRMS=6.48e-16
n in [2^20, 2^21): errRMS=6.25e-16  snphweErrRMS=1.6e-15
$ utils/HWE_benchmark.py --maf 0.05 --z-score 1  # snphwe.snphwe() is accurate, but slow for biobank-scale cases (we're >200x as fast for n~=1m)
n=(2^10)-1: base=2.67e-07  snphwe=6.17e-07 sec/iter
n=(2^15)-1: base=4.08e-07  snphwe=1.28e-05 sec/iter
n=(2^20)-1: base=1.56e-06  snphwe=0.00038 sec/iter

The central building block is a high-precision log-factorial function utilizing the QD library (https://github.com/BL-highprecision/QD ).

Build instructions

PyPI:

python -m pip install 'pip>=20.3'
python -m pip install exact_tests

GitHub:

python -m pip install 'pip>=20.3'
python -m pip install -e 'git+https://github.com/chrchang/stats.git#egg=exact_tests&subdirectory=Python'

Or install from a cloned copy:

# clone repo
git clone https://github.com/chrchang/stats
# go to python folder
cd stats/Python
# install the package
python -m pip install -e .

You can test the package with pytest.

Example usage:
import exact_tests

exact_tests.binomtest(3, n=15, p=0.1, alternative="greater")
exact_tests.binomtest(2, 29, 0.1)
exact_tests.binomtest(2, 29, "0.1")
exact_tests.binomtest(2, 29, "0.1", midp=True)
exact_tests.binomtest(100, 10000, "0.000001", logp=True)
exact_tests.fisher_exact([[4, 0], [0, 4]], alternative="greater", midp=True)
exact_tests.fisher_exact([[10000, 20000], [30000, 40000], [50000, 60000]], logp=True)

Metadata

Release files for exact-tests 0.9.6

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

Source distribution (sdist)

Source distribution for exact-tests 0.9.6
File Size Uploaded Provenance
exact_tests-0.9.6.tar.gz 461.8 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for exact-tests 0.9.6
File
exact_tests-0.9.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
exact_tests-0.9.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
exact_tests-0.9.6-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details
exact_tests-0.9.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
exact_tests-0.9.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
exact_tests-0.9.6-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
exact_tests-0.9.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
exact_tests-0.9.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
exact_tests-0.9.6-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
exact_tests-0.9.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
exact_tests-0.9.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
exact_tests-0.9.6-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
exact_tests-0.9.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
exact_tests-0.9.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
exact_tests-0.9.6-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 34.2 MB

Release files / exact_tests-0.9.6.tar.gz

Download URL exact_tests-0.9.6.tar.gz
Size 461.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d77883f76201d6788359c587400dbfb37ca6114b9e2864b4ba1b8ec32f088841
BLAKE2b-256 checksum
How to use checksums
a155ea8ea84f23d1fa76dd2cd305e5dcdc5f2831fea8fb5c55c2207ab0c2f338
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL exact_tests-0.9.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.1 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2f863735c7b87ca1983fc99c9caeecb88c2fa573c5c45b8e155f0ff284777815
BLAKE2b-256 checksum
How to use checksums
cec93b2206ec2c5e4dcc4cf06c78916761f28bab701ceb1fa93cbc31f1db4ba9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL exact_tests-0.9.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.6 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e4930ff90c86747cb173390e916d1765162cd71545868a6d679b76be7a72ecb0
BLAKE2b-256 checksum
How to use checksums
9d8ae4b7c6113511b152f7b242abfefbb9a07a30b4f418320d3766474f4b0b0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp314-cp314-macosx_10_15_universal2.whl

Download URL exact_tests-0.9.6-cp314-cp314-macosx_10_15_universal2.whl
Size 1.1 MB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
978045052c478043813f912d6d6a47c4d663c9821e988e5087d6511b5765f319
BLAKE2b-256 checksum
How to use checksums
d3941b37c555b910bf75edb872d6f9faa7aeee3a6d7d8092c63e6857ab5c40bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL exact_tests-0.9.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.1 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
85fc0123b47b9cd75b3151fb80d0616433b295657881c4756fbdae7286c4048e
BLAKE2b-256 checksum
How to use checksums
a7349cb18731925373e9e7f384bf0325aa5e0a85b5e0b7c33a2eb9b2ddafcbfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL exact_tests-0.9.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.6 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
47f7b443bdaf4a9a1782275beb5b66e3bce8f3e1d0c8c0be1b21db82ddd787f5
BLAKE2b-256 checksum
How to use checksums
07eb371c34ef9c223568c5846a156dcbf12be7144ea19a688f102aab25379235
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp313-cp313-macosx_10_13_universal2.whl

Download URL exact_tests-0.9.6-cp313-cp313-macosx_10_13_universal2.whl
Size 1.0 MB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
54c64c1a925f1dbe7f0939482290a842cc25be7463cb8045cf2ad80c0fbe6ff3
BLAKE2b-256 checksum
How to use checksums
e61f9bfd35a78a2d03a50aac65871c0a5936df4b1ce9e40866a5d9b04faa59e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL exact_tests-0.9.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.1 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
17f6762a03a7343ca9462a3818ade9373a22a7a2e51733019ef2ca7aeb05ea8a
BLAKE2b-256 checksum
How to use checksums
a0c525ea9f9b2def4b8ab2e79ab85e476835fb4e6da7f4a8779b394253e4666f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL exact_tests-0.9.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.6 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
10b2b44f8c1d66560a8a734c9c87c74566a6f2c109fc97f0d6eeb072fa5cc73c
BLAKE2b-256 checksum
How to use checksums
10f2991a70098828e809df6e944fd055eba7c233bd053991498255a37a6de44c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp312-cp312-macosx_10_13_universal2.whl

Download URL exact_tests-0.9.6-cp312-cp312-macosx_10_13_universal2.whl
Size 1.0 MB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
94f1f5be8023087480a9d4e1a1bc9e7c27283c89a84d05539de1c689bd56859c
BLAKE2b-256 checksum
How to use checksums
14d83e8cec6c26730e9b6001e5a41281cc67a5a2f7c50038f146fd698a3900da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL exact_tests-0.9.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f471fa9d0d629887afb191a31557fc648837a6360a2edfba174d7fe16ff4acd4
BLAKE2b-256 checksum
How to use checksums
23e93bb314e6d49fc9dfe1479c184e42397430fb1f53876ba0da76b9ccf23653
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL exact_tests-0.9.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.6 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3d736a1677cfc9ea4ba4f28371a47a74dd1c3af8018b6546c32fac6bd41977b5
BLAKE2b-256 checksum
How to use checksums
c031e932f48ec048b5653215e0a2bd0331290c99a9f7ef000eacdcfa73c886b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp311-cp311-macosx_10_9_universal2.whl

Download URL exact_tests-0.9.6-cp311-cp311-macosx_10_9_universal2.whl
Size 1.0 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
6d86df56f79019cc8d640c4609a714315d79a6f0f6ab1ebf94a413f4565b59a6
BLAKE2b-256 checksum
How to use checksums
959fa715261052c977ae5c961eb8cc0128019a55427149212d6fbd52b35623ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL exact_tests-0.9.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
46cae11a0df808392f9d3df28b237560ab04b732cf2c06975b919cd8f0052bb5
BLAKE2b-256 checksum
How to use checksums
65c376f8b7dc36057916627490a170befdd44938c95e01f34d906a15b0756db3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL exact_tests-0.9.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.6 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ac6940c475bf19d2badb3b1b6f311b111ecd825e58d32cf2061137a3bb47bc22
BLAKE2b-256 checksum
How to use checksums
2d09dec8e6b320179e33e619762bbed007810d8fce35774ba5d466ba5fa43d30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Release files / exact_tests-0.9.6-cp310-cp310-macosx_10_9_universal2.whl

Download URL exact_tests-0.9.6-cp310-cp310-macosx_10_9_universal2.whl
Size 1.1 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
79464ace672f716dad6f3d2dc2bd03f6b449b116e4f8ed1aceaed5edbfee85a3
BLAKE2b-256 checksum
How to use checksums
0c9a034f7ed95c887cb0000c666d575a002adf83fdb5c3cc884afab7fc44697c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 26, 2026.

Transparency log

Security for exact-tests 0.9.6

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.

Full provenance

All 16 files in this release have been uploaded with provenance metadata.

Select from 16 files

Attestation for exact_tests-0.9.6.tar.gz

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 Oct 26, 2026.

Transparency log

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.9.6 This release

16 release files Full provenance

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