Skip to main content

Accurate and efficient binomial, Hardy-Weinberg equilibrium, and Fisher's exact tests.

Project description

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=1.25e-15  scipyErrRMS=2.18e-15
n in [2^35, 2^36): errRMS=0  approxErrRMS=6.77e-15  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=1.62e-15  scipyErrRMS=1.23e-11
n in [2^35, 2^36): errRMS=0  approxErrRMS=5.48e-15  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=5.08e-16  scipyErrRMS=1.01e-13
n in [2^35, 2^36): errRMS=0  approxErrRMS=6.87e-16  scipyErrRMS=1.66e-11
$ utils/pbinom_benchmark.py  # yes, default mode becomes slower than scipy for large n, that's why approx= exists
n=(2^5)-1: base=7.46e-07  approx=3e-07  scipy=3.03e-05 sec/iter
n=(2^20)-1: base=4.73e-05  approx=3.51e-06  scipy=2.93e-05 sec/iter
n=(2^35)-1: base=0.00114  approx=7.93e-05  scipy=9.52e-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=5.4e-16  scipyErrRMS=6e-14
n in [2^35, 2^36): errRMS=5.83e-16  scipyErrRMS=7.53e-12
$ utils/binomtest_benchmark.py --z-score 1  # ~100-200x speedup, better accuracy
n=(2^5)-1: base=8.42e-07  scipy=0.000189 sec/iter
n=(2^20)-1: base=4.03e-06  scipy=0.000464 sec/iter
n=(2^35)-1: base=5.67e-06  scipy=0.000774 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=3.01e-15  scipyErrRMS=1.73e-10
n in [2^35, 2^36): errRMS=0  approxErrRMS=3.93e-13  scipyErrRMS=1.05e-05
$ utils/phyper_benchmark.py --z-score -0.5  # scipy speed is ok, except...
n=(2^5)-1: base=7.54e-07  approx=2.08e-07  scipy=3.51e-05 sec/iter
n=(2^20)-1: base=6.98e-05  approx=5.37e-06  scipy=4.35e-05 sec/iter
n=(2^35)-1: base=0.00697  approx=0.000401  scipy=0.00195 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=7.12e-07  approx=2.12e-07  scipy=3.51e-05 sec/iter
n=(2^20)-1: base=6.88e-05  approx=5.32e-06  scipy=0.000498 sec/iter
n=(2^35)-1: base=0.0147  approx=0.000873  scipy=2.69 sec/iter
$ utils/phyper_benchmark.py
n=(2^5)-1: base=7.33e-07  approx=2.12e-07  scipy=3.49e-05 sec/iter
n=(2^20)-1: base=6.87e-05  approx=5.32e-06  scipy=0.000492 sec/iter
n=(2^35)-1: base=0.0147  approx=0.000869  scipy=14.8 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=3.17e-15  scipyErrRMS=1.85e-10
n in [2^35, 2^36): errRMS=6.63e-13
$ utils/fisher_exact_22_benchmark.py --z-score -1  # ~75-250x speedup, better accuracy
n=(2^5)-1: base=1.07e-06  scipy=0.000258 sec/iter
n=(2^20)-1: base=8.34e-06  scipy=0.000667 sec/iter
n=(2^35)-1: base=0.000742 sec/iter

