Skip to content

Commit 921d363

Browse files
github-actions[bot]CoolCat467A5rockspre-commit-ci[bot]
authored
Bump dependencies from commit e590d3 (#3309)
* Dependency updates * Trigger CI * Add new socket attributes * Use unreleased bleading edge parso in 3.14 * Update export tests * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Try to understand __annotate_func__ * make tests pass locally --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: CoolCat467 <52022020+CoolCat467@users.noreply.github.com> Co-authored-by: A5rocks <git@helvetica.moe> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent e590d39 commit 921d363

File tree

7 files changed

+51
-27
lines changed

7 files changed

+51
-27
lines changed

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ repos:
2424
hooks:
2525
- id: black
2626
- repo: https://github.com/astral-sh/ruff-pre-commit
27-
rev: v0.12.4
27+
rev: v0.12.7
2828
hooks:
2929
- id: ruff-check
3030
types: [file]
@@ -73,7 +73,7 @@ repos:
7373
additional_dependencies: ["pyyaml"]
7474
files: ^(test-requirements\.txt)|(\.pre-commit-config\.yaml)$
7575
- repo: https://github.com/astral-sh/uv-pre-commit
76-
rev: 0.8.0
76+
rev: 0.8.4
7777
hooks:
7878
# Compile requirements
7979
- id: pip-compile

docs-requirements.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ babel==2.17.0
1010
# via sphinx
1111
beautifulsoup4==4.13.4
1212
# via sphinx-codeautolink
13-
certifi==2025.6.15
13+
certifi==2025.7.14
1414
# via requests
1515
cffi==1.17.1 ; os_name == 'nt' or platform_python_implementation != 'PyPy'
1616
# via
@@ -24,7 +24,7 @@ colorama==0.4.6 ; sys_platform == 'win32'
2424
# via
2525
# click
2626
# sphinx
27-
cryptography==45.0.4
27+
cryptography==45.0.5
2828
# via pyopenssl
2929
docutils==0.21.2
3030
# via
@@ -76,7 +76,7 @@ sphinx==8.2.3
7676
# sphinx-rtd-theme
7777
# sphinxcontrib-jquery
7878
# sphinxcontrib-trio
79-
sphinx-codeautolink==0.17.4
79+
sphinx-codeautolink==0.17.5
8080
# via -r docs-requirements.in
8181
sphinx-rtd-theme==3.0.2
8282
# via -r docs-requirements.in
@@ -100,7 +100,7 @@ sphinxcontrib-trio==1.1.2
100100
# via -r docs-requirements.in
101101
towncrier==24.8.0
102102
# via -r docs-requirements.in
103-
typing-extensions==4.14.0
103+
typing-extensions==4.14.1
104104
# via
105105
# beautifulsoup4
106106
# exceptiongroup

src/trio/_repl.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ def __init__(self, repl_locals: dict[str, object] | None = None) -> None:
2222
self.compile.compiler.flags |= ast.PyCF_ALLOW_TOP_LEVEL_AWAIT
2323

2424
def runcode(self, code: types.CodeType) -> None:
25-
# https://github.com/python/typeshed/issues/13768
26-
func = types.FunctionType(code, self.locals) # type: ignore[arg-type]
25+
func = types.FunctionType(code, self.locals)
2726
if inspect.iscoroutinefunction(func):
2827
result = trio.from_thread.run(outcome.acapture, func)
2928
else:

src/trio/_tests/test_exports.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -443,13 +443,13 @@ def lookup_symbol(symbol: str) -> dict[str, Any]: # type: ignore[misc, explicit
443443
extra = {e for e in extra if not e.endswith("AttrsAttributes__")}
444444
assert len(extra) == before - 1
445445

446-
# mypy does not see these attributes in Enum subclasses
446+
# dir does not see `__signature__` on enums until 3.14
447447
if (
448448
tool == "mypy"
449449
and enum.Enum in class_.__mro__
450450
and sys.version_info >= (3, 12)
451+
and sys.version_info < (3, 14)
451452
):
452-
# Another attribute, in 3.12+ only.
453453
extra.remove("__signature__")
454454

455455
# TODO: this *should* be visible via `dir`!!
@@ -511,17 +511,22 @@ def lookup_symbol(symbol: str) -> dict[str, Any]: # type: ignore[misc, explicit
511511
extra -= {"owner", "is_mount", "group"}
512512

513513
# not sure why jedi in particular ignores this (static?) method in 3.13
514-
# (especially given the method is from 3.12....)
515514
if (
516515
tool == "jedi"
517-
and sys.version_info >= (3, 13)
516+
and sys.version_info[:2] == (3, 13)
518517
and class_ in (trio.Path, trio.WindowsPath, trio.PosixPath)
519518
):
520519
missing.remove("with_segments")
521520

522521
if sys.version_info >= (3, 13) and attrs.has(class_):
523522
missing.remove("__replace__")
524523

524+
if sys.version_info >= (3, 14):
525+
# these depend on whether a class has processed deferred annotations.
526+
# (which might or might not happen and we don't know)
527+
missing.discard("__annotate_func__")
528+
missing.discard("__annotations_cache__")
529+
525530
if missing or extra: # pragma: no cover
526531
errors[f"{module_name}.{class_name}"] = {
527532
"missing": missing,

src/trio/socket.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,7 @@
277277
IP_DEFAULT_MULTICAST_TTL as IP_DEFAULT_MULTICAST_TTL,
278278
IP_DROP_MEMBERSHIP as IP_DROP_MEMBERSHIP,
279279
IP_DROP_SOURCE_MEMBERSHIP as IP_DROP_SOURCE_MEMBERSHIP,
280+
IP_FREEBIND as IP_FREEBIND,
280281
IP_HDRINCL as IP_HDRINCL,
281282
IP_MAX_MEMBERSHIPS as IP_MAX_MEMBERSHIPS,
282283
IP_MULTICAST_IF as IP_MULTICAST_IF,
@@ -285,9 +286,12 @@
285286
IP_OPTIONS as IP_OPTIONS,
286287
IP_PKTINFO as IP_PKTINFO,
287288
IP_RECVDSTADDR as IP_RECVDSTADDR,
289+
IP_RECVERR as IP_RECVERR,
288290
IP_RECVOPTS as IP_RECVOPTS,
291+
IP_RECVORIGDSTADDR as IP_RECVORIGDSTADDR,
289292
IP_RECVRETOPTS as IP_RECVRETOPTS,
290293
IP_RECVTOS as IP_RECVTOS,
294+
IP_RECVTTL as IP_RECVTTL,
291295
IP_RETOPTS as IP_RETOPTS,
292296
IP_TOS as IP_TOS,
293297
IP_TRANSPARENT as IP_TRANSPARENT,
@@ -351,6 +355,7 @@
351355
IPV6_PATHMTU as IPV6_PATHMTU,
352356
IPV6_PKTINFO as IPV6_PKTINFO,
353357
IPV6_RECVDSTOPTS as IPV6_RECVDSTOPTS,
358+
IPV6_RECVERR as IPV6_RECVERR,
354359
IPV6_RECVHOPLIMIT as IPV6_RECVHOPLIMIT,
355360
IPV6_RECVHOPOPTS as IPV6_RECVHOPOPTS,
356361
IPV6_RECVPATHMTU as IPV6_RECVPATHMTU,
@@ -458,6 +463,10 @@
458463
SO_BINDTODEVICE as SO_BINDTODEVICE,
459464
SO_BINDTOIFINDEX as SO_BINDTOIFINDEX,
460465
SO_BROADCAST as SO_BROADCAST,
466+
SO_BTH_ENCRYPT as SO_BTH_ENCRYPT,
467+
SO_BTH_MTU as SO_BTH_MTU,
468+
SO_BTH_MTU_MAX as SO_BTH_MTU_MAX,
469+
SO_BTH_MTU_MIN as SO_BTH_MTU_MIN,
461470
SO_DEBUG as SO_DEBUG,
462471
SO_DOMAIN as SO_DOMAIN,
463472
SO_DONTROUTE as SO_DONTROUTE,
@@ -472,6 +481,7 @@
472481
SO_LINGER as SO_LINGER,
473482
SO_MARK as SO_MARK,
474483
SO_OOBINLINE as SO_OOBINLINE,
484+
SO_ORIGINAL_DST as SO_ORIGINAL_DST,
475485
SO_PASSCRED as SO_PASSCRED,
476486
SO_PASSSEC as SO_PASSSEC,
477487
SO_PEERCRED as SO_PEERCRED,
@@ -505,6 +515,7 @@
505515
SOL_HCI as SOL_HCI,
506516
SOL_IP as SOL_IP,
507517
SOL_RDS as SOL_RDS,
518+
SOL_RFCOMM as SOL_RFCOMM,
508519
SOL_SOCKET as SOL_SOCKET,
509520
SOL_TCP as SOL_TCP,
510521
SOL_TIPC as SOL_TIPC,
@@ -577,6 +588,7 @@
577588
VM_SOCKETS_INVALID_VERSION as VM_SOCKETS_INVALID_VERSION,
578589
VMADDR_CID_ANY as VMADDR_CID_ANY,
579590
VMADDR_CID_HOST as VMADDR_CID_HOST,
591+
VMADDR_CID_LOCAL as VMADDR_CID_LOCAL,
580592
VMADDR_PORT_ANY as VMADDR_PORT_ANY,
581593
WSA_FLAG_OVERLAPPED as WSA_FLAG_OVERLAPPED,
582594
WSA_INVALID_HANDLE as WSA_INVALID_HANDLE,

test-requirements.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ trustme # for the ssl + DTLS tests
88
pylint # for pylint finding all symbols tests
99
jedi; implementation_name == "cpython" # for jedi code completion tests
1010
cryptography>=41.0.0 # cryptography<41 segfaults on pypy3.10
11+
# Temp workaround until parso makes a new release
12+
git+https://github.com/davidhalter/parso.git; python_version >= "3.14"
1113

1214
# Tools
1315
black; implementation_name == "cpython"

test-requirements.txt

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ alabaster==1.0.0 ; python_full_version >= '3.10'
66
# via sphinx
77
astor==0.8.1
88
# via -r test-requirements.in
9-
astroid==3.3.10
9+
astroid==3.3.11
1010
# via pylint
1111
async-generator==1.10
1212
# via -r test-requirements.in
@@ -18,7 +18,7 @@ babel==2.17.0
1818
# via sphinx
1919
black==25.1.0 ; implementation_name == 'cpython'
2020
# via -r test-requirements.in
21-
certifi==2025.6.15
21+
certifi==2025.7.14
2222
# via requests
2323
cffi==1.17.1 ; os_name == 'nt' or platform_python_implementation != 'PyPy'
2424
# via
@@ -40,17 +40,17 @@ colorama==0.4.6 ; sys_platform == 'win32'
4040
# pylint
4141
# pytest
4242
# sphinx
43-
coverage==7.9.1
43+
coverage==7.10.1
4444
# via -r test-requirements.in
45-
cryptography==45.0.4
45+
cryptography==45.0.5
4646
# via
4747
# -r test-requirements.in
4848
# pyopenssl
4949
# trustme
5050
# types-pyopenssl
5151
dill==0.4.0
5252
# via pylint
53-
distlib==0.3.9
53+
distlib==0.4.0
5454
# via virtualenv
5555
docutils==0.21.2
5656
# via sphinx
@@ -83,7 +83,7 @@ markupsafe==3.0.2
8383
# via jinja2
8484
mccabe==0.7.0
8585
# via pylint
86-
mypy==1.16.1
86+
mypy==1.17.1
8787
# via -r test-requirements.in
8888
mypy-extensions==1.1.0
8989
# via
@@ -94,7 +94,7 @@ nodeenv==1.9.1
9494
# via
9595
# pre-commit
9696
# pyright
97-
orjson==3.10.18 ; python_full_version < '3.14' and implementation_name == 'cpython'
97+
orjson==3.11.1 ; python_full_version < '3.14' and implementation_name == 'cpython'
9898
# via -r test-requirements.in
9999
outcome==1.3.0.post0
100100
# via -r test-requirements.in
@@ -103,8 +103,14 @@ packaging==25.0
103103
# black
104104
# pytest
105105
# sphinx
106-
parso==0.8.4 ; implementation_name == 'cpython'
107-
# via jedi
106+
parso==0.8.4 ; python_full_version < '3.14' and implementation_name == 'cpython'
107+
# via
108+
# -r test-requirements.in
109+
# jedi
110+
parso @ git+https://github.com/davidhalter/parso.git@a73af5c709a292cbb789bf6cab38b20559f166c0 ; python_full_version >= '3.14'
111+
# via
112+
# -r test-requirements.in
113+
# jedi
108114
pathspec==0.12.1
109115
# via
110116
# black
@@ -128,7 +134,7 @@ pylint==3.3.7
128134
# via -r test-requirements.in
129135
pyopenssl==25.1.0
130136
# via -r test-requirements.in
131-
pyright==1.1.402
137+
pyright==1.1.403
132138
# via -r test-requirements.in
133139
pytest==8.4.1
134140
# via -r test-requirements.in
@@ -138,7 +144,7 @@ requests==2.32.4
138144
# via sphinx
139145
roman-numerals-py==3.1.0 ; python_full_version >= '3.11'
140146
# via sphinx
141-
ruff==0.12.4
147+
ruff==0.12.7
142148
# via -r test-requirements.in
143149
sniffio==1.3.1
144150
# via -r test-requirements.in
@@ -179,15 +185,15 @@ types-cffi==1.17.0.20250523
179185
# via
180186
# -r test-requirements.in
181187
# types-pyopenssl
182-
types-docutils==0.21.0.20250604
188+
types-docutils==0.21.0.20250728
183189
# via -r test-requirements.in
184190
types-pyopenssl==24.1.0.20240722
185191
# via -r test-requirements.in
186192
types-pyyaml==6.0.12.20250516
187193
# via -r test-requirements.in
188194
types-setuptools==80.9.0.20250529
189195
# via types-cffi
190-
typing-extensions==4.14.0
196+
typing-extensions==4.14.1
191197
# via
192198
# -r test-requirements.in
193199
# astroid
@@ -199,9 +205,9 @@ typing-extensions==4.14.0
199205
# pyright
200206
urllib3==2.5.0
201207
# via requests
202-
uv==0.8.0
208+
uv==0.8.4
203209
# via -r test-requirements.in
204-
virtualenv==20.31.2
210+
virtualenv==20.32.0
205211
# via pre-commit
206212
zipp==3.23.0 ; python_full_version < '3.10'
207213
# via importlib-metadata

0 commit comments

Comments
 (0)