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> | Mon Jun 17 08:23:15 UTC 2024 - Dirk Müller <dmueller@suse.com> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| # | # | ||||||
| # spec file for package python-trio | # 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 | # All modifications and additions to the file contributed by third parties | ||||||
| # remain the property of their copyright owners, unless otherwise agreed | # remain the property of their copyright owners, unless otherwise agreed | ||||||
| @@ -26,15 +26,16 @@ | |||||||
| %endif | %endif | ||||||
| %{?sle15_python_module_pythons} | %{?sle15_python_module_pythons} | ||||||
| Name:           python-trio%{psuffix} | Name:           python-trio%{psuffix} | ||||||
| Version:        0.25.1 | Version:        0.30.0 | ||||||
| Release:        0 | Release:        0 | ||||||
| Summary:        Python async/await-native I/O library | Summary:        Python async/await-native I/O library | ||||||
| License:        Apache-2.0 OR MIT | License:        Apache-2.0 OR MIT | ||||||
| URL:            https://github.com/python-trio/trio | URL:            https://github.com/python-trio/trio | ||||||
| Source:         https://files.pythonhosted.org/packages/source/t/trio/trio-%{version}.tar.gz | 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 base >= 3.8} | ||||||
| BuildRequires:  %{python_module pip} | BuildRequires:  %{python_module pip} | ||||||
| BuildRequires:  %{python_module setuptools} | BuildRequires:  %{python_module setuptools > 77} | ||||||
| BuildRequires:  %{python_module wheel} | BuildRequires:  %{python_module wheel} | ||||||
| BuildRequires:  fdupes | BuildRequires:  fdupes | ||||||
| BuildRequires:  netcfg | BuildRequires:  netcfg | ||||||
| @@ -71,6 +72,7 @@ has an obsessive focus on usability and correctness. | |||||||
|  |  | ||||||
| %prep | %prep | ||||||
| %autosetup -p1 -n trio-%{version} | %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 | %build | ||||||
| %pyproject_wheel | %pyproject_wheel | ||||||
| @@ -83,6 +85,7 @@ has an obsessive focus on usability and correctness. | |||||||
|  |  | ||||||
| %check | %check | ||||||
| %if %{with test} | %if %{with test} | ||||||
|  | export PYTEST_ADDOPTS="-W ignore::DeprecationWarning" | ||||||
| # test_static_tool_sees_all_symbols uses jedi/pylint for static analysis, | # test_static_tool_sees_all_symbols uses jedi/pylint for static analysis, | ||||||
| #   pointless for us. | #   pointless for us. | ||||||
| donttest="test_static_tool_sees_all_symbols" | 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