Welcome to pypbt's documentation!

This library will help you in writing property based tests (PBTs) in python. If you are not, yet, familiar with PBT, check this introduction.

Here you are a list of features to consider when choosing it:

  • The resulting properties are as idiomatic as posible.

  • The resulting property expressions resembles as much as possible the usual matthematical language.

  • The complex concepts like inifinte sets are implemented as real python objects. Not combinations of functions, loops, etc.

Warning

This is a work in progress.

Our first goals are to validate the design of the library and to check whether the properties written using this library are easier to write and read.

Some features like shrinking come after those in the to-do list.

In order to learn how to use the library, you can start reading the tutorial. If you want to known more about the philosophy behind this implemetation of PBT, please check the explanation section.

Once you become familiar with the library, you can check futher examples at the how-to section, or even consult its api.