forked from pool/python-trio
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
This commit is contained in:
parent
3ac9e97dfb
commit
7d48798b7b
@ -1,3 +1,79 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 5 12:56:53 UTC 2019 - pgajdos@suse.com
|
||||
|
||||
- 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``.
|
||||
This is useful, for example, when implementing `systemd socket activation
|
||||
<http://0pointer.de/blog/projects/socket-activation.html>`__. (`#251 <https://github.com/python-trio/trio/issues/251>`__)
|
||||
* Trio sockets have a new method `~trio.socket.SocketType.is_readable` that allows
|
||||
you to check whether a socket is readable. This is useful for HTTP/1.1 clients. (`#760 <https://github.com/python-trio/trio/issues/760>`__)
|
||||
* We no longer use runtime code generation to dispatch core functions
|
||||
like `current_time`. Static analysis tools like mypy and pylint should
|
||||
now be able to recognize and analyze all of Trio's top-level functions
|
||||
(though some class attributes are still dynamic... we're working on it). (`#805 <https://github.com/python-trio/trio/issues/805>`__)
|
||||
* Add `trio.hazmat.FdStream` for wrapping a Unix file descriptor as a `~trio.abc.Stream`. (`#829 <https://github.com/python-trio/trio/issues/829>`__)
|
||||
* Trio now gives a reasonable traceback and error message in most cases
|
||||
when its invariants surrounding cancel scope nesting have been
|
||||
violated. (One common source of such violations is an async generator
|
||||
that yields within a cancel scope.) The previous behavior was an
|
||||
inscrutable chain of TrioInternalErrors. (`#882 <https://github.com/python-trio/trio/issues/882>`__)
|
||||
* MultiError now defines its ``exceptions`` attribute in ``__init__()``
|
||||
to better support linters and code autocompletion. (`#1066 <https://github.com/python-trio/trio/issues/1066>`__)
|
||||
* Use ``__slots__`` in more places internally, which should make Trio slightly faster. (`#984 <https://github.com/python-trio/trio/issues/984>`__)
|
||||
* In v0.12.0, we accidentally moved ``BlockingTrioPortal`` from ``trio``
|
||||
to ``trio.hazmat``. It's now been restored to its proper position.
|
||||
(It's still deprecated though, and will issue a warning if you use it.) (`#1167 <https://github.com/python-trio/trio/issues/1167>`__)
|
||||
Bugfixes
|
||||
* Destructor methods (``__del__``) are now protected against ``KeyboardInterrupt``. (`#676 <https://github.com/python-trio/trio/issues/676>`__)
|
||||
* The :class:`trio.Path` methods :meth:`~trio.Path.glob` and
|
||||
:meth:`~trio.Path.rglob` now return iterables of :class:`trio.Path`
|
||||
(not :class:`pathlib.Path`). (`#917 <https://github.com/python-trio/trio/issues/917>`__)
|
||||
* Inspecting the :attr:`~trio.CancelScope.cancel_called` attribute of a
|
||||
not-yet-exited cancel scope whose deadline is in the past now always
|
||||
returns ``True``, like you might expect. (Previously it would return
|
||||
``False`` for not-yet-entered cancel scopes, and for active cancel
|
||||
scopes until the first checkpoint after their deadline expiry.) (`#958 <https://github.com/python-trio/trio/issues/958>`__)
|
||||
* The :class:`trio.Path` classmethods, :meth:`~trio.Path.home` and
|
||||
:meth:`~trio.Path.cwd`, are now async functions. Previously, a bug
|
||||
in the forwarding logic meant :meth:`~trio.Path.cwd` was synchronous
|
||||
and :meth:`~trio.Path.home` didn't work at all. (`#960 <https://github.com/python-trio/trio/issues/960>`__)
|
||||
* An exception encapsulated within a :class:`MultiError` doesn't need to be
|
||||
hashable anymore.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 5 12:45:29 UTC 2019 - pgajdos@suse.com
|
||||
|
||||
- version update to 0.12.1
|
||||
* no upstream change log found
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 2 12:40:48 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
|
@ -19,13 +19,14 @@
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
%define skip_python2 1
|
||||
Name: python-trio
|
||||
Version: 0.11.0
|
||||
Version: 0.12.1
|
||||
Release: 0
|
||||
Summary: An async/await-native I/O library
|
||||
License: MIT OR Apache-2.0
|
||||
Group: Development/Languages/Python
|
||||
URL: https://github.com/python-trio/trio
|
||||
Source: https://github.com/python-trio/trio/archive/v%{version}.tar.gz#/trio-%{version}.tar.gz
|
||||
BuildRequires: %{python_module astor >= 0.8}
|
||||
BuildRequires: %{python_module async_generator >= 1.9}
|
||||
BuildRequires: %{python_module attrs >= 18.2.0}
|
||||
BuildRequires: %{python_module idna}
|
||||
@ -33,6 +34,7 @@ BuildRequires: %{python_module outcome}
|
||||
BuildRequires: %{python_module pyOpenSSL}
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module yapf >= 0.27.0}
|
||||
# for protocol specifications
|
||||
BuildRequires: %{python_module sniffio}
|
||||
BuildRequires: %{python_module sortedcontainers}
|
||||
@ -79,8 +81,7 @@ has an obsessive focus on usability and correctness.
|
||||
# test_static_tool_sees_all_symbols uses jedi/pylint for static analysis,
|
||||
# pointless for us.
|
||||
# test_SSLStream_generic deadlocks in OBS
|
||||
# test_renegotiation_simple, test_renegotiation_randomized - breaks with tls1.3
|
||||
%pytest -k 'not (test_static_tool_sees_all_symbols or test_SSLStream_generic or test_renegotiation_simple or test_renegotiation_randomized)'
|
||||
%pytest -k 'not (test_static_tool_sees_all_symbols or test_SSLStream_generic)'
|
||||
|
||||
%files %{python_files}
|
||||
%doc README.rst
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bc6795f03343d914ccb45566d07a8aa8b46950f02b4bc6be3517966660b9c2d1
|
||||
size 406905
|
3
trio-0.12.1.tar.gz
Normal file
3
trio-0.12.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:10751104d776a00bd826d565257d7def59dc8c639cbf8f443a20da824d25e674
|
||||
size 429427
|
Loading…
Reference in New Issue
Block a user