Skip to content

Commit c29d921

Browse files
authored
Merge pull request #4619 from HypothesisWorks/create-pull-request/patch
Update pinned dependencies
2 parents 3c4c05a + bff38de commit c29d921

13 files changed

Lines changed: 87 additions & 56 deletions

File tree

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ jobs:
9090
- check-quality
9191
- check-pytest62
9292
- check-pytest62
93-
- check-django51
93+
- check-django60
9494
- check-django42
9595
- check-pandas22
9696
- check-pandas21

hypothesis-python/docs/changelog.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2744,7 +2744,7 @@ This patch fixes a significant slowdown when using the :func:`~hypothesis.statef
27442744
6.100.2 - 2024-04-28
27452745
--------------------
27462746

2747-
Explicitly cast :obj:`numpy.finfo.smallest_normal` to builtin `float` in
2747+
Explicitly cast :obj:`numpy.finfo.smallest_normal <numpy.finfo>` to builtin `float` in
27482748
preparation for the :pypi:`numpy==2.0 <numpy>` release (:issue:`3950`)
27492749

27502750
.. _v6.100.1:

hypothesis-python/pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,17 +110,17 @@ pandas = ["pandas>=1.1"]
110110
pytest = ["pytest>=4.6"]
111111
dpcontracts = ["dpcontracts>=0.4"]
112112
redis = ["redis>=3.0.0"]
113-
crosshair = ["hypothesis-crosshair>=0.0.26", "crosshair-tool>=0.0.99"]
113+
crosshair = ["hypothesis-crosshair>=0.0.27", "crosshair-tool>=0.0.101"]
114114
# zoneinfo is an odd one: every dependency is platform-conditional.
115-
zoneinfo = ["tzdata>=2025.2; sys_platform == 'win32' or sys_platform == 'emscripten'"]
115+
zoneinfo = ["tzdata>=2025.3; sys_platform == 'win32' or sys_platform == 'emscripten'"]
116116
# We only support Django versions with upstream support - see
117117
# https://www.djangoproject.com/download/#supported-versions
118118
# We also leave the choice of timezone library to the user, since it
119119
# might be zoneinfo or pytz depending on version and configuration.
120120
django = ["django>=4.2"]
121121
watchdog = ["watchdog>=4.0.0"]
122122
# Avoid changing this by hand. This is automatically updated by update_changelog_and_version
123-
all = ["black>=20.8b0", "click>=7.0", "crosshair-tool>=0.0.99", "django>=4.2", "dpcontracts>=0.4", "hypothesis-crosshair>=0.0.26", "lark>=0.10.1", "libcst>=0.3.16", "numpy>=1.21.6", "pandas>=1.1", "pytest>=4.6", "python-dateutil>=1.4", "pytz>=2014.1", "redis>=3.0.0", "rich>=9.0.0", "tzdata>=2025.2; sys_platform == 'win32' or sys_platform == 'emscripten'", "watchdog>=4.0.0"]
123+
all = ["black>=20.8b0", "click>=7.0", "crosshair-tool>=0.0.101", "django>=4.2", "dpcontracts>=0.4", "hypothesis-crosshair>=0.0.27", "lark>=0.10.1", "libcst>=0.3.16", "numpy>=1.21.6", "pandas>=1.1", "pytest>=4.6", "python-dateutil>=1.4", "pytz>=2014.1", "redis>=3.0.0", "rich>=9.0.0", "tzdata>=2025.3; sys_platform == 'win32' or sys_platform == 'emscripten'", "watchdog>=4.0.0"]
124124

125125
[tool.setuptools.dynamic]
126126
version = {attr = "hypothesis.version.__version__"}

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import datetime as dt
1212
import operator as op
13+
import warnings
1314
import zoneinfo
1415
from calendar import monthrange
1516
from functools import cache, partial
@@ -420,7 +421,14 @@ def timezone_keys(
420421
# check_type(bool, allow_deprecated, "allow_deprecated")
421422
check_type(bool, allow_prefix, "allow_prefix")
422423

423-
available_timezones = ("UTC", *sorted(zoneinfo.available_timezones()))
424+
with warnings.catch_warnings():
425+
try:
426+
warnings.simplefilter("ignore", EncodingWarning)
427+
except NameError: # pragma: no cover
428+
pass
429+
# On Python 3.12 (and others?), `available_timezones()` opens files
430+
# without specifying an encoding - which our selftests make an error.
431+
available_timezones = ("UTC", *sorted(zoneinfo.available_timezones()))
424432

425433
# TODO: filter out alias and deprecated names if disallowed
426434

hypothesis-python/tests/crosshair/test_crosshair.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,14 @@ def test_crosshair_works_for_all_verbosities(verbosity):
2828
# check that we aren't realizing symbolics early in debug prints and killing
2929
# test effectiveness.
3030
@given(st.integers())
31-
@settings(backend="crosshair", deadline=1000, verbosity=verbosity, database=None)
31+
@settings(
32+
backend="crosshair",
33+
deadline=1000,
34+
verbosity=verbosity,
35+
derandomize=True,
36+
max_examples=1000,
37+
phases=[Phase.generate],
38+
)
3239
def f(n):
3340
assert n != 123456
3441

@@ -40,7 +47,13 @@ def f(n):
4047
def test_crosshair_works_for_all_verbosities_data(verbosity):
4148
# data draws have their own print path
4249
@given(st.data())
43-
@settings(backend="crosshair", verbosity=verbosity, database=None)
50+
@settings(
51+
backend="crosshair",
52+
verbosity=verbosity,
53+
derandomize=True,
54+
max_examples=1000,
55+
phases=[Phase.generate],
56+
)
4457
def f(data):
4558
n = data.draw(st.integers())
4659
assert n != 123456

hypothesis-python/tests/nocover/test_recursive.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ def test_self_ref_regression(_):
163163
pass
164164

165165

166+
@pytest.mark.skipif(sys.version_info >= (3, 14), reason="gc changes")
166167
@xfail_if_gil_disabled
167168
@flaky(min_passes=1, max_runs=2)
168169
def test_gc_hooks_do_not_cause_unraisable_recursionerror(testdir):

hypothesis-python/tox.ini

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ envlist = py{310,py310,311,py311,312,313,313t,314,314t,315,315t}-{brief,full,cov
33
toxworkdir={env:TOX_WORK_DIR:.tox}
44

55
[testenv]
6+
basepython={env:TOX_PYTHON_VERSION:python3}
67
deps =
78
-r../requirements/test.txt
89
extras =
@@ -182,17 +183,17 @@ commands =
182183
niche: bash scripts/other-tests.sh
183184
custom: python -bb -X dev -m pytest {posargs}
184185

185-
[testenv:django{42,51,52,-nocontrib}]
186+
[testenv:django{42,52,60,-nocontrib}]
186187
setenv=
187188
PYTHONWARNDEFAULTENCODING=1
188189
DJANGO_SETTINGS_MODULE=tests.django.toys.settings.settings
189190
nocontrib: DJANGO_SETTINGS_MODULE=tests.django.toys.settings.settings_no_contrib
190191
deps=
191192
-r../requirements/test.txt
192-
django42: django==4.2.26
193-
django51: django==5.1.14
194-
django52: django==5.2.8
195-
django-nocontrib: django==5.2.8
193+
django42: django==4.2.27
194+
django52: django==5.2.9
195+
django60: django==6.0.0
196+
django-nocontrib: django==6.0.0
196197
commands =
197198
python -bb -X dev -m tests.django.manage test tests.django {posargs}
198199

requirements/coverage.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ annotated-types==0.7.0
88
# via -r requirements/coverage.in
99
async-timeout==5.0.1
1010
# via redis
11-
black==25.11.0
11+
black==25.12.0
1212
# via -r requirements/coverage.in
1313
click==8.3.1
1414
# via
1515
# -r requirements/coverage.in
1616
# black
17-
coverage[toml]==7.12.0
17+
coverage[toml]==7.13.0
1818
# via pytest-cov
1919
dpcontracts==0.6.0
2020
# via -r requirements/coverage.in
@@ -24,7 +24,7 @@ exceptiongroup==1.3.1 ; python_version < "3.11"
2424
# pytest
2525
execnet==2.1.2
2626
# via pytest-xdist
27-
fakeredis==2.32.1
27+
fakeredis==2.33.0
2828
# via -r requirements/coverage.in
2929
iniconfig==2.3.0
3030
# via pytest
@@ -48,7 +48,7 @@ pathspec==0.12.1
4848
# via black
4949
pexpect==4.9.0
5050
# via -r requirements/test.in
51-
platformdirs==4.5.0
51+
platformdirs==4.5.1
5252
# via black
5353
pluggy==1.6.0
5454
# via
@@ -60,7 +60,7 @@ pyarrow==22.0.0
6060
# via -r requirements/coverage.in
6161
pygments==2.19.2
6262
# via pytest
63-
pytest==9.0.1
63+
pytest==9.0.2
6464
# via
6565
# -r requirements/test.in
6666
# pytest-cov
@@ -100,7 +100,7 @@ typing-extensions==4.15.0
100100
# black
101101
# exceptiongroup
102102
# fakeredis
103-
tzdata==2025.2
103+
tzdata==2025.3
104104
# via pandas
105105
watchdog==6.0.0
106106
# via -r requirements/coverage.in

requirements/crosshair.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ cattrs==25.3.0
1313
# via
1414
# lsprotocol
1515
# pygls
16-
crosshair-tool==0.0.99
16+
crosshair-tool==0.0.101
1717
# via
1818
# -r requirements/crosshair.in
1919
# hypothesis-crosshair
@@ -25,9 +25,9 @@ exceptiongroup==1.3.1 ; python_version < "3.11"
2525
# pytest
2626
execnet==2.1.2
2727
# via pytest-xdist
28-
hypothesis==6.148.3
28+
hypothesis==6.148.7
2929
# via hypothesis-crosshair
30-
hypothesis-crosshair==0.0.26
30+
hypothesis-crosshair==0.0.27
3131
# via -r requirements/crosshair.in
3232
importlib-metadata==8.7.0
3333
# via crosshair-tool
@@ -53,7 +53,7 @@ pygls==2.0.0
5353
# via crosshair-tool
5454
pygments==2.19.2
5555
# via pytest
56-
pytest==9.0.1
56+
pytest==9.0.2
5757
# via
5858
# -r requirements/test.in
5959
# pytest-xdist

requirements/fuzzing.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ attrs==25.4.0
1414
# via
1515
# outcome
1616
# trio
17-
black==25.11.0
17+
black==25.12.0
1818
# via
1919
# -r requirements/coverage.in
2020
# hypofuzz
@@ -24,7 +24,7 @@ click==8.3.1
2424
# -r requirements/coverage.in
2525
# black
2626
# hypothesis
27-
coverage[toml]==7.12.0
27+
coverage[toml]==7.13.0
2828
# via
2929
# hypofuzz
3030
# pytest-cov
@@ -41,7 +41,7 @@ exceptiongroup==1.3.1 ; python_version < "3.11"
4141
# trio
4242
execnet==2.1.2
4343
# via pytest-xdist
44-
fakeredis==2.32.1
44+
fakeredis==2.33.0
4545
# via -r requirements/coverage.in
4646
h11==0.16.0
4747
# via
@@ -57,7 +57,7 @@ hyperframe==6.1.0
5757
# via h2
5858
hypofuzz==25.11.1
5959
# via -r requirements/fuzzing.in
60-
hypothesis[cli,watchdog]==6.148.3
60+
hypothesis[cli,watchdog]==6.148.7
6161
# via hypofuzz
6262
idna==3.11
6363
# via
@@ -93,7 +93,7 @@ pathspec==0.12.1
9393
# via black
9494
pexpect==4.9.0
9595
# via -r requirements/test.in
96-
platformdirs==4.5.0
96+
platformdirs==4.5.1
9797
# via black
9898
pluggy==1.6.0
9999
# via
@@ -111,7 +111,7 @@ pygments==2.19.2
111111
# via
112112
# pytest
113113
# rich
114-
pytest==9.0.1
114+
pytest==9.0.2
115115
# via
116116
# -r requirements/test.in
117117
# hypofuzz
@@ -169,7 +169,7 @@ typing-extensions==4.15.0
169169
# hypercorn
170170
# starlette
171171
# taskgroup
172-
tzdata==2025.2
172+
tzdata==2025.3
173173
# via pandas
174174
watchdog==6.0.0
175175
# via

0 commit comments

Comments
 (0)