forked from pool/python-trio
Compare commits
11 Commits
Author | SHA256 | Date | |
---|---|---|---|
89f82f141a | |||
b858155e8c | |||
9595e1ed0b | |||
a2c904cd00 | |||
3908619a72 | |||
0783f86b9f | |||
a5bcbad110 | |||
5398f6007a | |||
b8d171346d | |||
e880a436ae | |||
4268663a67 |
32
pyopenssl-25-1-compatibility.patch
Normal file
32
pyopenssl-25-1-compatibility.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
From c6e15249dc0cfe29bdbe6829ae4a3891aa147aa3 Mon Sep 17 00:00:00 2001
|
||||
From: A5rocks <git@helvetica.moe>
|
||||
Date: Fri, 20 Jun 2025 10:13:37 -0400
|
||||
Subject: [PATCH] Move away from RaisesContext
|
||||
|
||||
---
|
||||
src/trio/_tests/test_testing_raisesgroup.py | 5 +----
|
||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/trio/_tests/test_testing_raisesgroup.py b/src/trio/_tests/test_testing_raisesgroup.py
|
||||
index b3fe2ae755..a42566d3ec 100644
|
||||
--- a/src/trio/_tests/test_testing_raisesgroup.py
|
||||
+++ b/src/trio/_tests/test_testing_raisesgroup.py
|
||||
@@ -14,9 +14,6 @@
|
||||
if sys.version_info < (3, 11):
|
||||
from exceptiongroup import BaseExceptionGroup, ExceptionGroup
|
||||
|
||||
-if TYPE_CHECKING:
|
||||
- from _pytest.python_api import RaisesContext
|
||||
-
|
||||
|
||||
def wrap_escape(s: str) -> str:
|
||||
return "^" + re.escape(s) + "$"
|
||||
@@ -24,7 +21,7 @@ def wrap_escape(s: str) -> str:
|
||||
|
||||
def fails_raises_group(
|
||||
msg: str, add_prefix: bool = True
|
||||
-) -> RaisesContext[AssertionError]:
|
||||
+) -> pytest.RaisesExc[AssertionError]:
|
||||
assert (
|
||||
msg[-1] != "\n"
|
||||
), "developer error, expected string should not end with newline"
|
@@ -1,3 +1,133 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 17 20:26:22 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- add pyopenssl-25-1-compatibility.patch to ignore deprecation
|
||||
warnings (from pyopenssl)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 2 11:20:53 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- Update to 0.30.0
|
||||
* Add @trio.as_safe_channel, a wrapper that can be used to make async generators
|
||||
safe. This will be the suggested fix for the flake8-async lint rule ASYNC900. (#3197)
|
||||
* Allow trio to be a types.ModuleType and still have deprecated attributes. (#2135)
|
||||
* Fixed socket module for some older systems which lack socket.AI_NUMERICSERV.
|
||||
* Now trio works on legacy (pre-Lion) macOS. (#3133)
|
||||
* Update type hints for trio.run_process and trio.lowlevel.open_process. (#3183)
|
||||
* Don't mutate the global runner when MockClock is created. (#3205)
|
||||
* Fix incorrect return type hint for Nursery.start(). (#3224)
|
||||
* Update wording in documentation to more accurately reflect Trio's maturity. (#3216)
|
||||
- Update BuildRequires from pyproject.toml
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 4 15:13:47 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- 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 <adrian.glaubitz@suse.com>
|
||||
|
||||
- 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 <dmueller@suse.com>
|
||||
|
||||
- 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 <dmueller@suse.com>
|
||||
|
||||
|
@@ -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,15 +26,16 @@
|
||||
%endif
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-trio%{psuffix}
|
||||
Version: 0.26.2
|
||||
Version: 0.30.0
|
||||
Release: 0
|
||||
Summary: Python async/await-native I/O library
|
||||
License: Apache-2.0 OR MIT
|
||||
URL: https://github.com/python-trio/trio
|
||||
Source: https://files.pythonhosted.org/packages/source/t/trio/trio-%{version}.tar.gz
|
||||
Patch1: https://github.com/python-trio/trio/pull/3292/commits/c6e15249dc0cfe29bdbe6829ae4a3891aa147aa3.patch#/pyopenssl-25-1-compatibility.patch
|
||||
BuildRequires: %{python_module base >= 3.8}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module setuptools > 77}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: netcfg
|
||||
@@ -71,6 +72,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
|
||||
@@ -83,6 +85,7 @@ has an obsessive focus on usability and correctness.
|
||||
|
||||
%check
|
||||
%if %{with test}
|
||||
export PYTEST_ADDOPTS="-W ignore::DeprecationWarning"
|
||||
# test_static_tool_sees_all_symbols uses jedi/pylint for static analysis,
|
||||
# pointless for us.
|
||||
donttest="test_static_tool_sees_all_symbols"
|
||||
|
BIN
trio-0.26.2.tar.gz
(Stored with Git LFS)
BIN
trio-0.26.2.tar.gz
(Stored with Git LFS)
Binary file not shown.
3
trio-0.30.0.tar.gz
Normal file
3
trio-0.30.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0781c857c0c81f8f51e0089929a26b5bb63d57f927728a5586f7e36171f064df
|
||||
size 593776
|
Reference in New Issue
Block a user