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=6.92e-07  approx=2.92e-07  scipy=2.99e-05 sec/iter
n=(2^20)-1: base=4.6e-05  approx=3.52e-06  scipy=2.99e-05 sec/iter
n=(2^35)-1: base=0.00113  approx=7.96e-05  scipy=9.5e-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.1.tar.gz (284.2 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.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.8 MB view details)

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

exact_tests-0.8.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.5 MB view details)

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

exact_tests-0.8.1-cp314-cp314-macosx_10_15_universal2.whl (607.1 kB view details)

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

exact_tests-0.8.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.8 MB view details)

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

exact_tests-0.8.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.5 MB view details)

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

exact_tests-0.8.1-cp313-cp313-macosx_10_13_universal2.whl (603.6 kB view details)

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

exact_tests-0.8.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB view details)

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

exact_tests-0.8.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.5 MB view details)

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

exact_tests-0.8.1-cp312-cp312-macosx_10_13_universal2.whl (604.1 kB view details)

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

exact_tests-0.8.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.8 MB view details)

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

exact_tests-0.8.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.5 MB view details)

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

exact_tests-0.8.1-cp311-cp311-macosx_10_9_universal2.whl (601.0 kB view details)

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

exact_tests-0.8.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.8 MB view details)

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

exact_tests-0.8.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.5 MB view details)

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

exact_tests-0.8.1-cp310-cp310-macosx_10_9_universal2.whl (602.0 kB view details)

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

File details

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

File metadata

  • Download URL: exact_tests-0.8.1.tar.gz
  • Upload date:
  • Size: 284.2 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.1.tar.gz
Algorithm Hash digest
SHA256 35e7aa23149574ca1d06794b251309e0d4ae274ec84a52a322d62e813412ca08
MD5 55a931e035933bda024164cd8ab2463c
BLAKE2b-256 15fb86e37d1ba86ffd46498e2d042018664aff53d6771855ce09be6233c41c2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.1.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.1-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.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79c3d13e98e2b826101b441671a7a14291482c49df444ee59c948bbe61565f7f
MD5 80b6daadb447b1378e6ed0a8763b6c9b
BLAKE2b-256 4acbcc88c04f84122fd1231524edf9c620b77cda3f0dbe32c9796c101cf82b98

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for exact_tests-0.8.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 67b8206626b846cd10c3a66d1ca91181b3440750fccb2e7f18f603f51a130a25
MD5 dc77d13becf3ca197c486106e7a682b0
BLAKE2b-256 2e9b99d6f929dfce5c104379e6483cc907317d7cb76936d4dd284e0ae2c52899

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for exact_tests-0.8.1-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 75246c40311f83ea365913392f6b0403d13579a4423e42e7677644dde618914a
MD5 43f525c0948e542b7b7cb0b5ecc8a027
BLAKE2b-256 949b686a0372d13b1b3e2c1eddd03c94e44b62910c3960f382019a384a21ae9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.1-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.1-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.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3b1a55b3842416ddde5d656073ba325c79f4d8338df9200d3e4d04fec19298ee
MD5 7ab511cedf60092ed8f9902341aed8ed
BLAKE2b-256 e677ff228dc468649350aa3db293f52defb301db781e4bcf2d2c1d849ee0e3d1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for exact_tests-0.8.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1af9cc75f6a499047de395cc4094b2a349c2aa39e1179b3e78e84b35e8a57a84
MD5 e4db94467151b6f94fe03c8bcba61b61
BLAKE2b-256 99c7b61288def7d64ad1d9d84c285c82f33d69989821b3521acf0df02041796b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for exact_tests-0.8.1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 e9f2d567055b5f21a313e3c643087b5866a3667b1147b28ec371741105083cd6
MD5 5e44337928685491d811e6b9d006be6d
BLAKE2b-256 b9ddb13dee213d280f6339cb36ac7e8a748652c76b17e027f3f09f705f93be28

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.1-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.1-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.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8cfc0bd1e05a971cc77837f27fe45cdf0b7a1e1f1cb0d7f009e16b2960953c5c
MD5 1c8af7adfa3e0af8031266c5e39921ac
BLAKE2b-256 a4c7d2b768b908fd226bae09e0427c6466c83472e91e8d0300825ca72edabe34

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for exact_tests-0.8.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d8dd6e39cc86c3843de2e83622eb70ab04ea6b7cb90aaa4315baea2a6a217900
MD5 26de12063954284f4e307ec8c0640fac
BLAKE2b-256 39754fdf7b9054ec0c281aaf8c98c362ae1715cfdac61936718fab1dfd566513

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for exact_tests-0.8.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 87ab9d2d4fbc10b7e2994782ef58df4f9001163f81c20d150709aac6469c5033
MD5 5d14b4d49e0a078b5c5bead7c399ed18
BLAKE2b-256 d1a5001b68765d32c8d417ca9a393d58fd74c8c31bb76f614ef68d332ff3a551

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.1-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.1-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.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c2f4eb717c5be339db1b06984d783464a9182b7683a7fd300a66cdb70ebd1459
MD5 b4a6cbae26a7c6fd8f60a1e81f845ae4
BLAKE2b-256 50b9011c67ea100988c743973763ecfe0d0dc8a049a1857161ef3c605db00c93

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for exact_tests-0.8.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 075d256fcb5d5c9c0946f89d6b12d340ccd27ad531c5bae028426627cb7f9512
MD5 1905ab8bd17c23b59f2fbbbd2b2b64a1
BLAKE2b-256 95628001355e71c624cc589f78fef2dc633a3da0dc30c5aa5b97207e45cd21b2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for exact_tests-0.8.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8e551fb33b279e4e259c647e5dbcafd18cbb4a9d117976a67aa1d666d5d937dd
MD5 a660a8c0aa25822c7017d89e96ddf9fc
BLAKE2b-256 762c82a85a1048fde6a352a2b0a738eb1a3c3b9d6a8665a677d948aea33dcfe9

See more details on using hashes here.

Provenance

The following attestation bundles were made for exact_tests-0.8.1-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.1-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.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3cd9d8204a218ad0d046661d6eeefe46aef4630845a7cf1443c0ff6c7366f5e5
MD5 74ad9356cb29b2814c383510b9b79e5f
BLAKE2b-256 9541e286807a57ad808a6c01b9d3fe2c8ec446c672a4f48d4f87170f7cb37529

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for exact_tests-0.8.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1c6a14922e153055e21f4bdfa19f0a3e31b2ae0343423c201d56f4d6ca41e13d
MD5 b26b731211d8144a999591ea358e7d2a
BLAKE2b-256 279a48f40d8f6bdb829f803a8336ac877b3e6f3a785a5109b81ce646a2dbd60c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for exact_tests-0.8.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 697d644c2d1492931bf73bd0074c49ba91e060120de3eb2624b6c84d2ff74b84
MD5 cb350ec6b72881fdc616d0c9856666a3
BLAKE2b-256 b1fec28eabecb34ddeed2421e0bf735522d7d4edb46a97caf97f1854a2421984

See more details on using hashes here.

Provenance

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