13 Commits

Author SHA256 Message Date
ef300d3dbb Accepting request 1294231 from devel:languages:python
- add pyopenssl-25-1-compatibility.patch to ignore deprecation
  warnings (from pyopenssl)

OBS-URL: https://build.opensuse.org/request/show/1294231
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=23
2025-07-24 16:34:34 +00:00
b3fd9b3b12 Fix typo
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=60
2025-07-17 20:57:56 +00:00
2203e8f2e4 Mention pyopenssl-25-1-compatibility.patc in the changelog.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=59
2025-07-17 20:38:14 +00:00
e6264d96b3 - ignore deprecation warnings (from pyopenssl)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=58
2025-07-17 20:26:47 +00:00
d1028a64f4 Accepting request 1290021 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1290021
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=22
2025-07-06 14:59:32 +00:00
8011fe7a5d - 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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=56
2025-07-02 16:04:35 +00:00
3d93438767 Accepting request 1250384 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1250384
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=21
2025-03-06 13:48:24 +00:00
0eaa0feab0 Accepting request 1250113 from home:glaubitz:branches:devel:languages:python
- 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

OBS-URL: https://build.opensuse.org/request/show/1250113
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=54
2025-03-05 10:54:59 +00:00
a47b3fe173 Accepting request 1240800 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1240800
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=20
2025-01-29 15:09:57 +00:00
ad8bf48c8c Accepting request 1240795 from home:glaubitz:branches:devel:languages:python
- 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.

OBS-URL: https://build.opensuse.org/request/show/1240795
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=52
2025-01-28 11:09:05 +00:00
0f88afc1d9 - 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.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=51
2024-10-30 19:46:02 +00:00
2157a66e46 Accepting request 1199467 from devel:languages:python
- 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.

OBS-URL: https://build.opensuse.org/request/show/1199467
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=19
2024-09-09 12:43:26 +00:00
0d09a4629e - 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.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=49
2024-09-08 15:07:35 +00:00
5 changed files with 39 additions and 32 deletions

View 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"

View File

@@ -1,29 +1,3 @@
-------------------------------------------------------------------
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>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-trio
#
# Copyright (c) 2025 SUSE LLC and contributors
# 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,12 +26,13 @@
%endif
%{?sle15_python_module_pythons}
Name: python-trio%{psuffix}
Version: 0.31.0
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 > 77}
@@ -71,7 +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 src/trio/_tools/sync_requirements.py
sed -i '/\/usr\/bin\/env\ python3/d' src/trio/_tests/check_type_completeness.py src/trio/_tools/gen_exports.py
%build
%pyproject_wheel

3
trio-0.30.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0781c857c0c81f8f51e0089929a26b5bb63d57f927728a5586f7e36171f064df
size 593776

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f71d551ccaa79d0cb73017a33ef3264fde8335728eb4c6391451fe5d253a9d5b
size 605825