Skip to content

Commit b0335aa

Browse files
authored
Merge pull request #3724 from HypothesisWorks/create-pull-request/patch
2 parents 4e675de + 1ccd8b1 commit b0335aa

File tree

12 files changed

+41
-27
lines changed

12 files changed

+41
-27
lines changed

build.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ if [ -n "${GITHUB_ACTIONS-}" ] || [ -n "${CODESPACES-}" ] ; then
2323
else
2424
# Otherwise, we install it from scratch
2525
# NOTE: tooling keeps this version in sync with ci_version in tooling
26-
"$SCRIPTS/ensure-python.sh" 3.10.12
27-
PYTHON=$(pythonloc 3.10.12)/bin/python
26+
"$SCRIPTS/ensure-python.sh" 3.10.13
27+
PYTHON=$(pythonloc 3.10.13)/bin/python
2828
fi
2929

3030
TOOL_REQUIREMENTS="$ROOT/requirements/tools.txt"

hypothesis-python/RELEASE.rst

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
RELEASE_TYPE: patch
2+
3+
This patch updates our autoformatting tools, improving our code style without any API changes.

hypothesis-python/docs/conf.py

+8
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,14 @@ def setup(app):
5555
if root.joinpath("RELEASE.rst").is_file():
5656
app.tags.add("has_release_file")
5757

