2024-03-23 08:26:07 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-trio: updated to 0.25.0
Trio 0.25.0 (2024-03-17)
------------------------
Breaking changes
- The :ref:`strict_exception_groups <strict_exception_groups>` parameter \
now defaults to `True` in `trio.run` and `trio.lowlevel.start_guest_run`. \
`trio.open_nursery` still defaults to the same value as was specified in \
`trio.run`/`trio.lowlevel.start_guest_run`, but if you didn't specify it there \
then all subsequent calls to `trio.open_nursery` will change.
This is unfortunately very tricky to change with a deprecation period, as \
raising a `DeprecationWarning` whenever :ref:`strict_exception_groups \
<strict_exception_groups>` is not specified would raise a lot of \
unnecessary warnings.
Notable side effects of changing code to run with ``strict_exception_groups==True``
* If an iterator raises `StopAsyncIteration` or `StopIteration` inside a \
nursery, then python will not recognize wrapped instances of those for stopping \
iteration.
* `trio.run_process` is now documented that it can raise an `ExceptionGroup`. \
It previously could do this in very rare circumstances, but with \
:ref:`strict_exception_groups <strict_exception_groups>` set to `True` it \
will now do so whenever exceptions occur in ``deliver_cancel`` or with problems \
communicating with the subprocess.
* Errors in opening the process is now done outside the internal nursery, so \
if code previously ran with ``strict_exception_groups=True`` there are cases now \
where an `ExceptionGroup` is *no longer* added.
* `trio.TrioInternalError` ``.__cause__`` might be wrapped in one or more \
`ExceptionGroups <ExceptionGroup>`
Features
- Add `trio.testing.wait_all_threads_completed`, which blocks until no threads \
are running tasks. This is intended to be used in the same way as \
`trio.testing.wait_all_tasks_blocked`.
- :class:`Path` is now a subclass of :class:`pathlib.PurePath`, allowing it to \
interoperate with other standard
:mod:`pathlib` types.
Instantiating :class:`Path` now returns a concrete platform-specific subclass, \
one of :class:`PosixPath` or
:class:`WindowsPath`, matching the behavior of :class:`pathlib.Path`.
Bugfixes
- The pthread functions are now correctly found on systems using vanilla \
versions of musl libc.
Miscellaneous internal changes
- use the regular readme for the PyPI long_description
|
2024-01-12 19:47:30 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-trio: updated to 0.24.0
Trio 0.24.0 (2024-01-10)
Features
- New helper classes: :class:`~.testing.RaisesGroup` and :class:`~.testing.Matcher`.
In preparation for changing the default of ``strict_exception_groups`` to \
`True`, we're introducing a set of helper classes that can be used in place of \
`pytest.raises \
<https://docs.pytest.org/en/stable/reference/reference.html#pytest.raises>`_ \
in tests, to check for an expected `ExceptionGroup`.
These are provisional, and only planned to be supplied until there's a good \
solution in ``pytest``.
Deprecations and removals
- ``MultiError`` has been fully removed, and all relevant trio functions now \
raise ExceptionGroups instead. This should not affect end users that have \
transitioned to using ``except*`` or catching ExceptionGroup/BaseExceptionGroup.
|
2023-12-14 14:20:52 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-trio: updated to 0.23.2
Trio 0.23.2 (2023-12-14)
Features
- `TypeVarTuple \
<https://docs.python.org/3.12/library/typing.html#typing.TypeVarTuple>`_ \
is now used to fully type :meth:`nursery.start_soon() \
<trio.Nursery.start_soon>`, :func:`trio.run()`, \
:func:`trio.to_thread.run_sync()`, and other similar functions accepting \
``(func, *args)``. This means type checkers will be able to verify types are \
used correctly. :meth:`nursery.start() <trio.Nursery.start>` is not fully \
typed yet however.
Bugfixes
- Make pyright recognize :func:`open_memory_channel` as generic.
Miscellaneous internal changes
- Moved the metadata into :pep:`621`-compliant :file:`pyproject.toml`.
- do not depend on exceptiongroup pre-release
- Move .coveragerc into pyproject.toml
|
2023-11-07 11:44:11 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
py-trio: update to 0.23.1.
0.23.1
Don't crash on import in Anaconda interpreters. (#2855)
0.23.0
Add type hints. (#543)
0.22.2
Fix PermissionError when importing trio due to trying to access pthread. (#2688)
|
2023-07-17 16:40:14 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-trio: updated to 0.22.2
Trio 0.22.2 (2023-07-13)
------------------------
Bugfixes
- Fix ``PermissionError`` when importing `trio` due to trying to access ``pthread``.
|
2023-07-06 11:16:50 by Thomas Klausner | Files touched by this commit (1) | |
Log message:
py-trio: update dependencies
|
2023-07-06 00:29:29 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
py-trio: update to 0.22.1.
Change summary not found.
|
2023-03-29 11:34:15 by Thomas Klausner | Files touched by this commit (96) |
Log message:
*: use PYTHON_VERSION instead of _PYTHON_VERSION
|
2022-11-15 10:49:38 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-trio: updated to 0.22.0
Trio 0.22.0 (2022-09-28)
------------------------
Headline features
~~~~~~~~~~~~~~~~~
- ``MultiError`` has been deprecated in favor of the standard \
:exc:`BaseExceptionGroup`
(introduced in :pep:`654`). On Python versions below 3.11, this exception and its
derivative :exc:`ExceptionGroup` are provided by the backport_. Trio still raises
``MultiError``, but it has been refactored into a subclass of \
:exc:`BaseExceptionGroup`
which users should catch instead of ``MultiError``. Uses of the \
``MultiError.filter()``
class method should be replaced with :meth:`BaseExceptionGroup.split`. Uses of the
``MultiError.catch()`` class method should be replaced with either ``except*`` \
clauses
(on Python 3.11+) or the ``exceptiongroup.catch()`` context manager provided by the
backport_.
See the :ref:`updated documentation <exceptiongroups>` for details.
Features
~~~~~~~~
- Added support for `Datagram TLS
<https://en.wikipedia.org/wiki/Datagram_Transport_Layer_Security>`__,
for secure communication over UDP. Currently requires `PyOpenSSL
<https://pypi.org/p/pyopenssl>`__.
|
2022-10-19 16:25:20 by Nia Alarie | Files touched by this commit (21) |
Log message:
fighting a losing battle against the py-cryptography rustification, part 5
Convert py-OpenSSL users to versioned_dependencies.mk
|