Subject: CVS commit: pkgsrc/devel/py-hypothesis
From: Adam Ciarcinski
Date: 2019-03-13 09:51:48
Message id:

Log Message:
py-hypothesis: updated to 4.11.1

This is a formatting-only patch, enabled by a new version of :pypi:isort.

This release deprecates :func:~hypothesis.strategies.sampled_from with empty \ 
sequences. This returns :func:~hypothesis.strategies.nothing, which gives a \ 
clear error if used directly... but simply vanishes if combined with another \ 

Tests that silently generate less than expected are a serious problem for anyone \ 
relying on them to find bugs, and we think reliability more important than \ 
convenience in this case.

This release improves Hypothesis's to detect flaky tests, by noticing when the \ 
behaviour of the test changes between runs. In particular this will notice many \ 
new cases where data generation depends on external state (e.g. external sources \ 
of randomness) and flag those as flaky sooner and more reliably.

The basis of this feature is a considerable reengineering of how Hypothesis \ 
stores its history of test cases, so on top of this its memory usage should be \ 
considerably reduced.

This release adds the strategy :func:~hypothesis.extra.numpy.valid_tuple_axes, \ 
which generates tuples of axis-indices that can be passed to the axis argument \ 
in NumPy's sequential functions (e.g. :func:numpy:numpy.sum).

This release significantly tightens validation in :class:hypothesis.settings. \ 
:obj:~hypothesis.settings.max_examples, :obj:~hypothesis.settings.buffer_size, \ 
and :obj:~hypothesis.settings.stateful_step_count must be positive integers; \ 
:obj:~hypothesis.settings.deadline must be a positive number or None; and \ 
:obj:~hypothesis.settings.derandomize must be either True or False.

As usual, this replaces existing errors with a more helpful error and starts new \ 
validation checks as deprecation warnings.

This release makes some micro-optimisations to certain calculations performed in \ 
the shrinker. These should particularly speed up large test cases where the \ 
shrinker makes many small changes. It will also reduce the amount allocated, but \ 
most of this is garbage that would have been immediately thrown away, so you \ 
probably won't see much effect specifically from that.

This patch removes some overhead from :func:~hypothesis.extra.numpy.arrays with \ 
a constant shape and dtype. The resulting performance improvement is modest, but \ 
worthwile for small arrays.