./devel/py-trio, Friendly Python library for async concurrency and I/O

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.27.0, Package name: py312-trio-0.27.0, Maintainer: kamelderouiche

A friendly Python library for async concurrency and I/O


Master sites:

Filesize: 554.75 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-10-20 10:23:04 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-trio: update to 0.27.0

Trio 0.27.0 (2024-10-17)

Breaking changes

- :func:`trio.move_on_after` and :func:`trio.fail_after` previously set the \ 
deadline relative to initialization time, instead of more intuitively upon \ 
entering the context manager. This might change timeouts if a program relied on \ 
this behavior. If you want to restore previous behavior you should instead use \ 
``trio.move_on_at(trio.current_time() + ...)``.
  flake8-async has a new rule to catch this, in case you're supporting older \ 
trio versions. See :ref:`ASYNC122`.

Features

- :meth:`CancelScope.relative_deadline` and :meth:`CancelScope.is_relative` \ 
added, as well as a ``relative_deadline`` parameter to ``__init__``. This allows \ 
initializing scopes ahead of time, but where the specified relative deadline \ 
doesn't count down until the scope is entered.
- :class:`trio.Lock` and :class:`trio.StrictFIFOLock` will now raise \ 
:exc:`trio.BrokenResourceError` when :meth:`trio.Lock.acquire` would previously \ 
stall due to the owner of the lock exiting without releasing the lock.
- `trio.move_on_at`, `trio.move_on_after`, `trio.fail_at` and `trio.fail_after` \ 
now accept *shield* as a keyword argument. If specified, it provides an initial \ 
value for the `~trio.CancelScope.shield` attribute of the `trio.CancelScope` \ 
object created by the context manager.
- Added :func:`trio.lowlevel.add_parking_lot_breaker` and \ 
:func:`trio.lowlevel.remove_parking_lot_breaker` to allow creating custom \ 
lock/semaphore implementations that will break their underlying parking lot if a \ 
task exits unexpectedly. :meth:`trio.lowlevel.ParkingLot.break_lot` is also \ 
added, to allow breaking a parking lot intentionally.

Bugfixes

- Allow sockets to bind any ``os.PathLike`` object.
- Update ``trio.lowlevel.open_process``'s documentation to allow bytes.
- Update :func:`trio.sleep_forever` to be `NoReturn`.

Improved documentation

- Add docstrings for memory channels' ``statistics()`` and ``aclose`` methods.
   2024-08-08 07:16:50 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-trio: updated to 0.26.2

Trio 0.26.2 (2024-08-08)

Bugfixes

- Remove remaining ``hash`` usage and fix test configuration issue that \ 
prevented it from being caught.
   2024-08-05 21:02:55 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-trio: updated to 0.26.1

Trio 0.26.1 (2024-08-05)

Bugfixes

- Switched ``attrs`` usage off of ``hash``, which is now deprecated.

Miscellaneous internal changes

- Use PyPI's Trusted Publishers to make releases.
   2024-07-07 16:50:16 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
py-trio: update to 0.26.0.

Features

    Added an interactive interpreter python -m trio.

    This makes it easier to try things and experiment with trio in the a Python repl.
    Use the await keyword without needing to call trio.run()

$ python -m trio
Trio 0.26.0, Python 3.10.6
Use "await" directly instead of "trio.run()".
Type "help", "copyright", "credits" or \ 
"license" for more information.
>>> import trio
>>> await trio.sleep(1); print("hi")  # prints after one second
hi

See interactive debugging for further detail. (#2972)

    trio.testing.RaisesGroup can now catch an unwrapped exception with \ 
unwrapped=True. This means that the behaviour of except* can be fully replicated \ 
in combination with flatten_subgroups=True (formerly strict=False). (#2989)

Bugfixes

    Fixed a bug where trio.testing.RaisesGroup(..., strict=False) would check \ 
the number of exceptions in the raised ExceptionGroup before flattening \ 
subgroups, leading to incorrectly failed matches.
    It now properly supports end ($) regex markers in the match message, by no \ 
longer including " (x sub-exceptions)" in the string it matches \ 
against. (#2989)

Deprecations and removals

    Deprecated strict parameter from trio.testing.RaisesGroup, previous \ 
functionality of strict=False is now in flatten_subgroups=True. (#2989)
   2024-05-16 09:46:12 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-trio: updated to 0.25.1

Trio 0.25.1 (2024-05-16)

Bugfixes

- Fix crash when importing trio in embedded Python on Windows, and other \ 
installs that remove docstrings.
   2024-03-23 08:26:07 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
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) | Package updated
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.