forked from pool/python-trio
		
	Compare commits
	
		
			15 Commits
		
	
	
		
	
	| Author | SHA256 | Date | |
|---|---|---|---|
| 107c321621 | |||
| 43e13885ca | |||
| 89f82f141a | |||
| b858155e8c | |||
| 9595e1ed0b | |||
| a2c904cd00 | |||
| 3908619a72 | |||
| 0783f86b9f | |||
| a5bcbad110 | |||
| 5398f6007a | |||
| b8d171346d | |||
| e880a436ae | |||
| 4268663a67 | |||
| 9ab2c162c6 | |||
| 87fafbf12b | 
| @@ -1,3 +1,192 @@ | ||||
| ------------------------------------------------------------------- | ||||
| Tue Sep 23 11:04:19 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com> | ||||
|  | ||||
| - Update to 0.31.0 | ||||
|   * Cancelled strings can now display the source and reason for a cancellation. | ||||
|     Trio-internal sources of cancellation will set this string, and CancelScope.cancel | ||||
|     now has a reason string parameter that can be used to attach info to any Cancelled | ||||
|     to help in debugging. (#3232) | ||||
|   * Make ctrl+c work in more situations in the Trio REPL (python -m trio). (#3007) | ||||
|   * Allow pickling trio.Cancelled, as they can show up when you want to pickle something | ||||
|     else. This does not rule out pickling other NoPublicConstructor objects -- create an | ||||
|     issue if necessary. (#3248) | ||||
|   * Decrease import time on Windows by around 10%. (#3263) | ||||
|   * Handle unwrapping SystemExit/KeyboardInterrupt exception gracefully in utility function | ||||
|     raise_single_exception_from_group that reraises last exception from group. (#3275) | ||||
|   * Ensure that the DTLS server does not mutate SSL context. (#3277) | ||||
|   * Avoid having trio.as_safe_channel raise if closing the generator wrapped GeneratorExit | ||||
|     in a BaseExceptionGroup. (#3324) | ||||
|   * Implement bool(trio.Event) and have it raise a DeprecationWarning and tell users to use | ||||
|     trio.Event.is_set instead. This is an alternative to mypy --enable-error-code=truthy-bool | ||||
|     for users who don't use type checking. (#3322) | ||||
|   * When misnesting nurseries you now get a helpful RuntimeError instead of a catastrophic | ||||
|     TrioInternalError. (#3307) | ||||
| - Drop pyopenssl-25-1-compatibility.patch, merged upstream | ||||
| - Remove shebang from trio/_tools/sync_requirements.py | ||||
|  | ||||
| ------------------------------------------------------------------- | ||||
| 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 and contributors | ||||
| # | ||||
| # 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.25.1 | ||||
| Version:        0.31.0 | ||||
| Release:        0 | ||||
| Summary:        Python async/await-native I/O library | ||||
| License:        Apache-2.0 OR MIT | ||||
| @@ -34,7 +34,7 @@ URL:            https://github.com/python-trio/trio | ||||
| Source:         https://files.pythonhosted.org/packages/source/t/trio/trio-%{version}.tar.gz | ||||
| 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 +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 src/trio/_tools/sync_requirements.py | ||||
|  | ||||
| %build | ||||
| %pyproject_wheel | ||||
| @@ -83,6 +84,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.31.0.tar.gz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								trio-0.31.0.tar.gz
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| version https://git-lfs.github.com/spec/v1 | ||||
| oid sha256:f71d551ccaa79d0cb73017a33ef3264fde8335728eb4c6391451fe5d253a9d5b | ||||
| size 605825 | ||||
		Reference in New Issue
	
	Block a user