Skip to main content

pyqcy [pyksi:] is an automated testing framework for Python inspired by the wonderful QuickCheck library for Haskell.

What’s the idea?

Instead of writing fully-fledged test cases, with pyqcy you simply define logical properties that your code is expected to satisfy. Based on that, pyqcy will automatically generate test cases for you - hundreds of them, in fact!

How does it look like?

For starters, try this:

from pyqcy import qc, int_, main

@qc
def addition_actually_works(
    x=int_(min=0), y=int_(min=0)
):
    the_sum = x + y
    assert the_sum >= x and the_sum >= y

if __name__ == '__main__':
    main()
$ pip install pyqcy
$ python test.py
addition_actually_works: passed 100 tests.

pyqcy generated 100 test cases and checked whether they all pass. For a few lines of code, that’s rather nice, isn’t it? :)

Of course, you are not limited to integers - there is built-in support for all standard types, including lists and dictionaries. Custom classes can be used as well: just specify how to generate an @arbitrary object of your class, and you’re set.

Hey, I like it!

Then check these links to find out more:

Metadata

Release files for pyqcy 0.4.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyqcy 0.4.5
File Size Uploaded
pyqcy-0.4.5.tar.gz 18.3 kB Details

Release files / pyqcy-0.4.5.tar.gz

Download URL pyqcy-0.4.5.tar.gz
Size 18.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4df9bf5ce73fecebe4ca22627560fad77ad807855f3260930f2025f807e6b22c
BLAKE2b-256 checksum
How to use checksums
2ec926f9fc4264b589c23d057760ac9bb3c3470002b11103231083674b3a7d84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.4.5 This release

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2

1 release file

0.1.1

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page