# # spec file for package python-uvloop # # Copyright (c) 2024 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 modname uvloop %{?sle15_python_module_pythons} Name: python-uvloop Version: 0.21.0 Release: 1.6 Summary: An asyncio event loop on top of libuv License: Apache-2.0 AND MIT Group: Development/Languages/Python URL: http://github.com/MagicStack/uvloop Source: https://files.pythonhosted.org/packages/source/u/uvloop/uvloop-%{version}.tar.gz Source1: python-uvloop.rpmlintrc BuildRequires: %{python_module Cython >= 3.0} BuildRequires: %{python_module aiohttp} BuildRequires: %{python_module devel} BuildRequires: %{python_module pip} BuildRequires: %{python_module psutil} BuildRequires: %{python_module pyOpenSSL} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: pkgconfig BuildRequires: python-rpm-macros BuildRequires: pkgconfig(libuv) >= 1.28.0 %python_subpackages %description uvloop is a drop-in replacement of the built-in asyncio event loop. uvloop is implemented in Cython and uses libuv under the hood. %prep %setup -q -n uvloop-%{version} # always use cython to generate code sed -i -e "/self.cython_always/s/False/True/" setup.py # use system libuv sed -i -e "/self.use_system_libuv/s/False/True/" setup.py # To be sure, no 3rd-party stuff rm -vrf vendor/ %build %pyproject_wheel %install %pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitearch} # https://github.com/MagicStack/uvloop/issues/70 %python_expand rm -vf %{buildroot}%{$python_sitearch}/%{modname}/_testbase.py %python_expand rm -vf %{buildroot}%{$python_sitearch}/%{modname}/__pycache__/_testbase.* # Remove autogenerated source code %python_expand rm -vf %{buildroot}%{$python_sitearch}/%{modname}/loop.c %check # Actually the tests are VERY flaky, thus continue even if they fail :( #%%python_exec setup.py test || : %files %{python_files} %license LICENSE-APACHE LICENSE-MIT %doc README.rst %{python_sitearch}/uvloop %{python_sitearch}/uvloop-%{version}.dist-info %changelog * Tue Oct 29 2024 John Paul Adrian Glaubitz - Update to 0.21.0 * Add cleanup_socket param on create_unix_server() * Use cythonized SO_REUSEPORT rather than the unwrapped native one (#609) * UDP errors should result in protocol.error_received (#601) * Updates for Cython3 (#587) * Test with Python 3.13 (#610) - Update BuildRequires from pyproject.toml * Mon Oct 7 2024 Dirk Müller - update to 0.20.0: * Upgrade libuv to v1.48.0 * Fix test_create_server_4 with Python 3.12.5 * Use len(os.sched_getaffinity(0)) instead of os.cpu_count() * Inline _Py_RestoreSignals() from CPython * Fri Dec 29 2023 Dirk Müller - update to 0.19.0: * Drop support of Python 3.7 and update CI (#578) * Restore uvloop.new_event_loop and other missing uvloop members to typing (#573) * Fix docstring of loop.shutdown_default_executor (#535) - update to 0.18.0: * CI fixes (#520, #553) * Make extract_stack resilient to lacking frames. (#563) * Port uvloop to Python 3.12 (#570) * Mon Aug 14 2023 Dirk Müller - limit to Cython < 3 * Tue Jul 4 2023 ecsos - Add %%{?sle15_python_module_pythons} * Wed Oct 12 2022 Yogalakshmi Arunachalam - Update to version 0.17.0 * This release adds Python 3.11 support, updates bundled libuv to 1.43.0 and fixes a handful of issues. * visit https://github.com/MagicStack/uvloop/releases/tag/v0.17.0 for more changelog for 0.17.0 * Thu Sep 9 2021 Fusion Future - Add libuv >= 1.28.0 BuildRequires. (https://github.com/MagicStack/uvloop/commit/c2b65bc8d2e1bb759a755adb255f095fb40ce953) - Do not include autogenerated source code (loop.c). - Add rpmlintrc to suppress devel-file-in-non-devel-package messages. * Mon Aug 30 2021 John Paul Adrian Glaubitz - Update to 0.16.0: * Python 3.10 support (#432) * Bump vendored libuv to 1.42.0 (#433) * Use cibuildwheel to build wheels (#435) * Add support for .when() * Fix ref issue when protocol is in Cython * Set python_requires in setup.py * SSL: schedule first data after waiter wakeup * Fix a possible race condition in sslproto test * Fix call_soon_threadsafe thread safety - from version 0.15.3: * SSL: schedule first data after waiter wakeup * Fix a possible race condition in sslproto test * Fix call_soon_threadsafe thread safety - from version 0.15.2: * Add python_requires in setup.py to fix dependency resolution issues - from version 0.15.1: * Fix a segfault issue when a Cython protocol is de-referencing itself from Context.run() callbacks - from version 0.15.0: * Add name keyword argument to loop.create_task() * Add typing support * SSL: many improvements * Fix KeyboardInterrupt handling logic * Python 3.8/3.9 compatibility fixes, drop support for 3.5/3.6 * UDP: multiple bug fixes * Pipe: a critical crash fix that affects subprocess, pipe and socketpair * Restore context on protocol callbacks * Subprocess: stdio bug fixes * Sock: fix issue in sock_connect() for large concurrency * Misc fixes about docs URL, test typo, and CI compatibility * Check Cython version semantically * Add .flake8 to distribution tarball * Switch to Github actions * Bump libuv to v1.40.0 - Disable build on Python 3.6 * Wed Nov 6 2019 Matej Cepl - Update to 0.14.0: - Add support for Python 3.8 - numerous bug fixes * Tue Sep 10 2019 Tomáš Chvátal - Update to 0.13.0: * Implement Server.start_serving() and related APIs * Make Server an asynchronous context manager. * Start using high-performance uv_udp_t handle. This should result in a significantly faster UDP support. * Make address validation faster in udp.sendto(). * Tue May 14 2019 Drew Balliet - Commented out testing since it is timing out at 5400 seconds in build service * Thu Mar 21 2019 Ondřej Súkup - update to 0.12.2 * Fix circular references in SSL implementation * Fix a memory leak in call_later() and call_at() * Round (instead of flooring) delay in call_later() * Thu Feb 28 2019 Ondřej Súkup - update to 0.12.1 * Fix a circular references case in SSL implementation. * Cleanup references to callbacks in canceled callback handles. * New SSL implementation. The new implementation is faster and and more complete, and will become the default SSL implementation in asyncio 3.8. This is a significant change that warrants a release candidate to make sure it is tested properly. * New uvloop.install() helper function. * ssl.CertificateError is no longer logged as it's delivered to the Protocol.connection_lost() anyways. * Improve UDPTransport.sendto() performance. * Wed Feb 13 2019 Tomáš Chvátal - Distribute again the .c files as they are needed by parts of the py app rh#1639457 - Do not distribute the tests * Thu Oct 25 2018 Tomáš Chvátal - Tests are flaky, thus continue even if we fail... * Sun Oct 14 2018 Jan Engelhardt - Ensure neutrality of description. * Thu Oct 11 2018 Ondřej Súkup - initial package version 0.11.2