Development roadmap¶
HypoFuzz is both a research project and a production-ready tool.
We believe that this dual nature is a strength for both: users get to leverage a tool based on cutting-edge research, but also ensure that the problems it solves are ones that really matter. There’s a lot of applied research out there which never makes the translation to practice - and we don’t intend to add to it.
For upcoming ideas, see our GitHub issue tracker.
Compatibility policy¶
HypoFuzz uses calendar-based versioning, with a
YY-MM-patch
format.
Because HypoFuzz is closely tied to Hypothesis internals, we recommend pinning your transitive dependencies using a tool like pip-compile, poetry, or pipenv. This makes it possible to reproduce old environments based only on your VCS history, and ensures that any compatibility problems in new releases can be handled when it suits you.
Direct dependencies¶
HypoFuzz’s direct dependencies are:
install_requires = [
"black >= 23.3.0",
"coverage >= 5.2.1",
"dash >= 2.0.0",
"hypothesis[cli] >= 6.103.0",
"libcst >= 1.0.0",
"pandas >= 1.0.0",
"psutil >= 3.0.0",
"pytest >= 6.0.1",
"requests >= 2.24.0",
]
API deprecation policy¶
The command-line interface will not make incompatible changes without at least three months notice, during which passing deprecated options will emit runtime warnings (e.g. via the terminal, displayed on the dashboard, etc.).
User-accesible integration points with Hypothesis, such as the
ExampleDatabase
API, are considered
stable upstream and are unlikely to change even in major version releases.
If it is impractical to continue to support old versions of Hypothesis (or other dependencies) after a major update, the minimum supported version will be updated. If you would like to use new versions of HypoFuzz with old versions of its dependencies, please get in touch to discuss your specific needs.