Skip to main content

Python bindings and utilities for e-Closure based multiple testing procedures

Project description

eclosure

eclosure provides Python bindings and research utilities for e-Closure based multiple testing procedures. The package wraps a compiled C++ backend for the core closed e-BH and closed BY routines and ships example datasets used in the paper.

Installation

Install the core package from PyPI:

python -m pip install eclosure

Optional extras:

# experiment and real-data helpers
python -m pip install "eclosure[experiments]"

# plotting helpers used by the experiment code
python -m pip install "eclosure[plotting]"

Supported releases ship binary wheels for common CPython platforms. If you build from source, you will need a working C++17 toolchain.

Quick start

import eclosure

eclosure.closedeBH([1.0, 100.0], alpha=0.05)
eclosure.closedBY([0.01, 0.5], alpha=0.05)

The top-level API focuses on the stable testing procedures. The experiments workflow is available through the packaged module:

python -m eclosure.experiments --mode real --alpha 0.1 --out-dir figures

Learn more

The full package documentation includes:

  • API reference for closedBY, closedeBH, and packaged data helpers
  • Script documentation for python -m eclosure.experiments
  • Testing guidance for unit, real-data, and timing suites
  • Notes on repository-only exploratory scripts that are not part of the package

See https://neilzxu.github.io/eclosure/ for the full docs.

Citation

@article{xu2025bringing,
  title={Bringing Closure to False Discovery Rate Control: A General Principle for Multiple Testing},
  author={Xu, Ziyu and Solari, Aldo and Fischer, Lasse and de Heide, Rianne and Ramdas, Aaditya and Goeman, Jelle},
  journal={arXiv preprint arXiv:2509.02517},
  year={2025}
}

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

eclosure-0.1.1.tar.gz (538.9 kB view details)

Uploaded Source

Built Distributions

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

eclosure-0.1.1-cp313-cp313-win_amd64.whl (353.7 kB view details)

Uploaded CPython 3.13Windows x86-64

eclosure-0.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

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

eclosure-0.1.1-cp313-cp313-macosx_10_13_universal2.whl (440.7 kB view details)

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

eclosure-0.1.1-cp312-cp312-win_amd64.whl (353.7 kB view details)

Uploaded CPython 3.12Windows x86-64

eclosure-0.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

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

eclosure-0.1.1-cp312-cp312-macosx_10_13_universal2.whl (440.6 kB view details)

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

eclosure-0.1.1-cp311-cp311-win_amd64.whl (353.0 kB view details)

Uploaded CPython 3.11Windows x86-64

eclosure-0.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

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

eclosure-0.1.1-cp311-cp311-macosx_10_9_universal2.whl (439.1 kB view details)

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

eclosure-0.1.1-cp310-cp310-win_amd64.whl (352.4 kB view details)

Uploaded CPython 3.10Windows x86-64

eclosure-0.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

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

eclosure-0.1.1-cp310-cp310-macosx_10_9_universal2.whl (436.6 kB view details)

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

eclosure-0.1.1-cp39-cp39-win_amd64.whl (353.1 kB view details)

Uploaded CPython 3.9Windows x86-64

eclosure-0.1.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

eclosure-0.1.1-cp39-cp39-macosx_10_9_universal2.whl (436.8 kB view details)

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

File details

Details for the file eclosure-0.1.1.tar.gz.

File metadata

  • Download URL: eclosure-0.1.1.tar.gz
  • Upload date:
  • Size: 538.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for eclosure-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f29303190701bd8cc39541e63a4e72013cb4be13f3135c41cdd4acbeba8f1203
