HypoFuzz
Adaptive fuzzing of Hypothesis tests.
Property-based approaches help you to write better tests which find more bugs, but don't have great ways to exchange much more CPU time for more bugs. The goal of this project is to bring togther the best parts of fuzzing and PBT.
Motivation
You can run a traditional fuzzer like AFL on Hypothesis tests to get basic coverage guidance. This works OK, but there's a lot of performance overhead. Installing, configuring, and connecting all the parts is a pain, and because it assumes one fuzz target per core you probably can't scale up far enough to fuzz your whole test suite.
Alternatively, you can just run Hypothesis with a large max_examples setting.
This also works pretty well, but doesn't get the benefits of coverage guidance and
you have to guess how long it'll take to run the tests - each gets the same budget.
HypoFuzz solves all of these problems, and more!
Features
- Interleave execution of many test functions
- Prioritise functions where we expect to make progress
- Coverage-guided exploration of your system-under-test
- Seamless python-native and CLI integrations (replaces the
pytestcommand)
Read more about HypoFuzz at https://hypofuzz.com/docs/, including the changelog.
Metadata
Release files for hypofuzz 25.11.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hypofuzz-25.11.1.tar.gz | 325.6 kB | Without provenance | Details for hypofuzz-25.11.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| hypofuzz-25.11.1-py3-none-any.whl | Python 3 | none | any | Details for hypofuzz-25.11.1-py3-none-any.whl |
Total release size: 2.3 MB
Release files / hypofuzz-25.11.1.tar.gz
| Download URL | hypofuzz-25.11.1.tar.gz |
|---|---|
| Size | 325.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
717a12481378e77c3fd7a44f2c03e17252591ed7e7e5fd2f714d33d7ad1cface
|
|
BLAKE2b-256 checksum How to use checksums |
9e594d1f496062e736ad389f5a4deefa2771eaff9ed4f0f431e18ba8c36c6b76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / hypofuzz-25.11.1-py3-none-any.whl
| Download URL | hypofuzz-25.11.1-py3-none-any.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b68b924b187bd4bab4e11ff54126d20129938fca6c35d293a68b11fe9e96bb2a
|
|
BLAKE2b-256 checksum How to use checksums |
e6aba3de6092e8cdb2c87e307b49d22dd88026189942587a17ac1b1e7f31c82c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Security for hypofuzz 25.11.1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.