forked from pool/python-trio
Matej Cepl
d9bf2aeb47
- 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
97 lines
3.6 KiB
RPMSpec
97 lines
3.6 KiB
RPMSpec
#
|
|
# spec file for package python-trio
|
|
#
|
|
# Copyright (c) 2021 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{?!python_module:%define python_module() python3-%{**}}
|
|
%define skip_python2 1
|
|
Name: python-trio
|
|
Version: 0.19.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://github.com/python-trio/trio/archive/v%{version}.tar.gz#/trio-%{version}.tar.gz
|
|
#PATCH-FIX-UPSTREAM trio-pr2043-py310ssl-deprecationwarnings.patch -- gh#python-trio/trio#2043
|
|
Patch0: https://github.com/python-trio/trio/pull/2043.patch#/trio-pr2043-py310ssl-deprecationwarnings.patch
|
|
BuildRequires: %{python_module astor >= 0.8}
|
|
BuildRequires: %{python_module async_generator >= 1.9}
|
|
BuildRequires: %{python_module attrs >= 19.2.0}
|
|
BuildRequires: %{python_module base >= 3.6}
|
|
BuildRequires: %{python_module idna}
|
|
BuildRequires: %{python_module outcome}
|
|
BuildRequires: %{python_module pyOpenSSL}
|
|
BuildRequires: %{python_module pytest >= 5.0}
|
|
BuildRequires: %{python_module setuptools}
|
|
# for protocol specifications
|
|
BuildRequires: %{python_module sniffio}
|
|
BuildRequires: %{python_module contextvars >= 2.1 if %python-base < 3.7}
|
|
BuildRequires: %{python_module sortedcontainers}
|
|
BuildRequires: %{python_module trustme}
|
|
BuildRequires: %{python_module yapf >= 0.27.0}
|
|
BuildRequires: fdupes
|
|
BuildRequires: netcfg
|
|
BuildRequires: python-rpm-macros
|
|
Requires: python-async_generator >= 1.9
|
|
Requires: python-attrs >= 19.2.0
|
|
Requires: python-idna
|
|
Requires: python-outcome
|
|
Requires: python-sniffio
|
|
Requires: python-sortedcontainers
|
|
%if 0%{?python_version_nodots} < 37
|
|
Requires: python-contextvars >= 2.1
|
|
%endif
|
|
BuildArch: noarch
|
|
%python_subpackages
|
|
|
|
%description
|
|
The Trio project produces an async/await-native I/O library for
|
|
Python. Like all async libraries, its main purpose is to help write
|
|
programs that do multiple things at the same time with parallelized
|
|
I/O, such as a web spider that wants to fetch lots of pages in
|
|
parallel, a web server that needs to juggle lots of downloads and
|
|
websocket connections at the same time, a process supervisor
|
|
monitoring multiple subprocesses. Compared to other libraries, Trio
|
|
has an obsessive focus on usability and correctness.
|
|
|
|
%prep
|
|
%autosetup -p1 -n trio-%{version}
|
|
sed -i '1{/^#!/d}' trio/_tools/gen_exports.py
|
|
|
|
%build
|
|
%python_build
|
|
|
|
%install
|
|
%python_install
|
|
%{python_expand rm -r %{buildroot}%{$python_sitelib}/trio/tests/
|
|
%fdupes %{buildroot}%{$python_sitelib}
|
|
}
|
|
|
|
%check
|
|
# test_static_tool_sees_all_symbols uses jedi/pylint for static analysis,
|
|
# pointless for us.
|
|
# test_SSLStream_generic deadlocks in OBS
|
|
# test_close_at_bad_time_for_send_all fails on PPC https://github.com/python-trio/trio/issues/1753
|
|
%pytest -k 'not (test_static_tool_sees_all_symbols or test_SSLStream_generic or test_close_at_bad_time_for_send_all)'
|
|
|
|
%files %{python_files}
|
|
%doc README.rst
|
|
%license LICENSE LICENSE.APACHE2 LICENSE.MIT
|
|
%{python_sitelib}/trio
|
|
%{python_sitelib}/trio-%{version}*-info
|
|
|
|
%changelog
|