Commit Graph

26 Commits

Author SHA256 Message Date
Dominique Leuenberger
c0b86cb682 Accepting request 1005914 from devel:languages:python
- update to 0.21.0:
  * Trio now supports Python 3.11.
  * Remove support for Python 3.6.

OBS-URL: https://build.opensuse.org/request/show/1005914
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=11
2022-09-26 16:47:43 +00:00
fc602d2b0c - update to 0.21.0:
* Trio now supports Python 3.11.
  * Remove support for Python 3.6.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=24
2022-09-25 19:16:05 +00:00
Dominique Leuenberger
8521479563 Accepting request 965627 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/965627
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=10
2022-04-02 16:20:23 +00:00
bc80c8af88 Accepting request 965606 from home:bnavigator:branches:devel:languages:python
- Update to version 0.20.0
  * You can now conveniently spawn a child process in a background
    task and interact it with on the fly using process = await
    nursery.start(run_process, ...). See run_process for more
    details. We recommend most users switch to this new API. Also
    note that:
    - trio.open_process has been deprecated in favor of
      trio.lowlevel.open_process,
    - The aclose method on Process has been deprecated along with
      async with process_obj. (#1104)
  * Now context variables set with contextvars are preserved when
    running functions in a worker thread with
    trio.to_thread.run_sync, or when running functions from the
    worker thread in the parent Trio thread with
    trio.from_thread.run, and trio.from_thread.run_sync. This is
    done by automatically copying the contextvars context.
    trio.lowlevel.spawn_system_task now also receives an optional
    context argument. (#2160)
  * Trio now avoids creating cyclic garbage when a MultiError is
    generated and filtered, including invisibly within the
    cancellation system. This means errors raised through nurseries
    and cancel scopes should result in less GC latency. (#2063)
  * Trio now deterministically cleans up file descriptors that were
    opened before subprocess creation fails. Previously, they would
    remain open until the next run of the garbage collector.
    (#2193)
  * Add compatibility with OpenSSL 3.0 on newer Python and PyPy
    versions by working around SSLEOFError not being raised
    properly. (#2203)
  * Fix a bug that could cause Process.wait to hang on Linux

OBS-URL: https://build.opensuse.org/request/show/965606
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=22
2022-03-29 11:37:25 +00:00
Dominique Leuenberger
7d35b48c3c Accepting request 940542 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/940542
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=9
2021-12-16 20:18:53 +00:00
d9bf2aeb47 Accepting request 940110 from home:bnavigator:python-rpm-macros
- Update to version 0.19.0
  * Trio now supports Python 3.10. (#1921)
  * Use slots for `~.lowlevel.Task` which should make them slightly
    smaller and faster. (#1927)
  * Make `~.Event` more lightweight by using less objects (about 2
    rather than 5, including a nested ParkingLot and attribute
    dicts) and simpler structures (set rather than OrderedDict).
    This may benefit applications that create a large number of
    event instances, such as with the "replace event object on
    every set()" idiom. (#1948)
  * The event loop now holds on to references of coroutine frames
    for only the minimum necessary period of time. (#1864)
  * The `~.lowlevel.TrioToken` class can now be used as a target of
    a weak reference. (#1924)
- Release 0.18.0
  * Add synchronous .close() methods and context manager (with x)
    support for .MemorySendChannel and .MemoryReceiveChannel.
    (#1797)
  * Previously, on Windows, Trio programs using thousands of
    sockets at the same time could trigger extreme slowdowns in the
    Windows kernel. Now, Trio works around this issue, so you
    should be able to use as many sockets as you want. (#1280)
  * `trio.from_thread.run` no longer crashes the Trio run if it is
    executed after the system nursery has been closed but before
    the run has finished. Calls made at this time will now raise
    trio.RunFinishedError. This fixes a regression introduced in
    Trio 0.17.0. The window in question is only one scheduler tick
    long in most cases, but may be longer if async generators need
    to be cleaned up. (#1738)
  * Fix a crash in pypy-3.7 (#1765)

OBS-URL: https://build.opensuse.org/request/show/940110
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=21
2021-12-14 18:13:45 +00:00
Dominique Leuenberger
4babd108e4 Accepting request 861750 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/861750
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=8
2021-01-15 18:43:25 +00:00
Markéta Machová
7c9a1fc825 Accepting request 861746 from home:mcalabkova:branches:devel:languages:python
- Skip test incompatible with new pytest 6.2

OBS-URL: https://build.opensuse.org/request/show/861746
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=19
2021-01-08 15:39:15 +00:00
Dominique Leuenberger
34eb856471 Accepting request 841142 from devel:languages:python
- Remove hashbang and tests in runtime package
- Disable test test_close_at_bad_time_for_send_all due to failure on PPC
- Update to v0.17.0
  * trio.open_tcp_stream has a new local_address= keyword argument
    that can be used on machines with multiple IP addresses to
    control which IP is used for the outgoing connection
  * If you pass a raw IP address into sendto, it no longer spends
    any time trying to resolve the hostname. If you're using UDP,
    this should substantially reduce your per-packet overhead
  * trio.lowlevel.checkpoint is now much faster
  * new, lower-overhead data structure to track upcoming timeouts,
    which should make your programs faster
  * Trio can now be imported when sys.excepthook is a functools.partial
    instance, which might occur in a pytest-qt test function
  * The thread cache didn't release its reference to the previous job
  * Remove wait_socket_*, notify_socket_closing, notify_fd_closing,
    run_sync_in_worker_thread and current_default_worker_thread_limiter
  * When using "instruments", you now only "pay for what you use":
    if there are no instruments installed that override a particular
    hook such as `abc.Instrument.before_task_step`, then Trio doesn't
    waste any effort on checking its instruments when the event
    corresponding to that hook occurs.

OBS-URL: https://build.opensuse.org/request/show/841142
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=7
2020-10-29 08:47:29 +00:00
Tomáš Chvátal
c841cef943 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=17 2020-10-12 07:01:02 +00:00
Tomáš Chvátal
a8653f60b9 Accepting request 841063 from home:jayvdb:branches:devel:languages:python
- Remove hashbang and tests in runtime package
- Disable test test_close_at_bad_time_for_send_all due to failure on PPC
- Update to v0.17.0

OBS-URL: https://build.opensuse.org/request/show/841063
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=16
2020-10-12 06:49:07 +00:00
Dominique Leuenberger
896c9f6c38 Accepting request 822413 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/822413
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=6
2020-07-26 14:18:54 +00:00
Tomáš Chvátal
1a203ad89b Accepting request 822403 from home:mcalabkova:branches:devel:languages:python
- Update to 0.16.0
  * If you want to use Trio, but are stuck with some other event loop 
    like Qt or PyGame, then good news: now you can have both.
  * To speed up `trio.to_thread.run_sync`, Trio now caches and re-uses
    worker threads.
  * Tasks spawned with `nursery.start() <trio.Nursery.start>` aren't treated as
    direct children of their nursery until they call ``task_status.started()``.
  * Some bugfixes and deprecations

OBS-URL: https://build.opensuse.org/request/show/822403
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=14
2020-07-23 13:17:36 +00:00
Dominique Leuenberger
3ca4a636af Accepting request 812800 from devel:languages:python
- Update to 0.15.1:
  * Added a helpful error message if an async function is passed to
    trio.from_thread.run_sync or a sync function to trio.from_thread.run. (#1244)
  * Previously, when trio.run_process was cancelled, it always killed the subprocess immediately. Now, on Unix, it first gives the process a chance to clean up by sending SIGTERM, and only escalates to SIGKILL if the process is still running after 5 seconds. But if you prefer the old behavior, or want to adjust the timeout, then don't worry: you can now pass a custom deliver_cancel= argument to define your own process killing policy. (#1104)
  * It turns out that creating a subprocess can block the parent process for a surprisingly long time. So trio.open_process now uses a worker thread to avoid blocking the event loop. (#1109)
  * On Linux kernels v5.3 or newer, trio.Process.wait now uses the pidfd API to track child processes. This shouldn't have any user-visible change, but it makes working with subprocesses faster and use less memory. (#1241)
  * The trio.Process.returncode attribute is now automatically updated as needed, instead of only when you call ~trio.Process.poll or ~trio.Process.wait. Also, repr(process_object) now always contains up-to-date information about the process status. (#1315)

OBS-URL: https://build.opensuse.org/request/show/812800
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=5
2020-06-09 22:49:01 +00:00
Tomáš Chvátal
50f9c7d521 - Update to 0.15.1:
* Added a helpful error message if an async function is passed to
    trio.from_thread.run_sync or a sync function to trio.from_thread.run. (#1244)
  * Previously, when trio.run_process was cancelled, it always killed the subprocess immediately. Now, on Unix, it first gives the process a chance to clean up by sending SIGTERM, and only escalates to SIGKILL if the process is still running after 5 seconds. But if you prefer the old behavior, or want to adjust the timeout, then don't worry: you can now pass a custom deliver_cancel= argument to define your own process killing policy. (#1104)
  * It turns out that creating a subprocess can block the parent process for a surprisingly long time. So trio.open_process now uses a worker thread to avoid blocking the event loop. (#1109)
  * On Linux kernels v5.3 or newer, trio.Process.wait now uses the pidfd API to track child processes. This shouldn't have any user-visible change, but it makes working with subprocesses faster and use less memory. (#1241)
  * The trio.Process.returncode attribute is now automatically updated as needed, instead of only when you call ~trio.Process.poll or ~trio.Process.wait. Also, repr(process_object) now always contains up-to-date information about the process status. (#1315)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=12
2020-06-09 07:38:21 +00:00
Dominique Leuenberger
4565a38242 Accepting request 763378 from devel:languages:python
- update to 0.13.0
 * Use slots for memory channel state and statistics which should make
    memory channels slightly smaller and faster. 
 * OpenSSL has a bug in its handling of TLS 1.3 session tickets that can cause
    deadlocks or data loss in some rare edge cases. These edge cases most frequently
    happen during tests.
 * Trio now uses signal.set_wakeup_fd on all platforms.
 * Trio no longer crashes when an async function is implemented in C or Cython
    and then passed directly to trio.run or nursery.start_soon.
 * When a Trio task makes improper use of a non-Trio async library, Trio nowi
    causes an exception to be raised within the task at the point of the error,
    rather than abandoning the task and raising an error in its parent.
    This improves debuggability and resolves the TrioInternalError that would
    sometimes result from the old strategy. (#552)
 * In 0.12.0 we deprecated trio.run_sync_in_worker_thread in favor
    of trio.to_thread.run_sync. But, the deprecation message listed the wrong
    name for the replacement.
 * Fix regression introduced with cancellation changes in 0.12.0, where
    a trio.CancelScope which isn't cancelled could catch a propagating
    trio.Cancelled exception if shielding were changed while the cancellation
    was propagating.
 * Fix a crash that could happen when using MockClock with autojump enabled
    and a non-zero rate.
 * If you nest >1000 cancel scopes within each other, Trio now handles that
    gracefully instead of crashing with a RecursionError.
 * Fixed the hash behavior of trio.Path to match pathlib.Path. Previously
    trio.Path's hash was inherited from object instead of from pathlib.PurePath.

OBS-URL: https://build.opensuse.org/request/show/763378
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=4
2020-01-12 22:24:11 +00:00
4560d9c9d9 - update to 0.13.0
* Use slots for memory channel state and statistics which should make
    memory channels slightly smaller and faster. 
 * OpenSSL has a bug in its handling of TLS 1.3 session tickets that can cause
    deadlocks or data loss in some rare edge cases. These edge cases most frequently
    happen during tests.
 * Trio now uses signal.set_wakeup_fd on all platforms.
 * Trio no longer crashes when an async function is implemented in C or Cython
    and then passed directly to trio.run or nursery.start_soon.
 * When a Trio task makes improper use of a non-Trio async library, Trio nowi
    causes an exception to be raised within the task at the point of the error,
    rather than abandoning the task and raising an error in its parent.
    This improves debuggability and resolves the TrioInternalError that would
    sometimes result from the old strategy. (#552)
 * In 0.12.0 we deprecated trio.run_sync_in_worker_thread in favor
    of trio.to_thread.run_sync. But, the deprecation message listed the wrong
    name for the replacement.
 * Fix regression introduced with cancellation changes in 0.12.0, where
    a trio.CancelScope which isn't cancelled could catch a propagating
    trio.Cancelled exception if shielding were changed while the cancellation
    was propagating.
 * Fix a crash that could happen when using MockClock with autojump enabled
    and a non-zero rate.
 * If you nest >1000 cancel scopes within each other, Trio now handles that
    gracefully instead of crashing with a RecursionError.
 * Fixed the hash behavior of trio.Path to match pathlib.Path. Previously
    trio.Path's hash was inherited from object instead of from pathlib.PurePath.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=10
2020-01-11 21:16:07 +00:00
Dominique Leuenberger
3f61353a2a Accepting request 721100 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/721100
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=3
2019-08-06 13:11:52 +00:00
Tomáš Chvátal
7d48798b7b Accepting request 721060 from home:pgajdos
- version update to 0.12.1
  Features
  * If you have a `~trio.abc.ReceiveStream` object, you can now use
    ``async for data in stream: ...`` instead of calling
    `~trio.abc.ReceiveStream.receive_some`. Each iteration gives an
    arbitrary sized chunk of bytes. And the best part is, the loop
    automatically exits when you reach EOF, so you don't have to check for
    it yourself anymore. Relatedly, you no longer need to pick a magic
    buffer size value before calling
    `~trio.abc.ReceiveStream.receive_some`; you can ``await
    stream.receive_some()`` with no arguments, and the stream will
    automatically pick a reasonable size for you. (`#959 <https://github.com/python-trio/trio/issues/959>`__)
  * Threading interfaces have been reworked:
    ``run_sync_in_worker_thread`` is now `trio.to_thread.run_sync`, and
    instead of ``BlockingTrioPortal``, use `trio.from_thread.run` and
    `trio.from_thread.run_sync`. What's neat about this is that these
    cooperate, so if you're in a thread created by `to_thread.run_sync`,
    it remembers which Trio created it, and you can call
    ``trio.from_thread.*`` directly without having to pass around a
    ``BlockingTrioPortal`` object everywhere. (`#810 <https://github.com/python-trio/trio/issues/810>`__)
  * We cleaned up the distinction between the "abstract channel interface"
    and the "memory channel" concrete implementation.
    `trio.abc.SendChannel` and `trio.abc.ReceiveChannel` have been slimmed
    down, `trio.MemorySendChannel` and `trio.MemoryReceiveChannel` are now
    public types that can be used in type hints, and there's a new
    `trio.abc.Channel` interface for future bidirectional channels. (`#719 <https://github.com/python-trio/trio/issues/719>`__)
  * Add :func:`trio.run_process` as a high-level helper for running a process
    and waiting for it to finish, like the standard :func:`subprocess.run` does. (`#822 <https://github.com/python-trio/trio/issues/822>`__)
  * On Linux, when wrapping a bare file descriptor in a Trio socket object,
    Trio now auto-detects the correct ``family``, ``type``, and ``protocol``.

OBS-URL: https://build.opensuse.org/request/show/721060
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=8
2019-08-05 18:07:36 +00:00
Dominique Leuenberger
1a2f5783cb Accepting request 707069 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/707069
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=2
2019-06-03 16:56:23 +00:00
Tomáš Chvátal
3ac9e97dfb Accepting request 706900 from home:jengelh:branches:devel:languages:python
- Trim filler wording from descriptions.

OBS-URL: https://build.opensuse.org/request/show/706900
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=6
2019-06-03 08:05:03 +00:00
Dominique Leuenberger
1ec521a7ee Accepting request 706253 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/706253
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-trio?expand=0&rev=1
2019-06-01 07:52:03 +00:00
Tomáš Chvátal
e89a586962 - Skip tests that fail with TLS 1.3 as upstream is not finished
with supporting it yet

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=4
2019-05-29 09:09:58 +00:00
Tomáš Chvátal
d687042285 - Fix deadlocks in the testsuite
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=3
2019-05-22 13:02:57 +00:00
Tomáš Chvátal
e4ba32ed36 - Run the tests
- Fix the deps

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=2
2019-05-14 21:28:18 +00:00
Tomáš Chvátal
8a4a8b63e0 Accepting request 702384 from home:Simmphonie:python
- Initial release version 0.11.0

OBS-URL: https://build.opensuse.org/request/show/702384
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=1
2019-05-14 20:35:45 +00:00