Skip to content

Commit e3dab36

Browse files
authored
Merge pull request #4693 from HypothesisWorks/create-pull-request/patch
Update pinned dependencies
2 parents 2b1de22 + 4b5e745 commit e3dab36

15 files changed

Lines changed: 79 additions & 67 deletions

File tree

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ jobs:
254254
# Note that the versions below are updated by `update_pyodide_versions()` in our weekly cronjob.
255255
# The versions of pyodide-build and the Pyodide runtime may differ.
256256
PYODIDE_VERSION: 0.29.3
257-
PYODIDE_BUILD_VERSION: 0.33.0
257+
PYODIDE_BUILD_VERSION: 0.34.1
258258
# pyodide 0.29.0 (latest at time of writing) doesn't yet support 3.14
259259
PYTHON_VERSION: 3.13.2
260260
steps:

build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ SCRIPTS="$ROOT/tooling/scripts"
1919
# shellcheck source=tooling/scripts/common.sh
2020
source "$SCRIPTS/common.sh"
2121

22-
PYTHON_VERSION="3.14.3"
22+
PYTHON_VERSION="3.14.4"
2323

2424
if [ -n "${GITHUB_ACTIONS-}" ] || [ -n "${CODESPACES-}" ] || [ -n "${CLAUDECODE-}" ] ; then
2525
# We're on GitHub Actions, Codespaces, or Claude Code and already have a suitable Python

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 newly unnecessary ``# type: ignore`` comments.

hypothesis-python/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,15 +116,15 @@ dpcontracts = ["dpcontracts>=0.4"]
116116
redis = ["redis>=3.0.0"]
117117
crosshair = ["hypothesis-crosshair>=0.0.27", "crosshair-tool>=0.0.102"]
118118
# zoneinfo is an odd one: every dependency is platform-conditional.
119-
zoneinfo = ["tzdata>=2025.3; sys_platform == 'win32' or sys_platform == 'emscripten'"]
119+
zoneinfo = ["tzdata>=2026.1; sys_platform == 'win32' or sys_platform == 'emscripten'"]
120120
# We only support Django versions with upstream support - see
121121
# https://www.djangoproject.com/download/#supported-versions
122122
# We also leave the choice of timezone library to the user, since it
123123
# might be zoneinfo or pytz depending on version and configuration.
124124
django = ["django>=4.2"]
125125
watchdog = ["watchdog>=4.0.0"]
126126
# Avoid changing this by hand. This is automatically updated by update_changelog_and_version
127-
all = ["black>=20.8b0", "click>=7.0", "crosshair-tool>=0.0.102", "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"]
127+
all = ["black>=20.8b0", "click>=7.0", "crosshair-tool>=0.0.102", "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>=2026.1; sys_platform == 'win32' or sys_platform == 'emscripten'", "watchdog>=4.0.0"]
128128

129129
[tool.setuptools.dynamic]
130130
version = {attr = "hypothesis.version.__version__"}

hypothesis-python/src/hypothesis/internal/conjecture/provider_conformance.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ def build_intervals(intervals: list[int]) -> list[tuple[int, int]]:
4444
if len(intervals) % 2:
4545
intervals = intervals[:-1]
4646
intervals.sort()
47-
# help mypy infer tuple[int, ...] -> tuple[int, int]
48-
return list(batched(intervals, 2, strict=True)) # type: ignore
47+
return list(batched(intervals, 2, strict=True))
4948

5049

