forked from pool/python-trio
		
	Compare commits
	
		
			13 Commits
		
	
	
		
	
	| Author | SHA256 | Date | |
|---|---|---|---|
| ef300d3dbb | |||
| b3fd9b3b12 | |||
| 2203e8f2e4 | |||
| e6264d96b3 | |||
| d1028a64f4 | |||
| 8011fe7a5d | |||
| 3d93438767 | |||
| 0eaa0feab0 | |||
| a47b3fe173 | |||
| ad8bf48c8c | |||
| 0f88afc1d9 | |||
| 2157a66e46 | |||
| 0d09a4629e | 
							
								
								
									
										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,166 @@
 | 
			
		||||
-------------------------------------------------------------------
 | 
			
		||||
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>
 | 
			
		||||
 | 
			
		||||
- update to 0.26.2:
 | 
			
		||||
  * Remove remaining hash usage and fix test configuration issue
 | 
			
		||||
    that prevented it from being caught.
 | 
			
		||||
  * Switched attrs usage off of hash, which is now deprecated.
 | 
			
		||||
  * Use PyPI's Trusted Publishers to make releases.
 | 
			
		||||
  * 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.21.0+dev, 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 :ref:`interactive debugging` for
 | 
			
		||||
    further detail. (#2972)
 | 
			
		||||
  * :class:`trio.testing.RaisesGroup` can now catch an unwrapped
 | 
			
		||||
    exception with unwrapped=True. This means that the behaviour
 | 
			
		||||
    of :ref:`except* <except_star>` can be fully replicated in
 | 
			
		||||
    combination with flatten_subgroups=True (formerly
 | 
			
		||||
    strict=False). (#2989)
 | 
			
		||||
  * Fixed a bug where :class:`trio.testing.RaisesGroup(...,
 | 
			
		||||
    strict=False) <trio.testing.RaisesGroup>` 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.
 | 
			
		||||
  * Deprecated strict parameter from
 | 
			
		||||
    :class:`trio.testing.RaisesGroup`, previous functionality of
 | 
			
		||||
    strict=False is now in flatten_subgroups=True.
 | 
			
		||||
 | 
			
		||||
-------------------------------------------------------------------
 | 
			
		||||
Mon Jun 17 08:23:15 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.25.1
 | 
			
		||||
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.25.1.tar.gz
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								trio-0.25.1.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