$ utils/odds_ratio_accuracy.py --z-score 1
n in [2^5, 2^6): estErrRMS=5.32e-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.42e-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=6.81e-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.5e-07  ci=1.07e-06  scipy_est=0.000434  scipy_ci=0.00251 sec/iter
n=(2^10)-1: est=8.08e-07  ci=1.65e-06  scipy_est=0.000503  scipy_ci=0.0272 sec/iter
n=(2^15)-1: est=3.08e-06  ci=6.39e-06  scipy_est=0.000694  scipy_ci=2.23 sec/iter
n=(2^35)-1: est=0.000824  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.83e-07  snphwe=8.08e-07 sec/iter
n=(2^15)-1: base=4.5e-07  snphwe=1.24e-05 sec/iter
n=(2^20)-1: base=1.48e-06  snphwe=0.000388 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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exact_tests-0.8.5.tar.gz (376.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

exact_tests-0.8.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

exact_tests-0.8.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

exact_tests-0.8.5-cp314-cp314-macosx_10_15_universal2.whl (818.7 kB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

exact_tests-0.8.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

exact_tests-0.8.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

exact_tests-0.8.5-cp313-cp313-macosx_10_13_universal2.whl (813.5 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

exact_tests-0.8.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

exact_tests-0.8.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

exact_tests-0.8.5-cp312-cp312-macosx_10_13_universal2.whl (815.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

exact_tests-0.8.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

exact_tests-0.8.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

exact_tests-0.8.5-cp311-cp311-macosx_10_9_universal2.whl (813.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

exact_tests-0.8.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

exact_tests-0.8.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

exact_tests-0.8.5-cp310-cp310-macosx_10_9_universal2.whl (816.6 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file exact_tests-0.8.5.tar.gz.

File metadata

  • Download URL: exact_tests-0.8.5.tar.gz
  • Upload date:
  • Size: 376.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for exact_tests-0.8.5.tar.gz
Algorithm Hash digest
SHA256 657629526e727f46af00cff9b99c72f854f8c67c658b0e0cf077f80b06f84704
MD5 750ccc2a9acbb483c483d7c40020a50d
BLAKE2b-256 da8daa9e2a6b2ba42a606c7d1f191e260c318c7b6100030e54615cc00d9949d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5.tar.gz:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 17e9084906af27a2bbfd66b95c9d1efbc2db44307be357870be88381b5009aa6
MD5 e48c13045d7ea4d8a887b117b16365b7
BLAKE2b-256 c443a0a2ef302a1066ad40271afad304d84e5b6fe348794fb5fdfb96a0a747f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 29ea900a1c2ba7c1ba23333229973404547c7d960caf1f6375e5c6424d622c69
MD5 64776580507d77d70cc724cfb27c6897
BLAKE2b-256 02beadb70fc88fe432a20558fc6a95fd50013c6adbb6cb13e33ca7c90ccda74b

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 bb871d0d9954c1e4249bc556a86d35ac3bc3f3f5e59b235853d4baeee27c5253
MD5 1984ab24f16814fb56c7e180b01ce54f
BLAKE2b-256 427e3c15b68308c8a9b45d53614bacd786c6295fc7821d4e2ee552ebd6ba25c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp314-cp314-macosx_10_15_universal2.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ea1aace749471df7672865aaacd0375f598eb395c4210aa680271008c88b36ae
MD5 af6c8127b610d2630b5a9d2fff468a5d
BLAKE2b-256 56f8c80c408c26bef7ed5836c4ff59460d684d957690debae0a79b57eb4ebefc

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1c8f2d2e0f33c1f69cb44251f0cd9dff646075650d12db6526b65473850db247
MD5 72bebbea4d4807c68c81fc465e6451d1
BLAKE2b-256 130719653b3e58afad165a9c712d0b6b4c061ad0ad36faa645ade657b5c767c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 be0427b26960842987d6f625f21ac73928662c2cc879c8b6d23eccb397249f89
MD5 8170643fc8482f86392e002cf35e32de
BLAKE2b-256 a8c54a44d92c353527fe55383201d11f00f055fd2da3c8ffb595411f4fb06aa0

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp313-cp313-macosx_10_13_universal2.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 29d1d45de49214f8b34c86b167294f2eb045f4a4c17c9cb5870f7b94e5fcf1ee
MD5 9436893795377b1231ea2e0d8aabd915
BLAKE2b-256 4791aad6a42bb415b2c90212c574ecc3f0681ef98889d87921e928baa2c3f802

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 693f3e34087ca6eaa38ecc0cd863ccfb9982acc3ef7499867531fca2c5a54de6
MD5 bad40ec5cf1e0422a41c64d1fe0b5b25
BLAKE2b-256 7dd3a6d692b0624a7a99c692c96395e82b8799efaeb31118a606ba8d3626fe57

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f6964b69573bb9753c49ec7e02f8992de313e26cdf010abd214af6d3dd384eb0
MD5 3bf329362dde8aab1f447be0c4794b6b
BLAKE2b-256 7c2de0250cad9ab26c3c51cfb1bc8ca320c669fdd7f03b791184c692b7260e87

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp312-cp312-macosx_10_13_universal2.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ab503d6917810622ca6878c070794dd3d5c8e75a47dc76f194b842b01dbdd44e
MD5 cdb4abb84bb5f5d42f83f28cbdfb52d7
BLAKE2b-256 c370f6867e93ac7739c7c9c8cf884ca55af2cccc137204e1647c50e57d3acd1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9da4c52366a5d68a05ca3bdeab3640a0acb473ee79ec09c95438159b64c97e70
MD5 59cc44c6de69e36e340db4e73334f909
BLAKE2b-256 7a6efd5a1a6de8d105a7a97ac2e3673ce296570dba483e320e5b1e694d439fe4

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9e5d43a80601d9958849ac2282cd8ea290be26cfa1b8ddd6612f8c4350f364aa
MD5 98d703684be7a2e64fdab735e89d391b
BLAKE2b-256 ae74eb3f5b0101a1ff66b67eebf583cfd9e7f2d59a344c7d418e248c31db76d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp311-cp311-macosx_10_9_universal2.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 da999aaa84bd2f273bf14165c8eaadbf99808cdef3cf38d6f2312ffb85f57a46
MD5 45925d86bda5cbd7302131f123720f6b
BLAKE2b-256 1b145ab816fbc1cd06e9e9e2f73703bfa03701146090afae86dbeec8f87e5312

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e5add3fd192f273c2024ece61f6d6c55b2470d1990f52c6ea3d5c02096e1ac3f
MD5 f70aba45e3c3f302161be167270ada6e
BLAKE2b-256 5120fd8578b63d59ddacac6d487df6b2146509a052dbfcd2d425e02062aa04f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exact_tests-0.8.5-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6badb13b68e02493a1c7a24db94dc22731fa50dcc1b3f818c2b985a9f06925d1
MD5 6b7510665c157466b0b253d4175b5ee8
BLAKE2b-256 c6c365a30edea27e3843328564aceecb95160de2f11934da09d3fc343c27ac91

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.5-cp310-cp310-macosx_10_9_universal2.whl:

Publisher: release.yaml on chrchang/stats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page