SHA256
1
0
forked from pool/python-trio
python-trio/python-trio.spec
Daniel Garcia 31181b044c - Update to 0.22.0:
* MultiError has been deprecated in favor of the standard BaseExceptionGroup
    (introduced in PEP 654). On Python versions below 3.11, this exception and
    its derivative ExceptionGroup are provided by the backport. Trio still
    raises MultiError, but it has been refactored into a subclass of
    BaseExceptionGroup which users should catch instead of MultiError. Uses of
    the MultiError.filter() class method should be replaced with
    BaseExceptionGroup.split(). Uses of the MultiError.catch() class method
    should be replaced with either except* clauses (on Python 3.11+) or the
    exceptiongroup.catch() context manager provided by the backport.
    See the updated documentation for details.
  # Features
  * Added support for Datagram TLS, for secure communication over UDP.
    Currently requires PyOpenSSL. (#2010)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=28
2022-12-07 10:20:54 +00:00

92 lines
3.3 KiB
RPMSpec

#
# spec file for package python-trio
#
# Copyright (c) 2022 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/
#
%define skip_python2 1
Name: python-trio
Version: 0.22.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-0.22.0.tar.gz
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.7}
BuildRequires: %{python_module exceptiongroup}
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 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
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/{,_core/}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
# test_local_address_real fails on qemu_linux_user targets
%pytest -k 'not (test_static_tool_sees_all_symbols or test_SSLStream_generic or test_close_at_bad_time_for_send_all or test_local_address_real)'
%files %{python_files}
%doc README.rst
%license LICENSE LICENSE.APACHE2 LICENSE.MIT
%{python_sitelib}/trio
%{python_sitelib}/trio-%{version}*-info
%changelog