There is a newer version of this record available.

Software Open Access

Hypothesis: Property-Based Testing for Python

MacIver, David R.; Hatfield-Dodds, Zac; many other contributors

"register_random()" has used "weakref" since 6.27.1 - 2021-11-22, allowing the "Random"-compatible objects to be garbage-collected when there are no other references remaining in order to avoid memory leaks. We now raise an error or emit a warning when this seems likely to happen immediately.

The type annotation of "register_random()" was also widened so that structural subtypes of "Random" are accepted by static typecheckers.

The canonical version of these notes (with links) is on readthedocs.

If you use Hypothesis as part of a published research project, please cite our paper in the Journal of Open Source Software: Text: MacIver et al., (2019). Hypothesis: A new approach to property-based testing. Journal of Open Source Software, 4(43), 1891, BibTeX: @article{MacIver2019Hypothesis, journal = {Journal of Open Source Software}, doi = {10.21105/joss.01891}, issn = {2475-9066}, number = {43}, publisher = {The Open Journal}, title = {Hypothesis: A new approach to property-based testing}, url = {}, volume = {4}, author = {MacIver, David and Hatfield-Dodds, Zac and Contributors, Many}, pages = {1891}, date = {2019-11-21}, year = {2019}, month = {11}, day = {21}, } To reference a particular version of Hypothesis as a software artifact, you can use the version-specific DOIs we create for each release under
Files (9.8 MB)
Name Size
9.8 MB Download
All versions This version
Views 6,8292
Downloads 22,9690
Data volume 85.2 GB0 Bytes
Unique views 5,8202
Unique downloads 9070


Cite as