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.3.tar.gz (291.8 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.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

exact_tests-0.8.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

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

exact_tests-0.8.3-cp314-cp314-macosx_10_15_universal2.whl (633.9 kB view details)

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

exact_tests-0.8.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

exact_tests-0.8.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

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

exact_tests-0.8.3-cp313-cp313-macosx_10_13_universal2.whl (631.3 kB view details)

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

exact_tests-0.8.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

exact_tests-0.8.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

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

exact_tests-0.8.3-cp312-cp312-macosx_10_13_universal2.whl (631.9 kB view details)

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

exact_tests-0.8.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

exact_tests-0.8.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

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

exact_tests-0.8.3-cp311-cp311-macosx_10_9_universal2.whl (629.1 kB view details)

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

exact_tests-0.8.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

exact_tests-0.8.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

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

exact_tests-0.8.3-cp310-cp310-macosx_10_9_universal2.whl (632.0 kB view details)

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

File details

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

File metadata

  • Download URL: exact_tests-0.8.3.tar.gz
  • Upload date:
  • Size: 291.8 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.3.tar.gz
Algorithm Hash digest
SHA256 1a6c181432a8019339881e14da23d0f2c49182c602d4add515b5d4d0553c7a15
MD5 920a8194e564783615473f5201321c41
BLAKE2b-256 cd92684641758d0c706dd4eb26993a4938c29f96bea95a35e74e83df50beb49d

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3.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.3-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.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8357b8ea8aee0a5e8835b7b09671f83fbf6df5bdf251cc9cbafc39bb28b3c18a
MD5 b3a05403cb71ad76bdb192f74048f096
BLAKE2b-256 753d864e51a2c03201052c8ea00fba84580ac33b0d01e4c457d55a8441463e79

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7984d4d9afd78550036a41a4f709d361484712bf472b88ed723fb7f8e35f0856
MD5 960c9567411ed1142c1b32609e7bbb73
BLAKE2b-256 183be8c28168de0d9c688dd3dc67b6ed5cef51c62f312a3a383b2eb618582bb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.3-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0e03cef02fbd5b51f99ba2974929b2584f72ec0d3b16827604b7483687f27aef
MD5 312f4e839d67e427a28a6a573d7546ce
BLAKE2b-256 83ee5820cc3eea1c090aa75fce1dd96a98c1b58c6b5010f6eac56e392b080563

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-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.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 31a8953aa11f6851d6b79cd832eb2c3cf863060311050a5778d81be175c8acad
MD5 453c3cad129fac760b02cab422d8786c
BLAKE2b-256 b3595d3eb6e62958db3c9ef22a3db34e6f26524c818e0341d858622694f95300

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 08e2dcf85f3b21c966fc4caf82a6863e67935a712b0c9611323122f0f87752a2
MD5 817f4335465723d95f126057257b0bed
BLAKE2b-256 b64a026a1cc1063d96b8908e6555d93c5498592fa81d1cf8afd119a3ede24a01

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.3-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 8844912e32cf513e4126d1ad06e4b2a76bafba8ba98c57ab074ebc156e2bad57
MD5 04ed8dd0a0a52f6285472a8ac4a1496f
BLAKE2b-256 9960cc94f901530420549fd61a339e0992f293c6d97cec35621f07a4f40dfcb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-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.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0307f40b561c70daf58c2b2fada53637d82a0c7b72d18f50f50f7a9ee5a9b22a
MD5 4a6fcbe1c8fed86a970b309e97a74e05
BLAKE2b-256 0af662d96d392eb44944cce111803bc3cb30b1080bd1a3a53cec27e39b31251e

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 917d96366db2a94395144b0d7c453702030bcc942d59b3833840b13f4544d2db
MD5 fc1200688aed5833219a839509a07482
BLAKE2b-256 e70ffcf7cd89764b3676c687d517522dfc8f6c7739fa74f6dd6e00f685d5b9dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.3-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 9ac49e6378abfc75a660a3b50ad5a60bcb707a14f9dc0f3e3e314807e3f1293f
MD5 02541080ffa7c3ff943ffe35ecbf62f2
BLAKE2b-256 ca36012e68bc4f43f12dbfa2e1bfa264164fc8f6f2d477a9bb263d206ec75bae

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-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.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5bf3d913820e88e1e2a8e54439c71384e3e2e06e07c90cedda19e054ad8221e6
MD5 4eb0b0be1dee9b37c86b3dc7e046645a
BLAKE2b-256 80a18cef9b11814a2193cfa5cb19c5950d1b05996fb2564186277e58bf7b2257

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e248500090988d732ef9798fd3ed14518ddb3d0ebfbaf148b358c752ec4b2ad5
MD5 55dd607b9e826ed23f574e6b8e65835a
BLAKE2b-256 b690a8c54ba1ad5cdf0d26934ff411c0cb38f2fdf4ff4e4d7e7633efa4afa372

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 69bc492eac9377d47fcba1a958e5c322fcafaf358707410509e37b33c73f83a6
MD5 e59f22da8bb16d248b2a5fb6a1317b16
BLAKE2b-256 5b9219cddc4f050346f01f29dbbb5ee2c500e07035a3979d4c414fd3c3fd1e62

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-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.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dad2223f2afb06c398da6f76b15a73eaeced27c1a0ba0420a9d307d2bbd2cea7
MD5 a4176923bbaa92b93a2dd2ee28831cfe
BLAKE2b-256 02f8f9441a81f7edb047dddd9676a34688cfb5dc719f4c568421ff9b97e6c956

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3b150315d7afdf2bb67a8edc5e49c7742d9be10df9f722bd2dadd9f756decdce
MD5 40f4179963d856c6f0387240b49e78b4
BLAKE2b-256 90271de2b6ec9cc8f837cdd142a7ecc5606d62ac3299b78a87ed815c21cd0d23

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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.3-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for exact_tests-0.8.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 351f315574ad5e8898aa3b777a886e69d3d7c7aea710e83edc57faaba8b76275
MD5 0cae6603a4e9919a61dee62246220038
BLAKE2b-256 6cc86cf1d55c004fbf30e9b6819e9cf066b8cebefff55110e1b4cc26e4960aa1

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.3-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