14
0
Files
python-websockets/python-websockets.spec

72 lines
2.4 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-websockets
#
# Copyright (c) 2023 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/
#
%{?sle15_python_module_pythons}
Name: python-websockets
- update to 11.0.2: * Fixed a deadlock in the :mod:`threading` implementation when closing a connection without reading all messages. * Restored the C extension in the source distribution. * Backwards-incompatible changes * The Sans-I/O implementation was moved. * The ``connection`` module was renamed to ``protocol``. * The ``connection.Connection``, ``server.ServerConnection``, and ``client.ClientConnection`` classes were renamed to ``protocol.Protocol``, ``server.ServerProtocol``, and ``client.ClientProtocol``. * If you instantiate :class:`~server.ServerProtocol` or :class:`~client.ClientProtocol` directly, make sure you are using keyword arguments. * Closing a connection without an empty close frame is OK. * .. admonition:: websockets 10.0 introduces a implementation on top of :mod:`threading`. * It may be more convenient if you don't need to manage many connections and you're more comfortable with :mod:`threading` than :mod:`asyncio`. * It is particularly suited to client applications that establish only one connection. It may be used for servers handling few connections. * See :func:`~sync.client.connect` and :func:`~sync.server.serve` for details. * Added ``open_timeout`` to :func:`~server.serve`. * Made it possible to close a server without closing existing connections. * Added :attr:`~server.ServerProtocol.select_subprotocol` to customize negotiation of subprotocols in the Sans-I/O layer. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-websockets?expand=0&rev=40
2023-05-10 06:59:05 +00:00
Version: 11.0.2
Release: 0
Summary: An implementation of the WebSocket Protocol (RFC 6455)
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/aaugustin/websockets
Source: https://github.com/aaugustin/websockets/archive/%{version}.tar.gz
BuildRequires: %{python_module devel >= 3.7}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
%python_subpackages
%description
WebSockets is a library for developing WebSocket servers_ and clients_ in
Python. It implements RFC 6455 with a focus on correctness and simplicity.
It passes the Autobahn Testsuite.
Built on top of Python's asynchronous I/O support introduced in PEP 3156,
it provides an API based on coroutines, making it easy to write highly
concurrent applications.
%prep
%autosetup -p1 -n websockets-%{version}
%build
export CFLAGS="%{optflags}"
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%check
# Test execution speed depends on BS load and architecture, relax
export WEBSOCKETS_TESTS_TIMEOUT_FACTOR=10
# https://github.com/aaugustin/websockets/issues/855 is an intermittent failure
# for test_keepalive_ping_does_not_crash_when_connection_lost on s390x
- Update to 10.0: - Backwards-incompatible changes - websockets 10.0 requires Python ≥ 3.7. - The ``loop`` parameter is deprecated from all APIs. The ``loop`` parameter is also removed from `~server.WebSocketServer`. This should be transparent. - `~client.connect` times out after 10 seconds by default. You can adjust the timeout with the ``open_timeout`` parameter. Set it to `None` to disable the timeout entirely. - The ``legacy_recv`` option is deprecated. - The signature of `~exceptions.ConnectionClosed` changed. If you raise `~exceptions.ConnectionClosed` or a subclass, rather than catch them when websockets raises them, you must change your code. - A ``msg`` parameter was added to `~exceptions.InvalidURI`. If you raise `~exceptions.InvalidURI`, rather than catch it when websockets raises it, you must change your code. - New features - websockets 10.0 introduces a Sans-I/O API for easier integration in third-party libraries. - Added compatibility with Python 3.10. - Added `~websockets.broadcast` to send a message to many clients. - Added support for reconnecting automatically by using `~client.connect` as an asynchronous iterator. - Added ``open_timeout`` to :func:`~client.connect`. - Documented how to integrate with Django. - Documented how to deploy websockets in production, with several options. - Documented how to authenticate connections. - Documented how to broadcast messages to many connections. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-websockets?expand=0&rev=30
2021-10-29 13:14:59 +00:00
# export PYTHONWARNINGS=default
# test suite temporarily broken on python 3.9.7: gh#aaugustin/websockets#1051
python39_donttest=(-k testnothing)
%pyunittest_arch -v "${$python_donttest[@]}"
%files %{python_files}
%license LICENSE
%doc README.rst
%{python_sitearch}/websockets
%{python_sitearch}/websockets-%{version}-py*.egg-info
%changelog