MD5 1b925d1432415fb767e2b19c9a6d7485
BLAKE2b-256 a44824c093cdf2dc806a69fa95f862115dcdefdc275b6a227d9ed3cc6dbad731

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: eclosure-0.1.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 353.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for eclosure-0.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fe9c756d5bc010eeec20d03b76b5b8122a9b82115f6f86abf8f4f78fa0e3c543
MD5 143d4123c8e599610aa38a56b235661d
BLAKE2b-256 3d152fcb080a366cef680b23f4c9c14f1e90c320daf7fbdf52e2d85b5514c6ae

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eclosure-0.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 27879a3cd0906689c2612f5a32341c19ccfcb9814956b2890819b1f65df6f8ef
MD5 5c555675a3df03af5ebcc3e3c77e4600
BLAKE2b-256 086ef0f94aecc035f6b7ae818c155fb9124e60195049c8ea43161b26bdac5de9

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for eclosure-0.1.1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 c96c3ed308dc5e5c4327e65dae9820ed84f6dbdf6d13c9a03cb0a5ee1fcd9dfc
MD5 40c2eb32930ce1d80240cc312415906f
BLAKE2b-256 210286caada23c2f9f0c67cbd74db56d4630dc26f6f5e0396cf90065e7fa0daf

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: eclosure-0.1.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 353.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for eclosure-0.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a69f0f62863c0ca6e169f919f4410052ba2c6aef584403866f49ab91bb45dfea
MD5 5130a4d49153ab3091c437d9a3505b63
BLAKE2b-256 5a13a6d689da2f9e5c9db9405b7de9eaf8603fea6b6073f16d26b81307f29900

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eclosure-0.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8ed3b1ce7412c3c87b4e754a04e0128687cc08a8ac059bbedcd7f96187228166
MD5 9c37cda19472212beed2e8044b5cbbc6
BLAKE2b-256 ed3d6ffea36b7d0abd3a2f0c7d78705779fc11488e9ca49908776eff9f20eee0

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for eclosure-0.1.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f186ad5cef07032823cdc518f20761c24f63cb6f32c65e7b30c8e61323d4d25e
MD5 dd4f05b98fc9211b38dee27693f4d0d5
BLAKE2b-256 e84bd600a93c4aa875ca494690d8d1a3d91ced9fb382390b74280bf43b175fb9

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: eclosure-0.1.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 353.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for eclosure-0.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 81a5143f6763ae9d6ec1ff752ba802f973343ef1f077f5ebaca85415172d326b
MD5 78cd33b175fa574e39f77ce871123e65
BLAKE2b-256 4223c1f781f351c45f30e5427b4499c16c0c4e22f7f5ca14f8c0a7b0ba6faa7f

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eclosure-0.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2038206bf2ba5c2bcc4e27376f45ccb7df50b38e0067f59277c12c2155786242
MD5 21eb69de434fa821936f25ed35cb842b
BLAKE2b-256 3da7202788d7eab6cfd97ace2659d7a331890c7d3ac1593934cd1595a70596ff

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for eclosure-0.1.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 93ca6b3ece54ee8e9500cd48dc707ec28d119a6e9816859cef52d6568a7ff8d7
MD5 4d85dea2b61485eeb51b3d033c5fb33e
BLAKE2b-256 a2b1ffc772422607f874a15f71d943dc45a998cd5bb9196dc2a64a4bf6e71271

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: eclosure-0.1.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 352.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for eclosure-0.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 80af8f20cdbc103f66d72126841f7cab473598f7fb11101f4a0f1ef85f12396a
MD5 e2808b1e72627a474465ab2b835a5702
BLAKE2b-256 b647d3b991e072daf2897ad8059426927b37dce23e22b627eb4308667bc0aaa8

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eclosure-0.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 41e8de9d0d5289fcc0d079d697597287d93eb01f28e29691b562053f8c34bdc8
MD5 6f33150d458431162257aba4a6ccab35
BLAKE2b-256 6388db9a858701815d317448023a96929e07d9ac4a0ceac8bda7e048aed7e0f4

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for eclosure-0.1.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b745cbf9d28f26ba4147d33a70de9b3a812da2f3a188a55e202005580ec508b7
MD5 3cb58af3ef37a567d2e1669a21775221
BLAKE2b-256 8c59e38959a7f29f19697ba89a057907db4e9c49ebf3d45940d654b8af05b42b

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: eclosure-0.1.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 353.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for eclosure-0.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b0ee362b0407ebb5d31fbd91528812e8731087a54ee4a024fbac5cc393003e2d
MD5 5663475e895cd645a1b8b69dc09f222d
BLAKE2b-256 7d68e1448bd2032e0c1a9d19373e2ad8e3f43cc8937238bf540d9edcdb6f64d1

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eclosure-0.1.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 97234c8f827944ac84480f35a3c48a1b4ccfff6944789435d95050420d4d41d2
MD5 8a796a594a72939f801a33c7c06ab730
BLAKE2b-256 2737550f412064998092431a3a8a9472d3f38bb57037f8321ddeda2f9c2f0383

See more details on using hashes here.

File details

Details for the file eclosure-0.1.1-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for eclosure-0.1.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 88f6a38dd380a9702bf2b1c4db5d326b86c342b57bbcffd989a61e1fdfff4c19
MD5 36720759ec099d739a6d1a73419018ee
BLAKE2b-256 fc9cceb5d04abe830c900767d767a02fdeb50b8297f835f7c02d0d345255ef9a

See more details on using hashes here.

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