Skip to main content

Hypothesis strategies for Array API libraries

Project description

Hypothesis strategies for Array API libraries

Note: hypothesis-array-api uses private APIs from Hypothesis and so should be considered unstable.

Install

You can get the strategies from PyPI.

pip install hypothesis-array-api

To install from source, get Poetry and then poetry install inside the repository. Using poetry shell is a good idea for development, where you can use pytest to run the full test suite (note there a lot of expected warnings I need to declutter.)

Quickstart

from numpy import array_api as xp

from hypothesis import given
from hypothesis_array import get_strategies_namespace

xpst = get_strategies_namespace(xp)

@given(xpst.arrays(dtype=xpst.scalar_strategies(), shape=xpst.array_shapes()))
def your_test(array):
    ...

Contributors

@honno created these strategies with input from @mattip, @asmeurer, @rgommers and other great folk from @Quansight-Labs.

Great inspiration was taken from the NumPy strategies that Hypothesis ships with at hypothesis.extra.numpy. Thanks to the Hypothesis contributors who helped shape it, including: @Zac-HD, @rsokl, @DRMacIver, @takluyver, @rdturnermtl, @kprzybyla, @sobolevn, @kir0ul, @lmount, @jdufresne, @gsnsw-felixs and @alexwlchan.

License

Most files are licensed under MPL and are denoted as such in their header, copyright to David R. MacIver and other contributors. I have made modifications and additions to all these files, excluding those in tests/common/ which remain unchanged. Everything else is licensed under MIT, copyright to Matthew Barber.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hypothesis-array-api-0.0.4.tar.gz (9.8 kB view hashes)

Uploaded Source

Built Distribution

hypothesis_array_api-0.0.4-py3-none-any.whl (8.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page