From 34683095b7ccda7a613c19e87ab7d421f2fead9ecc2b201600d244709badf797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Sat, 17 May 2025 16:10:11 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main python-trio revision b9758f47a239bcc76eaacfb04b98fefa --- python-trio.changes | 109 ++++++++++++++++++++++++++++++++++++++++++++ python-trio.spec | 5 +- trio-0.26.2.tar.gz | 3 -- trio-0.29.0.tar.gz | 3 ++ 4 files changed, 115 insertions(+), 5 deletions(-) delete mode 100644 trio-0.26.2.tar.gz create mode 100644 trio-0.29.0.tar.gz diff --git a/python-trio.changes b/python-trio.changes index 0ae0567..b200581 100644 --- a/python-trio.changes +++ b/python-trio.changes @@ -1,3 +1,112 @@ +------------------------------------------------------------------- +Tue Mar 4 15:13:47 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 0.29.0 + * Add trio.lowlevel.in_trio_run() and trio.lowlevel.in_trio_task() and document + the semantics (and differences) thereof. See the documentation. (#2757) + * If trio.testing.RaisesGroup does not get the expected exceptions it now raises + an AssertionError with a helpful message, instead of letting the raised exception/ + group fall through. The raised exception is available in the __context__ of the + AssertionError and can be seen in the traceback. (#3145) + * Clear Trio’s cache of worker threads upon os.fork. (#2764) + * Stop using ctypes to mutate tracebacks for strict_exception_groups=False’s exception + collapsing. (#405) + * Fixed spelling error in Windows error code enum for ERROR_INVALID_PARAMETER. (#3166) + * Publicly re-export __version__ for type checking purposes. (#3186) + * The typing of trio.abc.HostnameResolver.getaddrinfo() has been corrected to match + that of the stdlib socket.getaddrinfo, which was updated in mypy 1.15 (via a typeshed + update) to include the possibility of tuple[int, bytes] for the sockaddr field of the + result. This happens in situations where Python was compiled with --disable-ipv6. + * Additionally, the static typing of trio.to_thread.run_sync(), trio.from_thread.run() + and trio.from_thread.run_sync() has been improved and should reflect the underlying + function being run. (#3201) +- Add sed command to remove shebangs from check_type_completeness.py and gen_exports.py + +------------------------------------------------------------------- +Tue Jan 28 10:44:39 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 0.28.0 + * :func:inspect.iscoroutinefunction and the like now give correct answers when + called on KI-protected functions. + * Rework KeyboardInterrupt protection to track code objects, rather than frames, + as protected or not. The new implementation no longer needs to access + frame.f_locals dictionaries, so it won't artificially extend the lifetime of + local variables. Since KeyboardInterrupt protection is now imposed statically + (when a protected function is defined) rather than each time the function runs, + its previously-noticeable performance overhead should now be near zero. + The lack of a call-time wrapper has some other benefits as well: + * :func:inspect.iscoroutinefunction and the like now give correct answers when + called on KI-protected functions. + * Calling a synchronous KI-protected function no longer pushes an additional stack + frame, so tracebacks are clearer. + * A synchronous KI-protected function invoked from C code (such as a weakref + finalizer) is now guaranteed to start executing; previously there would be a brief + window in which KeyboardInterrupt could be raised before the protection was + established. + * One minor drawback of the new approach is that multiple instances of the same + closure share a single KeyboardInterrupt protection state (because they share a + single code object). That means that if you apply + trio.lowlevel.enable_ki_protection to some of them + and not others, you won't get the protection semantics you asked for. See the + documentation of trio.lowlevel.enable_ki_protection + for more details and a workaround. + * Rework foreign async generator finalization to track async generator + ids rather than mutating ag_frame.f_locals. This fixes an issue + with the previous implementation: locals' lifetimes will no longer be + extended by materialization in the ag_frame.f_locals dictionary that + the previous finalization dispatcher logic needed to access to do its work. + * Ensure that Pyright recognizes our underscore prefixed attributes for attrs + classes. + * Fix trio.testing.RaisesGroup's typing. + * Improve error message when run after gevent's monkey patching. + * Document that trio.sleep_forever is guaranteed to raise an exception now. + * Remove workaround for OpenSSL 1.1.1 DTLS ClientHello bug. + * Drop support for Python 3.8. + * Switch to using PEP570 for positional-only arguments for trio.socket.SocketType's + methods. + * Improve type annotations in several places by removing Any usage. + * Get and enforce 100% coverage. + +------------------------------------------------------------------- +Wed Oct 30 19:45:40 UTC 2024 - Dirk Müller + +- update to 0.27.0: + * :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`. + * :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. + * 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. + * Add docstrings for memory channels' statistics() and aclose + methods. + ------------------------------------------------------------------- Sun Sep 8 15:06:48 UTC 2024 - Dirk Müller diff --git a/python-trio.spec b/python-trio.spec index 166c221..9ff6da9 100644 --- a/python-trio.spec +++ b/python-trio.spec @@ -1,7 +1,7 @@ # # spec file for package python-trio # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,7 +26,7 @@ %endif %{?sle15_python_module_pythons} Name: python-trio%{psuffix} -Version: 0.26.2 +Version: 0.29.0 Release: 0 Summary: Python async/await-native I/O library License: Apache-2.0 OR MIT @@ -71,6 +71,7 @@ has an obsessive focus on usability and correctness. %prep %autosetup -p1 -n trio-%{version} +sed -i '/\/usr\/bin\/env\ python3/d' src/trio/_tests/check_type_completeness.py src/trio/_tools/gen_exports.py %build %pyproject_wheel diff --git a/trio-0.26.2.tar.gz b/trio-0.26.2.tar.gz deleted file mode 100644 index d7a2b5f..0000000 --- a/trio-0.26.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0346c3852c15e5c7d40ea15972c4805689ef2cb8b5206f794c9c19450119f3a4 -size 561156 diff --git a/trio-0.29.0.tar.gz b/trio-0.29.0.tar.gz new file mode 100644 index 0000000..b30559d --- /dev/null +++ b/trio-0.29.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea0d3967159fc130acb6939a0be0e558e364fee26b5deeecc893a6b08c361bdf +size 588952