Skip to content

Commit a34dad0

Browse files
authored
Merge pull request #4168 from HypothesisWorks/create-pull-request/patch
Update pinned dependencies
2 parents 32220d9 + 24abdca commit a34dad0

File tree

11 files changed

+71
-57
lines changed

11 files changed

+71
-57
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ jobs:
226226
NODE_VERSION: 18
227227
# Note that the versions below must be updated in sync; we've automated
228228
# that with `update_pyodide_versions()` in our weekly cronjob.
229-
PYODIDE_VERSION: 0.26.2
229+
PYODIDE_VERSION: 0.26.3
230230
PYTHON_VERSION: 3.12.1
231231
EMSCRIPTEN_VERSION: 3.1.58
232232
steps:

hypothesis-python/RELEASE.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
RELEASE_TYPE: patch
2+
3+
This patch removes some ``# type: ignore`` comments following a :pypi:`mypy` update.

hypothesis-python/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def local_file(name):
6060
"pytest": ["pytest>=4.6"],
6161
"dpcontracts": ["dpcontracts>=0.4"],
6262
"redis": ["redis>=3.0.0"],
63-
"crosshair": ["hypothesis-crosshair>=0.0.16", "crosshair-tool>=0.0.74"],
63+
"crosshair": ["hypothesis-crosshair>=0.0.18", "crosshair-tool>=0.0.77"],
6464
# zoneinfo is an odd one: every dependency is platform-conditional.
6565
"zoneinfo": [
6666
"tzdata>=2024.2 ; sys_platform == 'win32' or sys_platform == 'emscripten'",

hypothesis-python/src/hypothesis/extra/dateutil.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
1818
You can use this strategy to make :func:`~hypothesis.strategies.datetimes`
1919
and :func:`~hypothesis.strategies.times` produce timezone-aware values.
20+
21+
.. tip::
22+
Consider using the stdlib :mod:`zoneinfo` module, via
23+
:func:`st.timezones() <hypothesis.strategies.timezones>`.
2024
"""
2125

2226
import datetime as dt

hypothesis-python/src/hypothesis/extra/pytz.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,14 @@
1515
1616
This module provides :pypi:`pytz` timezones.
1717
18-
You can use this strategy to make
19-
:py:func:`hypothesis.strategies.datetimes` and
20-
:py:func:`hypothesis.strategies.times` produce timezone-aware values.
18+
If you are unable to use the stdlib :mod:`zoneinfo` module, e.g. via the
19+
:func:`hypothesis.strategies.timezones` strategy, you can use this
20+
strategy with :py:func:`hypothesis.strategies.datetimes` and
21+
:py:func:`hypothesis.strategies.times` to produce timezone-aware values.
22+
23+
.. deprecated:: :mod:`zoneinfo` was added
24+
we intend to remove ``hypothesis.extra.pytz``, after libraries
25+
such as Pandas and Django complete their own migrations.
2126
"""
2227

2328
import datetime as dt
@@ -37,8 +42,12 @@ def timezones() -> st.SearchStrategy[dt.tzinfo]:
3742
"""Any timezone in the Olsen database, as a pytz tzinfo object.
3843
3944
This strategy minimises to UTC, or the smallest possible fixed
40-
offset, and is designed for use with
41-
:py:func:`hypothesis.strategies.datetimes`.
45+
offset, and is designed for use with :func:`hypothesis.strategies.datetimes`.
46+
47+
.. tip::
48+
Prefer the :func:`hypothesis.strategies.timezones` strategy, which uses
49+
the stdlib :mod:`zoneinfo` module and avoids `the many footguns in pytz
50+
<https://blog.ganssle.io/articles/2018/03/pytz-fastest-footgun.html>`__.
4251
"""
4352
all_timezones = [pytz.timezone(tz) for tz in pytz.all_timezones]
4453
# Some timezones have always had a constant offset from UTC. This makes

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,4 @@ def ip_addresses(
115115
if v not in (None, network.version):
116116
raise InvalidArgument(f"{v=} is incompatible with {network=}")
117117
addr_type = IPv4Address if network.version == 4 else IPv6Address
118-
return integers(int(network[0]), int(network[-1])).map(addr_type) # type: ignore
118+
return integers(int(network[0]), int(network[-1])).map(addr_type)

requirements/coverage.txt

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#
77
annotated-types==0.7.0
88
# via -r requirements/coverage.in
9-
async-timeout==4.0.3
9+
async-timeout==5.0.1
1010
# via redis
1111
attrs==24.1.0
1212
# via
@@ -18,7 +18,7 @@ click==8.1.7
1818
# via
1919
# -r requirements/coverage.in
2020
# black
21-
coverage[toml]==7.6.2
21+
coverage[toml]==7.6.4
2222
# via pytest-cov
2323
dpcontracts==0.6.0
2424
# via -r requirements/coverage.in
@@ -28,7 +28,7 @@ exceptiongroup==1.2.2 ; python_version < "3.11"
2828
# pytest
2929
execnet==2.1.1
3030
# via pytest-xdist
31-
fakeredis==2.25.1
31+
fakeredis==2.26.1
3232
# via -r requirements/coverage.in
3333
iniconfig==2.0.0
3434
# via pytest
@@ -38,12 +38,11 @@ libcst==1.5.0
3838
# via -r requirements/coverage.in
3939
mypy-extensions==1.0.0
4040
# via black
41-
numpy==2.1.2
41+
numpy==2.1.3
4242
# via
4343
# -r requirements/coverage.in
4444
# pandas
45-
# pyarrow
46-
packaging==24.1
45+
packaging==24.2
4746
# via
4847
# black
4948
# pytest
@@ -59,14 +58,14 @@ pluggy==1.5.0
5958
# via pytest
6059
ptyprocess==0.7.0
6160
# via pexpect
62-
pyarrow==17.0.0
61+
pyarrow==18.0.0
6362
# via -r requirements/coverage.in
6463
pytest==8.3.3
6564
# via
6665
# -r requirements/test.in
6766
# pytest-cov
6867
# pytest-xdist
69-
pytest-cov==5.0.0
68+
pytest-cov==6.0.0
7069
# via -r requirements/coverage.in
7170
pytest-xdist==3.6.1
7271
# via -r requirements/test.in
@@ -80,7 +79,7 @@ pytz==2024.2
8079
# pandas
8180
pyyaml==6.0.2
8281
# via libcst
83-
redis==5.1.1
82+
redis==5.2.0
8483
# via fakeredis
8584
six==1.16.0
8685
# via python-dateutil

requirements/fuzzing.txt

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#
77
annotated-types==0.7.0
88
# via -r requirements/coverage.in
9-
async-timeout==4.0.3
9+
async-timeout==5.0.1
1010
# via redis
1111
attrs==24.1.0
1212
# via
@@ -18,7 +18,7 @@ black==24.10.0
1818
# -r requirements/coverage.in
1919
# hypofuzz
2020
# hypothesis
21-
blinker==1.8.2
21+
blinker==1.9.0
2222
# via flask
2323
certifi==2024.8.30
2424
# via requests
@@ -30,11 +30,11 @@ click==8.1.7
3030
# black
3131
# flask
3232
# hypothesis
33-
coverage[toml]==7.6.2
33+
coverage[toml]==7.6.4
3434
# via
3535
# hypofuzz
3636
# pytest-cov
37-
dash==2.18.1
37+
dash==2.18.2
3838
# via hypofuzz
3939
dash-core-components==2.0.0
4040
# via dash
@@ -51,13 +51,13 @@ exceptiongroup==1.2.2 ; python_version < "3.11"
5151
# pytest
5252
execnet==2.1.1
5353
# via pytest-xdist
54-
fakeredis==2.25.1
54+
fakeredis==2.26.1
5555
# via -r requirements/coverage.in
5656
flask==3.0.3
5757
# via dash
5858
hypofuzz==24.9.1
5959
# via -r requirements/fuzzing.in
60-
hypothesis[cli]==6.115.0
60+
hypothesis[cli]==6.118.6
6161
# via hypofuzz
6262
idna==3.10
6363
# via requests
@@ -77,7 +77,7 @@ libcst==1.5.0
7777
# hypofuzz
7878
markdown-it-py==3.0.0
7979
# via rich
80-
markupsafe==3.0.1
80+
markupsafe==3.0.2
8181
# via
8282
# jinja2
8383
# werkzeug
@@ -87,12 +87,11 @@ mypy-extensions==1.0.0
8787
# via black
8888
nest-asyncio==1.6.0
8989
# via dash
90-
numpy==2.1.2
90+
numpy==2.1.3
9191
# via
9292
# -r requirements/coverage.in
9393
# pandas
94-
# pyarrow
95-
packaging==24.1
94+
packaging==24.2
9695
# via
9796
# black
9897
# plotly
@@ -111,11 +110,11 @@ plotly==5.24.1
111110
# via dash
112111
pluggy==1.5.0
113112
# via pytest
114-
psutil==6.0.0
113+
psutil==6.1.0
115114
# via hypofuzz
116115
ptyprocess==0.7.0
117116
# via pexpect
118-
pyarrow==17.0.0
117+
pyarrow==18.0.0
119118
# via -r requirements/coverage.in
120119
pygments==2.18.0
121120
# via rich
@@ -125,7 +124,7 @@ pytest==8.3.3
125124
# hypofuzz
126125
# pytest-cov
127126
# pytest-xdist
128-
pytest-cov==5.0.0
127+
pytest-cov==6.0.0
129128
# via -r requirements/coverage.in
130129
pytest-xdist==3.6.1
131130
# via -r requirements/test.in
@@ -139,15 +138,15 @@ pytz==2024.2
139138
# pandas
140139
pyyaml==6.0.2
141140
# via libcst
142-
redis==5.1.1
141+
redis==5.2.0
143142
# via fakeredis
144143
requests==2.32.3
145144
# via
146145
# dash
147146
# hypofuzz
148147
retrying==1.3.4
149148
# via dash
150-
rich==13.9.2
149+
rich==13.9.4
151150
# via hypothesis
152151
six==1.16.0
153152
# via
@@ -176,13 +175,13 @@ tzdata==2024.2
176175
# via pandas
177176
urllib3==2.2.3
178177
# via requests
179-
werkzeug==3.0.4
178+
werkzeug==3.0.6
180179
# via
181180
# dash
182181
# flask
183182
zipp==3.20.2
184183
# via importlib-metadata
185184

186185
# The following packages are considered to be unsafe in a requirements file:
187-
setuptools==75.1.0
186+
setuptools==75.3.0
188187
# via dash

requirements/test.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ execnet==2.1.1
1616
# via pytest-xdist
1717
iniconfig==2.0.0
1818
# via pytest
19-
packaging==24.1
19+
packaging==24.2
2020
# via pytest
2121
pexpect==4.9.0
2222
# via -r requirements/test.in

0 commit comments

Comments
 (0)