| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: python312-websockets | Distribution: openSUSE Tumbleweed |
| Version: 14.2 | Vendor: openSUSE |
| Release: 1.1 | Build date: Tue May 6 11:28:40 2025 |
| Group: Development/Languages/Python | Build host: reproducible |
| Size: 1641022 | Source RPM: python-websockets-14.2-1.1.src.rpm |
| Packager: http://bugs.opensuse.org | |
| Url: https://github.com/aaugustin/websockets | |
| Summary: An implementation of the WebSocket Protocol (RFC 6455) | |
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.
BSD-3-Clause
* Tue May 06 2025 Daniel Garcia <daniel.garcia@suse.com>
- Skip flaky tests for s390x
- Increase WEBSOCKETS_TESTS_TIMEOUT_FACTOR to 50 to fix flaky tests in
different architectures, bsc#1242254
* Fri Feb 14 2025 Nico Krapp <nico.krapp@suse.com>
- Update to 14.2
* Added support for regular expressions in the origins argument of serve()
* Wrapped errors when reading the opening handshake request or response in
InvalidMessage so that connect() raises InvalidHandshake or a subclass
when the opening handshake fails
* Fixed recv() with timeout=0 in the threading implementation. If a message
is already received, it is returned. Previously, TimeoutError was
raised incorrectly
* Fixed a crash in the asyncio implementation when cancelling a ping then
receiving the corresponding pong
* Prevented close() from blocking when the network becomes unavailable or
when receive buffers are saturated in the asyncio and threading
implementations
- Update to 14.1
* Supported max_queue=None in the asyncio and threading implementations
for consistency with the legacy implementation, even though this is
never a good idea
* Added close_code and close_reason attributes in the asyncio and
threading implementations for consistency with the legacy implementation
* Once the connection is closed, messages previously received and buffered
can be read in the asyncio and threading implementations, just like in
the legacy implementation
- Update to 14.0
* Added an option to receive text frames as bytes, without decoding, in
the threading implementation; also binary frames as str
* Added an option to send bytes in a text frame in the asyncio and
threading implementations; also str in a binary frame
* The threading implementation receives messages faster.
* Sending or receiving large compressed messages is now faster.
* Errors when a fragmented message is too large are clearer.
* Log messages at the WARNING and INFO levels no longer include
stack traces.
* Clients no longer crash when the server rejects the opening handshake
and the HTTP response doesn’t Include a Content-Length header.
* Returning an HTTP response in process_request or process_response
doesn’t generate a log message at the ERROR level anymore.
* Connections are closed with code 1007 (invalid data) when receiving
invalid UTF-8 in a text frame.
* Tue Oct 29 2024 John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 13.1
* Added support for reconnecting automatically by using connect()
as an asynchronous iterator to the new asyncio implementation.
* connect() now follows redirects in the new asyncio implementation.
* Added HTTP Basic Auth to the new asyncio and threading implementations
of servers.
* Made the set of active connections available in the Server.connections
property.
* Improved reporting of errors during the opening handshake.
* Raised ConcurrencyError on unsupported concurrent calls. Previously,
RuntimeError was raised. For backwards compatibility, ConcurrencyError
is a subclass of RuntimeError.
* The new asyncio and threading implementations of servers don’t start the
connection handler anymore when process_request or process_response returns
an HTTP response.
* Fixed a bug in the threading implementation that could lead to incorrect
error reporting when closing a connection while recv() is running.
- from version 13.0.1
* Restored the C extension in the source distribution.
- from version 13.0
* Validated compatibility with Python 3.12 and 3.13.
* Added environment variables to configure debug logs, the Server and
User-Agent headers, as well as security limits.
* If you were monkey-patching constants, be aware that they were renamed,
which will break your configuration. You must switch to the environment
variables.
* The error message in server logs when a header is too long is more explicit.
* Fixed a bug in the threading implementation that could prevent the program
from exiting when a connection wasn’t closed properly.
* Redirecting from a ws:// URI to a wss:// URI now works.
* broadcast(raise_exceptions=True) no longer crashes when there isn’t
any exception.
- Remove stray speedups.c from websockets Python directory
* Wed Jan 24 2024 Daniel Garcia <daniel.garcia@suse.com>
- Disable broken tests with openssl 3.2 and python < 3.11 bsc#1217782
* Wed Dec 06 2023 Dirk Müller <dmueller@suse.com>
- update to 12.0:
* websockets 12.0 requires Python ≥ 3.8.
* Made convenience imports from ``websockets`` compatible with
static code analysis tools such as auto-completion in an IDE
or type checking with mypy_.
* Accepted a plain :class:`int` where an
:class:`~http.HTTPStatus` is expected.
* Added :class:`~frames.CloseCode`.
- drop py312-shutdown.patch (upstream)
* Wed Sep 20 2023 Markéta Machová <mmachova@suse.com>
- Add py312-shutdown.patch to fix server shutdown on Python 3.12
* Wed May 24 2023 Daniel Garcia <daniel.garcia@suse.com>
- Run tests with pytest
- Disable flaky test gh#python-websockets/websockets#1322
* Sun May 14 2023 Dirk Müller <dmueller@suse.com>
- update to 11.0.3:
* Fixed the :mod:`threading` implementation of servers on
Windows.
* Wed May 10 2023 Dirk Müller <dmueller@suse.com>
- 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.
* Added platform-independent wheels.
* Improved error handling in :func:`~websockets.broadcast`.
* Set ``server_hostname`` automatically on TLS connections when
providing a ``sock`` argument to :func:`~sync.client.connect`.
* Fri Apr 21 2023 Dirk Müller <dmueller@suse.com>
- add sle15_python_module_pythons (jsc#PED-68)
* Thu Apr 13 2023 Matej Cepl <mcepl@suse.com>
- Make calling of %{sle15modernpython} optional.
* Wed Nov 09 2022 Yogalakshmi Arunachalam <yarunachalam@suse.com>
- Update to 10.4
New features
* Validated compatibility with Python 3.11.
* Added the latency property to protocols.
* Changed ping to return the latency of the connection.
* Supported overriding or removing the User-Agent header in clients and the Server header in servers.
* Added deployment guides for more Platform as a Service providers.
* Sat Sep 24 2022 Dirk Müller <dmueller@suse.com>
- update to 10.3:
* Reduced noise in logs when :mod:`ssl` or :mod:`zlib` raise exceptions.
* Made compression negotiation more lax for compatibility with Firefox.
* Improved FAQ and quick start guide.
* Fixed backwards-incompatibility in 10.1 for connection handlers created with
* Avoided leaking open sockets when :func:`~client.connect` is canceled.
* Thu Jul 21 2022 John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Include in SLE-15 (bsc#1199282, jsc#PM-3243, jsc#SLE-24629)
* Fri Feb 04 2022 Dirk Müller <dmueller@suse.com>
- update to 10.1:
* Made the second parameter of connection handlers optional. It will be
deprecated in the next major release. The request path is available in
the :attr:`~legacy.protocol.WebSocketCommonProtocol.path` attribute of
the first argument.
If you implemented the connection handler of a server as::
async def handler(request, path):
...
You should replace it by::
async def handler(request):
path = request.path # if handler() uses the path argument
...
* Added ``python -m websockets --version``.
* Reverted optimization of default compression settings for clients, mainly to
avoid triggering bugs in poorly implemented servers like `AWS API Gateway`_.
* Mirrored the entire :class:`~asyncio.Server` API
in :class:`~server.WebSocketServer`.
* Improved performance for large messages on ARM processors.
* Documented how to auto-reload on code changes in development.
* Avoided half-closing TCP connections that are already closed.
/usr/lib/python3.12/site-packages/websockets /usr/lib/python3.12/site-packages/websockets-14.2.dist-info /usr/lib/python3.12/site-packages/websockets-14.2.dist-info/INSTALLER /usr/lib/python3.12/site-packages/websockets-14.2.dist-info/METADATA /usr/lib/python3.12/site-packages/websockets-14.2.dist-info/RECORD /usr/lib/python3.12/site-packages/websockets-14.2.dist-info/REQUESTED /usr/lib/python3.12/site-packages/websockets-14.2.dist-info/WHEEL /usr/lib/python3.12/site-packages/websockets-14.2.dist-info/licenses /usr/lib/python3.12/site-packages/websockets-14.2.dist-info/licenses/LICENSE /usr/lib/python3.12/site-packages/websockets-14.2.dist-info/top_level.txt /usr/lib/python3.12/site-packages/websockets/__init__.py /usr/lib/python3.12/site-packages/websockets/__main__.py /usr/lib/python3.12/site-packages/websockets/__pycache__ /usr/lib/python3.12/site-packages/websockets/__pycache__/__init__.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/__init__.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/__main__.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/__main__.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/auth.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/auth.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/client.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/client.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/connection.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/connection.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/datastructures.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/datastructures.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/exceptions.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/exceptions.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/frames.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/frames.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/headers.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/headers.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/http.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/http.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/http11.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/http11.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/imports.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/imports.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/protocol.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/protocol.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/server.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/server.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/streams.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/streams.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/typing.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/typing.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/uri.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/uri.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/utils.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/utils.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/version.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/__pycache__/version.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/asyncio /usr/lib/python3.12/site-packages/websockets/asyncio/__init__.py /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__ /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/__init__.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/__init__.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/async_timeout.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/async_timeout.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/client.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/client.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/compatibility.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/compatibility.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/connection.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/connection.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/messages.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/messages.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/server.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/__pycache__/server.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/asyncio/async_timeout.py /usr/lib/python3.12/site-packages/websockets/asyncio/client.py /usr/lib/python3.12/site-packages/websockets/asyncio/compatibility.py /usr/lib/python3.12/site-packages/websockets/asyncio/connection.py /usr/lib/python3.12/site-packages/websockets/asyncio/messages.py /usr/lib/python3.12/site-packages/websockets/asyncio/server.py /usr/lib/python3.12/site-packages/websockets/auth.py /usr/lib/python3.12/site-packages/websockets/client.py /usr/lib/python3.12/site-packages/websockets/connection.py /usr/lib/python3.12/site-packages/websockets/datastructures.py /usr/lib/python3.12/site-packages/websockets/exceptions.py /usr/lib/python3.12/site-packages/websockets/extensions /usr/lib/python3.12/site-packages/websockets/extensions/__init__.py /usr/lib/python3.12/site-packages/websockets/extensions/__pycache__ /usr/lib/python3.12/site-packages/websockets/extensions/__pycache__/__init__.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/extensions/__pycache__/__init__.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/extensions/__pycache__/base.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/extensions/__pycache__/base.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/extensions/__pycache__/permessage_deflate.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/extensions/__pycache__/permessage_deflate.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/extensions/base.py /usr/lib/python3.12/site-packages/websockets/extensions/permessage_deflate.py /usr/lib/python3.12/site-packages/websockets/frames.py /usr/lib/python3.12/site-packages/websockets/headers.py /usr/lib/python3.12/site-packages/websockets/http.py /usr/lib/python3.12/site-packages/websockets/http11.py /usr/lib/python3.12/site-packages/websockets/imports.py /usr/lib/python3.12/site-packages/websockets/legacy /usr/lib/python3.12/site-packages/websockets/legacy/__init__.py /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__ /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/__init__.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/__init__.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/auth.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/auth.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/client.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/client.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/exceptions.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/exceptions.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/framing.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/framing.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/handshake.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/handshake.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/http.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/http.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/protocol.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/protocol.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/server.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/legacy/__pycache__/server.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/legacy/auth.py /usr/lib/python3.12/site-packages/websockets/legacy/client.py /usr/lib/python3.12/site-packages/websockets/legacy/exceptions.py /usr/lib/python3.12/site-packages/websockets/legacy/framing.py /usr/lib/python3.12/site-packages/websockets/legacy/handshake.py /usr/lib/python3.12/site-packages/websockets/legacy/http.py /usr/lib/python3.12/site-packages/websockets/legacy/protocol.py /usr/lib/python3.12/site-packages/websockets/legacy/server.py /usr/lib/python3.12/site-packages/websockets/protocol.py /usr/lib/python3.12/site-packages/websockets/py.typed /usr/lib/python3.12/site-packages/websockets/server.py /usr/lib/python3.12/site-packages/websockets/speedups.cpython-312-arm-linux-gnueabihf.so /usr/lib/python3.12/site-packages/websockets/speedups.pyi /usr/lib/python3.12/site-packages/websockets/streams.py /usr/lib/python3.12/site-packages/websockets/sync /usr/lib/python3.12/site-packages/websockets/sync/__init__.py /usr/lib/python3.12/site-packages/websockets/sync/__pycache__ /usr/lib/python3.12/site-packages/websockets/sync/__pycache__/__init__.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/sync/__pycache__/__init__.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/sync/__pycache__/client.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/sync/__pycache__/client.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/sync/__pycache__/connection.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/sync/__pycache__/connection.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/sync/__pycache__/messages.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/sync/__pycache__/messages.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/sync/__pycache__/server.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/sync/__pycache__/server.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/sync/__pycache__/utils.cpython-312.opt-1.pyc /usr/lib/python3.12/site-packages/websockets/sync/__pycache__/utils.cpython-312.pyc /usr/lib/python3.12/site-packages/websockets/sync/client.py /usr/lib/python3.12/site-packages/websockets/sync/connection.py /usr/lib/python3.12/site-packages/websockets/sync/messages.py /usr/lib/python3.12/site-packages/websockets/sync/server.py /usr/lib/python3.12/site-packages/websockets/sync/utils.py /usr/lib/python3.12/site-packages/websockets/typing.py /usr/lib/python3.12/site-packages/websockets/uri.py /usr/lib/python3.12/site-packages/websockets/utils.py /usr/lib/python3.12/site-packages/websockets/version.py /usr/share/doc/packages/python312-websockets /usr/share/doc/packages/python312-websockets/README.rst /usr/share/licenses/python312-websockets /usr/share/licenses/python312-websockets/LICENSE
Generated by rpm2html 1.8.1
Fabrice Bellet, Thu Oct 23 22:58:29 2025