Skip to content

fschulze/hypothesis

 
 

Repository files navigation

Hypothesis

Hypothesis is a library for testing your Python code against a much larger range of examples than you would ever want to write by hand. It's based on the Haskell library, Quickcheck, and is designed to integrate seamlessly into your existing Python unit testing work flow.

Hypothesis is both extremely practical and also advances the state of the art of unit testing by some way. It's easy to use, stable, and extremely powerful. If you're not using Hypothesis to test your project then you're missing out.

Hypothesis works with most widely used versions of Python. It officially supports CPython 2.7, 3.4 and 3.5, as well as PyPy. CPython 2.6 and 3.3 are supported on a "best effort" basis - they probably work, and bugs in them may be fixed, but they're not regularly tested and are likely to work less well.

Jython, IronPython and PyPy3 are known not to work and there are currently no plans to support them.

To learn more about how to use Hypothesis, extensive documentation and examples of usage are available at readthedocs.

If you want to talk to people about using Hypothesis, we have both an IRC channel and a mailing list.

If you want to receive occasional updates about Hypothesis, including useful tips and tricks, there's a TinyLetter mailing list to sign up for them.

If you want to contribute to Hypothesis, instructions are here.

If you're looking for inspiration for writing your own QuickCheck clone, here's a list of ideas you might want to borrow.

If you want to hear from people who are already using Hypothesis, some of them have written about it.

If you want to create a downstream package of Hypothesis, please read these guidelines for packagers

Ongoing Development

Development on Hypothesis is a mix of community provided and sponsored. If you wish to contribute, either financially or through code, you can read more about the process in the documentation.

About

Hypothesis is an advanced Quickcheck style testing library for Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 79.8%
  • Jupyter Notebook 18.0%
  • Other 2.2%