Hello community, here is the log from the commit of package python-trio for openSUSE:Factory checked in at 2019-08-06 15:11:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-trio (Old) and /work/SRC/openSUSE:Factory/.python-trio.new.4126 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-trio" Tue Aug 6 15:11:52 2019 rev:3 rq:721100 version:0.12.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-trio/python-trio.changes 2019-06-03 18:56:24.884405612 +0200 +++ /work/SRC/openSUSE:Factory/.python-trio.new.4126/python-trio.changes 2019-08-06 15:11:55.891740344 +0200 @@ -1,0 +2,76 @@ +Mon Aug 5 12:56:53 UTC 2019 - pgaj...@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 - pgaj...@suse.com + +- version update to 0.12.1 + * no upstream change log found + +------------------------------------------------------------------- Old: ---- trio-0.11.0.tar.gz New: ---- trio-0.12.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-trio.spec ++++++ --- /var/tmp/diff_new_pack.T2afvE/_old 2019-08-06 15:11:56.371740240 +0200 +++ /var/tmp/diff_new_pack.T2afvE/_new 2019-08-06 15:11:56.371740240 +0200 @@ -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 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 @@ # 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 ++++++ trio-0.11.0.tar.gz -> trio-0.12.1.tar.gz ++++++ ++++ 13211 lines of diff (skipped)