Skip to content

Commit ec61a1f

Browse files
authored
Merge branch 'main' into background_with_channel
2 parents 1b8ce0a + 901b800 commit ec61a1f

20 files changed

+116
-81
lines changed

.pre-commit-config.yaml

Lines changed: 4 additions & 4 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.9.6
27+
rev: v0.9.9
2828
hooks:
2929
- id: ruff
3030
types: [file]
@@ -38,15 +38,15 @@ repos:
3838
# tomli needed on 3.10. tomllib is available in stdlib on 3.11+
3939
- tomli
4040
- repo: https://github.com/crate-ci/typos
41-
rev: typos-dict-v0.12.5
41+
rev: typos-dict-v0.12.6
4242
hooks:
4343
- id: typos
4444
- repo: https://github.com/sphinx-contrib/sphinx-lint
4545
rev: v1.0.0
4646
hooks:
4747
- id: sphinx-lint
4848
- repo: https://github.com/woodruffw/zizmor-pre-commit
49-
rev: v1.3.1
49+
rev: v1.4.1
5050
hooks:
5151
- id: zizmor
5252
- repo: local
@@ -59,7 +59,7 @@ repos:
5959
additional_dependencies: ["astor", "attrs", "black", "ruff"]
6060
files: ^src\/trio\/_core\/(_run|(_i(o_(common|epoll|kqueue|windows)|nstrumentation)))\.py$
6161
- repo: https://github.com/astral-sh/uv-pre-commit
62-
rev: 0.6.1
62+
rev: 0.6.3
6363
hooks:
6464
# Compile requirements
6565
- id: pip-compile

README.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ I/O-oriented programs easier, less error-prone, and just plain more
5656
fun. `Perhaps you'll find the same
5757
<https://github.com/python-trio/trio/wiki/Testimonials>`__.
5858

59-
This project is young and still somewhat experimental: the overall
60-
design is solid, and the existing features are fully tested and
61-
documented, but you may encounter missing functionality or rough
62-
edges. We *do* encourage you to use it, but you should `read and
63-
subscribe to issue #1
64-
<https://github.com/python-trio/trio/issues/1>`__ to get a warning and a
65-
chance to give feedback about any compatibility-breaking changes.
59+
Trio is a mature and well-tested project: the overall design is solid,
60+
and the existing features are fully documented and widely used in
61+
production. While we occasionally make minor interface adjustments,
62+
breaking changes are rare. We encourage you to use Trio with confidence,
63+
but if you rely on long-term API stability, consider `subscribing to
64+
issue #1 <https://github.com/python-trio/trio/issues/1>`__ for advance
65+
notice of any compatibility updates.
6666

6767

6868
Where to next?

docs-requirements.in

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,4 @@ exceptiongroup >= 1.0.0rc9
2323
immutables >= 0.6
2424

2525
# types used in annotations
26-
# TODO: fix support for importing typing-extensions
27-
pyOpenSSL < 25.0.0
26+
pyOpenSSL