58+
# Workaround for partial-initialization problem when autodoc imports libcst
59+
import libcst
60+
61+
import hypothesis.extra.codemods
62+
63+
assert libcst
64+
assert hypothesis.extra.codemods
65+
5866
# patch in mock array_api namespace so we can autodoc it
5967
from hypothesis.extra.array_api import (
6068
RELEASED_VERSIONS,

hypothesis-python/src/hypothesis/strategies/_internal/core.py

+8-5
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ def lists(
327327
elements = SampledFromStrategy(
328328
sorted(range(elements.start, elements.end + 1), key=abs)
329329
if elements.end < 0 or elements.start > 0
330-
else list(range(0, elements.end + 1))
330+
else list(range(elements.end + 1))
331331
+ list(range(-1, elements.start - 1, -1))
332332
)
333333

@@ -779,6 +779,9 @@ def randoms(
779779
would occur with very low probability when it is set to True, and this
780780
flag should only be set to True when your code relies on the distribution
781781
of values for correctness.
782+
783+
For managing global state, see the :func:`~hypothesis.strategies.random_module`
784+
strategy and :func:`~hypothesis.register_random` function.
782785
"""
783786
check_type(bool, note_method_calls, "note_method_calls")
784787
check_type(bool, use_true_random, "use_true_random")
@@ -814,16 +817,16 @@ def do_draw(self, data):
814817
@cacheable
815818
@defines_strategy()
816819
def random_module() -> SearchStrategy[RandomSeeder]:
817-
"""The Hypothesis engine handles PRNG state for the stdlib and Numpy random
818-
modules internally, always seeding them to zero and restoring the previous
819-
state after the test.
820+
"""Hypothesis always seeds global PRNGs before running a test, and restores the
821+
previous state afterwards.
820822
821823
If having a fixed seed would unacceptably weaken your tests, and you
822824
cannot use a ``random.Random`` instance provided by
823825
:func:`~hypothesis.strategies.randoms`, this strategy calls
824826
:func:`python:random.seed` with an arbitrary integer and passes you
825827
an opaque object whose repr displays the seed value for debugging.
826-
If ``numpy.random`` is available, that state is also managed.
828+
If ``numpy.random`` is available, that state is also managed, as is anything
829+
managed by :func:`hypothesis.register_random`.
827830
828831
Examples from these strategy shrink to seeds closer to zero.
829832
"""

hypothesis-python/tests/conjecture/test_float_encoding.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from hypothesis.internal.conjecture.engine import ConjectureRunner
2020
from hypothesis.internal.floats import float_to_int
2121

22-
EXPONENTS = list(range(0, flt.MAX_EXPONENT + 1))
22+
EXPONENTS = list(range(flt.MAX_EXPONENT + 1))
2323
assert len(EXPONENTS) == 2**11
2424

2525

hypothesis-python/tests/cover/test_regex.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def unicode_regex(pattern):
6767
def _test_matching_pattern(pattern, *, isvalidchar, is_unicode=False):
6868
r = unicode_regex(pattern) if is_unicode else ascii_regex(pattern)
6969

70-
codepoints = range(0, sys.maxunicode + 1) if is_unicode else range(1, 128)
70+
codepoints = range(sys.maxunicode + 1) if is_unicode else range(1, 128)
7171
for c in [chr(x) for x in codepoints]:
7272
if isvalidchar(c):
7373
msg = "%r supposed to match %r (%r, category %r), but it doesn't"

hypothesis-python/tests/nocover/test_filtering.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def test_is_filtered(x):
3232
st.integers(1, 20),
3333
st.integers(0, 19).map(lambda x: x + 1),
3434
st.sampled_from(range(1, 21)),
35-
st.sampled_from(range(0, 20)).map(lambda x: x + 1),
35+
st.sampled_from(range(20)).map(lambda x: x + 1),
3636
]
3737

3838

requirements/coverage.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ pexpect==4.8.0
5252
# via -r requirements/test.in
5353
platformdirs==3.10.0
5454
# via black
55-
pluggy==1.2.0
55+
pluggy==1.3.0
5656
# via pytest
5757
ptyprocess==0.7.0
5858
# via pexpect

requirements/fuzzing.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ flask==2.2.5
5454
# via dash
5555
hypofuzz==23.7.1
5656
# via -r requirements/fuzzing.in
57-
hypothesis[cli]==6.82.5
57+
hypothesis[cli]==6.82.6
5858
# via hypofuzz
5959
idna==3.4
6060
# via requests
@@ -105,7 +105,7 @@ platformdirs==3.10.0
105105
# via black
106106
plotly==5.16.1
107107
# via dash
108-
pluggy==1.2.0
108+
pluggy==1.3.0
109109
# via pytest
110110
psutil==5.9.5
111111
# via hypofuzz

requirements/test.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ packaging==23.1
1818
# via pytest
1919
pexpect==4.8.0
2020
# via -r requirements/test.in
21-
pluggy==1.2.0
21+
pluggy==1.3.0
2222
# via pytest
2323
ptyprocess==0.7.0
2424
# via pexpect

requirements/tools.txt

+9-9
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ platformdirs==3.10.0
153153
# black
154154
# tox
155155
# virtualenv
156-
pluggy==1.2.0
156+
pluggy==1.3.0
157157
# via
158158
# pytest
159159
# tox
@@ -177,7 +177,7 @@ pyproject-api==1.5.4
177177
# via tox
178178
pyproject-hooks==1.0.0
179179
# via build
180-
pyright==1.1.323
180+
pyright==1.1.324
181181
# via -r requirements/tools.in
182182
pytest==7.4.0
183183
# via -r requirements/tools.in
@@ -203,7 +203,7 @@ rfc3986==2.0.0
203203
# via twine
204204
rich==13.5.2
205205
# via twine
206-
ruff==0.0.285
206+
ruff==0.0.286
207207
# via -r requirements/tools.in
208208
secretstorage==3.3.3
209209
# via keyring
@@ -220,7 +220,7 @@ sortedcontainers==2.4.0
220220
# via hypothesis (hypothesis-python/setup.py)
221221
soupsieve==2.4.1
222222
# via beautifulsoup4
223-
sphinx==6.2.1
223+
sphinx==7.2.3
224224
# via
225225
# -r requirements/tools.in
226226
# sphinx-codeautolink
@@ -236,7 +236,7 @@ sphinx-codeautolink==0.15.0
236236
# via -r requirements/tools.in
237237
sphinx-hoverxref==1.3.0
238238
# via -r requirements/tools.in
239-
sphinx-rtd-theme==1.2.2
239+
sphinx-rtd-theme==1.3.0
240240
# via -r requirements/tools.in
241241
sphinx-selective-exclude==1.0.3
242242
# via -r requirements/tools.in
@@ -254,7 +254,7 @@ sphinxcontrib-jsmath==1.0.1
254254
# via sphinx
255255
sphinxcontrib-qthelp==1.0.6
256256
# via sphinx
257-
sphinxcontrib-serializinghtml==1.1.8
257+
sphinxcontrib-serializinghtml==1.1.9
258258
# via sphinx
259259
sqlparse==0.4.4
260260
# via django
@@ -273,7 +273,7 @@ tomli==2.0.1
273273
# pyproject-hooks
274274
# pytest
275275
# tox
276-
tox==4.9.0
276+
tox==4.10.0
277277
# via -r requirements/tools.in
278278
traitlets==5.9.0
279279
# via
@@ -289,7 +289,7 @@ types-pyopenssl==23.2.0.2
289289
# via types-redis
290290
types-pytz==2023.3.0.1
291291
# via -r requirements/tools.in
292-
types-redis==4.6.0.4
292+
types-redis==4.6.0.5
293293
# via -r requirements/tools.in
294294
typing-extensions==4.7.1
295295
# via
@@ -310,7 +310,7 @@ wcwidth==0.2.6
310310
# via prompt-toolkit
311311
webencodings==0.5.1
312312
# via bleach
313-
wheel==0.41.1
313+
wheel==0.41.2
314314
# via pip-tools
315315
zipp==3.16.2
316316
# via importlib-metadata

tooling/src/hypothesistooling/__main__.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -389,10 +389,10 @@ def run_tox(task, version, *args):
389389
# When a version is added or removed, manually update the env lists in tox.ini and
390390
# workflows/main.yml, and the `Programming Language ::` specifiers in setup.py
391391
PYTHONS = {
392-
"3.8": "3.8.17",
393-
"3.9": "3.9.17",
394-
"3.10": "3.10.12",
395-
"3.11": "3.11.4",
392+
"3.8": "3.8.18",
393+
"3.9": "3.9.18",
394+
"3.10": "3.10.13",
395+
"3.11": "3.11.5",
396396
"3.12": "3.12-dev",
397397
"3.13": "3.13-dev",
398398
"pypy3.8": "pypy3.8-7.3.11",

0 commit comments

Comments
 (0)