5150
def interval_lists(

hypothesis-python/src/hypothesis/internal/observability.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -298,15 +298,15 @@ def remove_observability_callback(f: CallbackT, /) -> None:
298298
callbacks for this thread.
299299
"""
300300
if f in _callbacks_all_threads:
301-
_callbacks_all_threads.remove(cast(CallbackAllThreadsT, f))
301+
_callbacks_all_threads.remove(f)
302302

303303
thread_id = threading.get_ident()
304304
if thread_id not in _callbacks:
305305
return
306306

307307
callbacks = _callbacks[thread_id]
308308
if f in callbacks:
309-
callbacks.remove(cast(CallbackThreadT, f))
309+
callbacks.remove(f)
310310

311311
if not callbacks:
312312
del _callbacks[thread_id]

hypothesis-python/src/hypothesis/internal/reflection.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ def get_pretty_function_description(f: object) -> str:
272272
return pretty(f)
273273
if not hasattr(f, "__name__"):
274274
return repr(f)
275-
name = f.__name__ # type: ignore
275+
name = f.__name__
276276
if name == "<lambda>":
277277
return lambda_sources.lambda_description(f)
278278
elif isinstance(f, (types.MethodType, types.BuiltinMethodType)):
@@ -518,7 +518,7 @@ def is_identity_function(f: Callable) -> bool:
518518

519519
# We know that f accepts a single positional argument, now check that its
520520
# code object is simply "return first unbound argument".
521-
template = (lambda self, x: x) if bound_args else (lambda x: x) # type: ignore
521+
template = (lambda self, x: x) if bound_args else (lambda x: x)
522522
try:
523523
return code.co_code == template.__code__.co_code
524524
except AttributeError: # pragma: no cover # pypy only

hypothesis-python/tests/nocover/test_argument_validation.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,14 @@ def adjust(ex, **kwargs):
4747
test_raise_invalid_argument = argument_validation_test(BAD_ARGS)
4848

4949

50-
@pytest.mark.parametrize("name", sorted(_all_strategies))
50+
ALL_STRATEGIES_COPY = dict(_all_strategies) # avoid rare weakref issues
51+
52+
53+
@pytest.mark.parametrize("name", sorted(ALL_STRATEGIES_COPY))
5154
def test_consistent_with_api_guide_on_kwonly_args(name):
5255
# Enforce our style-guide: if it has a default value, it should be
5356
# keyword-only, with a few exceptions.
54-
strategy = _all_strategies[name]
57+
strategy = ALL_STRATEGIES_COPY[name]
5558
for arg in inspect.signature(strategy).parameters.values():
5659
assert (
5760
arg.default == Parameter.empty

hypothesis-python/tox.ini

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -196,10 +196,10 @@ setenv=
196196
nocontrib: DJANGO_SETTINGS_MODULE=tests.django.toys.settings.settings_no_contrib
197197
deps=
198198
-r../requirements/test.txt
199-
django42: django==4.2.29
200-
django52: django==5.2.12
201-
django60: django==6.0.3
202-
django-nocontrib: django==6.0.3
199+
django42: django==4.2.30
200+
django52: django==5.2.13
201+
django60: django==6.0.4
202+
django-nocontrib: django==6.0.4
203203
commands =
204204
python -bb -X dev -m tests.django.manage test tests.django {posargs}
205205

requirements/coverage.txt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ annotated-types==0.7.0
88
# via -r requirements/coverage.in
99
black==26.3.1
1010
# via -r requirements/coverage.in
11-
click==8.3.1
11+
click==8.3.2
1212
# via
1313
# -r requirements/coverage.in
1414
# black
@@ -18,7 +18,7 @@ dpcontracts==0.6.0
1818
# via -r requirements/coverage.in
1919
execnet==2.1.2
2020
# via pytest-xdist
21-
fakeredis==2.34.1
21+
fakeredis==2.35.0
2222
# via -r requirements/coverage.in
2323
iniconfig==2.3.0
2424
# via pytest
@@ -28,21 +28,21 @@ libcst==1.8.6
2828
# via -r requirements/coverage.in
2929
mypy-extensions==1.1.0
3030
# via black
31-
numpy==2.4.3
31+
numpy==2.4.4
3232
# via
3333
# -r requirements/coverage.in
3434
# pandas
3535
packaging==26.0
3636
# via
3737
# black
3838
# pytest
39-
pandas==3.0.1
39+
pandas==3.0.2
4040
# via -r requirements/coverage.in
4141
pathspec==1.0.4
4242
# via black
4343
pexpect==4.9.0
4444
# via -r requirements/test.in
45-
platformdirs==4.9.4
45+
platformdirs==4.9.6
4646
# via black
4747
pluggy==1.6.0
4848
# via
@@ -52,13 +52,14 @@ ptyprocess==0.7.0
5252
# via pexpect
5353
pyarrow==23.0.1
5454
# via -r requirements/coverage.in
55-
pygments==2.19.2
55+
pygments==2.20.0
5656
# via pytest
57-
pytest==9.0.2
57+
pytest==9.0.3
5858
# via
5959
# -r requirements/test.in
6060
# pytest-cov
6161
# pytest-xdist
62+
# syrupy
6263
pytest-cov==7.1.0
6364
# via -r requirements/coverage.in
6465
pytest-xdist==3.8.0

0 commit comments

Comments
 (0)