docs-requirements.txt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ attrs==25.1.0
88
# outcome
99
babel==2.17.0
1010
# via sphinx
11-
beautifulsoup4==4.12.3
11+
beautifulsoup4==4.13.3
1212
# via sphinx-codeautolink
1313
certifi==2025.1.31
1414
# via requests
@@ -55,10 +55,12 @@ pycparser==2.22 ; os_name == 'nt' or platform_python_implementation != 'PyPy'
5555
# via cffi
5656
pygments==2.19.1
5757
# via sphinx
58-
pyopenssl==24.3.0
58+
pyopenssl==25.0.0
5959
# via -r docs-requirements.in
6060
requests==2.32.3
6161
# via sphinx
62+
roman-numerals-py==3.1.0
63+
# via sphinx
6264
sniffio==1.3.1
6365
# via -r docs-requirements.in
6466
snowballstemmer==2.2.0
@@ -67,15 +69,15 @@ sortedcontainers==2.4.0
6769
# via -r docs-requirements.in
6870
soupsieve==2.6
6971
# via beautifulsoup4
70-
sphinx==8.1.3
72+
sphinx==8.2.1
7173
# via
7274
# -r docs-requirements.in
7375
# sphinx-codeautolink
7476
# sphinx-hoverxref
7577
# sphinx-rtd-theme
7678
# sphinxcontrib-jquery
7779
# sphinxcontrib-trio
78-
sphinx-codeautolink==0.16.2
80+
sphinx-codeautolink==0.17.1
7981
# via -r docs-requirements.in
8082
sphinx-hoverxref==1.4.2
8183
# via -r docs-requirements.in
@@ -102,5 +104,9 @@ sphinxcontrib-trio==1.1.2
102104
# via -r docs-requirements.in
103105
towncrier==24.8.0
104106
# via -r docs-requirements.in
107+
typing-extensions==4.12.2
108+
# via
109+
# beautifulsoup4
110+
# pyopenssl
105111
urllib3==2.3.0
106112
# via requests

docs/source/code-of-conduct.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,9 @@ members. This section covers actual concrete steps.
138138
Contacting Maintainers
139139
~~~~~~~~~~~~~~~~~~~~~~
140140

141-
As a small and young project, we don't yet have a Code of Conduct
142-
enforcement team. Hopefully that will be addressed as we grow, but for
143-
now, any issues should be addressed to `Nathaniel J. Smith
141+
As a small project, we don't have a Code of Conduct enforcement team.
142+
Hopefully that will be addressed as we grow, but for now, any issues
143+
should be addressed to `Nathaniel J. Smith
144144
<https://github.com/njsmith>`__, via `email <mailto:njs@pobox.com>`__
145145
or any other medium that you feel comfortable with. Using words like
146146
"Trio code of conduct" in your subject will help make sure your

docs/source/conf.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
from pathlib import Path
2626
from typing import TYPE_CHECKING, cast
2727

