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) | |
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) | |
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) | |
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) | |
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) | |
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) | |
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. |