28+
from sphinx.util.inventory import _InventoryItem
29+
2830
if TYPE_CHECKING:
2931
from sphinx.application import Sphinx
3032
from sphinx.util.typing import Inventory
@@ -266,11 +268,11 @@ def add_mapping(
266268
assert isinstance(inventory, dict)
267269
inventory = cast("Inventory", inventory)
268270

269-
inventory[f"py:{reftype}"][f"{target}"] = (
270-
"Python",
271-
version,
272-
f"https://docs.python.org/{url_version}/library/{library}.html/{obj}",
273-
"-",
271+
inventory[f"py:{reftype}"][f"{target}"] = _InventoryItem(
272+
project_name="Python",
273+
project_version=version,
274+
uri=f"https://docs.python.org/{url_version}/library/{library}.html/{obj}",
275+
display_name="-",
274276
)
275277

276278
# This has been removed in Py3.12, so add a link to the 3.11 version with deprecation warnings.

docs/source/contributing.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ format all our code to a standard style. While you're editing code you
318318
can be as sloppy as you like about whitespace; and then before you commit,
319319
just run:
320320

321-
.. code-block::
321+
.. code-block:: text
322322
323323
pip install -U pre-commit
324324
pre-commit
@@ -332,14 +332,14 @@ nicely formatted. (black doesn't reformat comments or docstrings.)
332332
If you would like, you can even have pre-commit run before you commit by
333333
running:
334334

335-
.. code-block::
335+
.. code-block:: text
336336
337337
pre-commit install
338338
339339
and now pre-commit will run before git commits. You can uninstall the
340340
pre-commit hook at any time by running:
341341

342-
.. code-block::
342+
.. code-block:: text
343343
344344
pre-commit uninstall
345345
@@ -349,7 +349,7 @@ you can can add ``# fmt: off`` and ``# fmt: on`` comments.
349349

350350
If you want to see what changes black will make, you can use:
351351

352-
.. code-block::
352+
.. code-block:: text
353353
354354
black --diff trio
355355
@@ -433,7 +433,7 @@ file to install all of the required packages (possibly using a
433433
virtualenv). After that, build the docs using ``make html`` in the
434434
docs directory. The whole process might look something like this:
435435

436-
.. code-block::
436+
.. code-block:: text
437437
438438
cd path/to/project/checkout/
439439
pip install -r docs-requirements.txt

docs/source/history.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1504,14 +1504,14 @@ Highlights
15041504
Breaking changes and deprecations
15051505
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15061506

1507-
Trio is a young and ambitious project, but it also aims to become a
1508-
stable, production-quality foundation for async I/O in Python.
1509-
Therefore, our approach for now is to provide deprecation warnings
1510-
where-ever possible, but on a fairly aggressive cycle as we push
1511-
towards stability. If you use Trio you should `read and subscribe to
1512-
issue #1 <https://github.com/python-trio/trio/issues/1>`__. We'd also
1513-
welcome feedback on how this approach is working, whether our
1514-
deprecation warnings could be more helpful, or anything else.
1507+
Trio has matured into a stable, production-quality foundation for
1508+
async I/O in Python. While we strive to maintain stability, we may
1509+
make occasional breaking changes to improve the library. Whenever
1510+
possible, we provide deprecation warnings on a reasonable timeline to
1511+
ease transitions. If you use Trio, we recommend `subscribing to issue
1512+
#1 <https://github.com/python-trio/trio/issues/1>`__ to stay informed
1513+
about changes. We also welcome feedback on how our deprecation process
1514+
is working and whether it could be improved.
15151515

15161516
The tl;dr is: stop using ``socket.bind`` if you can, and then fix
15171517
everything your test suite warns you about.

docs/source/index.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ the Python I/O library I always wanted; I find it makes building
3333
I/O-oriented programs easier, less error-prone, and just plain more
3434
fun. Perhaps you'll find the same.
3535

36-
This project is young and still somewhat experimental: the overall
37-
design is solid and the existing features are fully tested and
38-
documented, but you may encounter missing functionality or rough
39-
edges. We *do* encourage you do use it, but you should `read and
40-
subscribe to issue #1
41-
<https://github.com/python-trio/trio/issues/1>`__ to get warning and a
42-
chance to give feedback about any compatibility-breaking changes.
36+
Trio is a mature and well-tested library, though it retains its
37+
“experimental” classification to allow for occasional breaking API
38+
changes as we push toward a 1.0 release. In practice, such changes are
39+
rare and typically minor. It is widely used in production environments,
40+
and we *do* encourage you do use it, but consider `subscribing to issue
41+
#1 <https://github.com/python-trio/trio/issues/1>`__ to get a warning
42+
and a chance to give feedback about any compatibility-breaking changes.
4343

4444
Vital statistics:
4545

docs/source/reference-core.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -817,10 +817,10 @@ inside the handler function(s) with the ``nonlocal`` keyword:
817817
Designing for multiple errors
818818
+++++++++++++++++++++++++++++
819819

820-
Structured concurrency is still a young design pattern, but there are a few patterns
821-
we've identified for how you (or your users) might want to handle groups of exceptions.
822-
Note that the final pattern, simply raising an `ExceptionGroup`, is the most common -
823-
and nurseries automatically do that for you.
820+
Structured concurrency is still a relatively new design pattern, but there are a few
821+
approaches we've identified for how you (or your users) might want to handle groups of
822+
exceptions. Note that the final pattern, simply raising an `ExceptionGroup`, is the most
823+
common - and nurseries automatically do that for you.
824824

825825
**First**, you might want to 'defer to' a particular exception type, raising just that if
826826
there is any such instance in the group. For example: `KeyboardInterrupt` has a clear

0 commit comments

Comments
 (0)