websockets


Namewebsockets JSON
Version 14.2 PyPI version JSON
download
home_pageNone
SummaryAn implementation of the WebSocket Protocol (RFC 6455 & 7692)
upload_time2025-01-19 21:00:56
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseBSD-3-Clause
keywords websocket
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. image:: logo/horizontal.svg
   :width: 480px
   :alt: websockets

|licence| |version| |pyversions| |tests| |docs| |openssf|

.. |licence| image:: https://img.shields.io/pypi/l/websockets.svg
    :target: https://pypi.python.org/pypi/websockets

.. |version| image:: https://img.shields.io/pypi/v/websockets.svg
    :target: https://pypi.python.org/pypi/websockets

.. |pyversions| image:: https://img.shields.io/pypi/pyversions/websockets.svg
    :target: https://pypi.python.org/pypi/websockets

.. |tests| image:: https://img.shields.io/github/checks-status/python-websockets/websockets/main?label=tests
   :target: https://github.com/python-websockets/websockets/actions/workflows/tests.yml

.. |docs| image:: https://img.shields.io/readthedocs/websockets.svg
   :target: https://websockets.readthedocs.io/

.. |openssf| image:: https://bestpractices.coreinfrastructure.org/projects/6475/badge
   :target: https://bestpractices.coreinfrastructure.org/projects/6475

What is ``websockets``?
-----------------------

websockets is a library for building WebSocket_ servers and clients in Python
with a focus on correctness, simplicity, robustness, and performance.

.. _WebSocket: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API

Built on top of ``asyncio``, Python's standard asynchronous I/O framework, the
default implementation provides an elegant coroutine-based API.

An implementation on top of ``threading`` and a Sans-I/O implementation are also
available.

`Documentation is available on Read the Docs. <https://websockets.readthedocs.io/>`_

.. copy-pasted because GitHub doesn't support the include directive

Here's an echo server with the ``asyncio`` API:

.. code:: python

    #!/usr/bin/env python

    import asyncio
    from websockets.server import serve

    async def echo(websocket):
        async for message in websocket:
            await websocket.send(message)

    async def main():
        async with serve(echo, "localhost", 8765):
            await asyncio.get_running_loop().create_future()  # run forever

    asyncio.run(main())

Here's how a client sends and receives messages with the ``threading`` API:

.. code:: python

    #!/usr/bin/env python

    from websockets.sync.client import connect

    def hello():
        with connect("ws://localhost:8765") as websocket:
            websocket.send("Hello world!")
            message = websocket.recv()
            print(f"Received: {message}")

    hello()


Does that look good?

`Get started with the tutorial! <https://websockets.readthedocs.io/en/stable/intro/index.html>`_

Why should I use ``websockets``?
--------------------------------

The development of ``websockets`` is shaped by four principles:

1. **Correctness**: ``websockets`` is heavily tested for compliance with
   :rfc:`6455`. Continuous integration fails under 100% branch coverage.

2. **Simplicity**: all you need to understand is ``msg = await ws.recv()`` and
   ``await ws.send(msg)``. ``websockets`` takes care of managing connections
   so you can focus on your application.

3. **Robustness**: ``websockets`` is built for production. For example, it was
   the only library to `handle backpressure correctly`_ before the issue
   became widely known in the Python community.

4. **Performance**: memory usage is optimized and configurable. A C extension
   accelerates expensive operations. It's pre-compiled for Linux, macOS and
   Windows and packaged in the wheel format for each system and Python version.

Documentation is a first class concern in the project. Head over to `Read the
Docs`_ and see for yourself.

.. _Read the Docs: https://websockets.readthedocs.io/
.. _handle backpressure correctly: https://vorpus.org/blog/some-thoughts-on-asynchronous-api-design-in-a-post-asyncawait-world/#websocket-servers

Why shouldn't I use ``websockets``?
-----------------------------------

* If you prefer callbacks over coroutines: ``websockets`` was created to
  provide the best coroutine-based API to manage WebSocket connections in
  Python. Pick another library for a callback-based API.

* If you're looking for a mixed HTTP / WebSocket library: ``websockets`` aims
  at being an excellent implementation of :rfc:`6455`: The WebSocket Protocol
  and :rfc:`7692`: Compression Extensions for WebSocket. Its support for HTTP
  is minimal — just enough for an HTTP health check.

  If you want to do both in the same server, look at HTTP frameworks that
  build on top of ``websockets`` to support WebSocket connections, like
  Sanic_.

.. _Sanic: https://sanicframework.org/en/

What else?
----------

Bug reports, patches and suggestions are welcome!

To report a security vulnerability, please use the `Tidelift security
contact`_. Tidelift will coordinate the fix and disclosure.

.. _Tidelift security contact: https://tidelift.com/security

For anything else, please open an issue_ or send a `pull request`_.

.. _issue: https://github.com/python-websockets/websockets/issues/new
.. _pull request: https://github.com/python-websockets/websockets/compare/

Participants must uphold the `Contributor Covenant code of conduct`_.

.. _Contributor Covenant code of conduct: https://github.com/python-websockets/websockets/blob/main/CODE_OF_CONDUCT.md

``websockets`` is released under the `BSD license`_.

.. _BSD license: https://github.com/python-websockets/websockets/blob/main/LICENSE

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "websockets",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "WebSocket",
    "author": null,
    "author_email": "Aymeric Augustin <aymeric.augustin@m4x.org>",
    "download_url": "https://files.pythonhosted.org/packages/94/54/8359678c726243d19fae38ca14a334e740782336c9f19700858c4eb64a1e/websockets-14.2.tar.gz",
    "platform": null,
    "description": ".. image:: logo/horizontal.svg\n   :width: 480px\n   :alt: websockets\n\n|licence| |version| |pyversions| |tests| |docs| |openssf|\n\n.. |licence| image:: https://img.shields.io/pypi/l/websockets.svg\n    :target: https://pypi.python.org/pypi/websockets\n\n.. |version| image:: https://img.shields.io/pypi/v/websockets.svg\n    :target: https://pypi.python.org/pypi/websockets\n\n.. |pyversions| image:: https://img.shields.io/pypi/pyversions/websockets.svg\n    :target: https://pypi.python.org/pypi/websockets\n\n.. |tests| image:: https://img.shields.io/github/checks-status/python-websockets/websockets/main?label=tests\n   :target: https://github.com/python-websockets/websockets/actions/workflows/tests.yml\n\n.. |docs| image:: https://img.shields.io/readthedocs/websockets.svg\n   :target: https://websockets.readthedocs.io/\n\n.. |openssf| image:: https://bestpractices.coreinfrastructure.org/projects/6475/badge\n   :target: https://bestpractices.coreinfrastructure.org/projects/6475\n\nWhat is ``websockets``?\n-----------------------\n\nwebsockets is a library for building WebSocket_ servers and clients in Python\nwith a focus on correctness, simplicity, robustness, and performance.\n\n.. _WebSocket: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API\n\nBuilt on top of ``asyncio``, Python's standard asynchronous I/O framework, the\ndefault implementation provides an elegant coroutine-based API.\n\nAn implementation on top of ``threading`` and a Sans-I/O implementation are also\navailable.\n\n`Documentation is available on Read the Docs. <https://websockets.readthedocs.io/>`_\n\n.. copy-pasted because GitHub doesn't support the include directive\n\nHere's an echo server with the ``asyncio`` API:\n\n.. code:: python\n\n    #!/usr/bin/env python\n\n    import asyncio\n    from websockets.server import serve\n\n    async def echo(websocket):\n        async for message in websocket:\n            await websocket.send(message)\n\n    async def main():\n        async with serve(echo, \"localhost\", 8765):\n            await asyncio.get_running_loop().create_future()  # run forever\n\n    asyncio.run(main())\n\nHere's how a client sends and receives messages with the ``threading`` API:\n\n.. code:: python\n\n    #!/usr/bin/env python\n\n    from websockets.sync.client import connect\n\n    def hello():\n        with connect(\"ws://localhost:8765\") as websocket:\n            websocket.send(\"Hello world!\")\n            message = websocket.recv()\n            print(f\"Received: {message}\")\n\n    hello()\n\n\nDoes that look good?\n\n`Get started with the tutorial! <https://websockets.readthedocs.io/en/stable/intro/index.html>`_\n\nWhy should I use ``websockets``?\n--------------------------------\n\nThe development of ``websockets`` is shaped by four principles:\n\n1. **Correctness**: ``websockets`` is heavily tested for compliance with\n   :rfc:`6455`. Continuous integration fails under 100% branch coverage.\n\n2. **Simplicity**: all you need to understand is ``msg = await ws.recv()`` and\n   ``await ws.send(msg)``. ``websockets`` takes care of managing connections\n   so you can focus on your application.\n\n3. **Robustness**: ``websockets`` is built for production. For example, it was\n   the only library to `handle backpressure correctly`_ before the issue\n   became widely known in the Python community.\n\n4. **Performance**: memory usage is optimized and configurable. A C extension\n   accelerates expensive operations. It's pre-compiled for Linux, macOS and\n   Windows and packaged in the wheel format for each system and Python version.\n\nDocumentation is a first class concern in the project. Head over to `Read the\nDocs`_ and see for yourself.\n\n.. _Read the Docs: https://websockets.readthedocs.io/\n.. _handle backpressure correctly: https://vorpus.org/blog/some-thoughts-on-asynchronous-api-design-in-a-post-asyncawait-world/#websocket-servers\n\nWhy shouldn't I use ``websockets``?\n-----------------------------------\n\n* If you prefer callbacks over coroutines: ``websockets`` was created to\n  provide the best coroutine-based API to manage WebSocket connections in\n  Python. Pick another library for a callback-based API.\n\n* If you're looking for a mixed HTTP / WebSocket library: ``websockets`` aims\n  at being an excellent implementation of :rfc:`6455`: The WebSocket Protocol\n  and :rfc:`7692`: Compression Extensions for WebSocket. Its support for HTTP\n  is minimal \u2014 just enough for an HTTP health check.\n\n  If you want to do both in the same server, look at HTTP frameworks that\n  build on top of ``websockets`` to support WebSocket connections, like\n  Sanic_.\n\n.. _Sanic: https://sanicframework.org/en/\n\nWhat else?\n----------\n\nBug reports, patches and suggestions are welcome!\n\nTo report a security vulnerability, please use the `Tidelift security\ncontact`_. Tidelift will coordinate the fix and disclosure.\n\n.. _Tidelift security contact: https://tidelift.com/security\n\nFor anything else, please open an issue_ or send a `pull request`_.\n\n.. _issue: https://github.com/python-websockets/websockets/issues/new\n.. _pull request: https://github.com/python-websockets/websockets/compare/\n\nParticipants must uphold the `Contributor Covenant code of conduct`_.\n\n.. _Contributor Covenant code of conduct: https://github.com/python-websockets/websockets/blob/main/CODE_OF_CONDUCT.md\n\n``websockets`` is released under the `BSD license`_.\n\n.. _BSD license: https://github.com/python-websockets/websockets/blob/main/LICENSE\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "An implementation of the WebSocket Protocol (RFC 6455 & 7692)",
    "version": "14.2",
    "project_urls": {
        "Changelog": "https://websockets.readthedocs.io/en/stable/project/changelog.html",
        "Documentation": "https://websockets.readthedocs.io/",
        "Funding": "https://tidelift.com/subscription/pkg/pypi-websockets?utm_source=pypi-websockets&utm_medium=referral&utm_campaign=readme",
        "Homepage": "https://github.com/python-websockets/websockets",
        "Tracker": "https://github.com/python-websockets/websockets/issues"
    },
    "split_keywords": [
        "websocket"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "28fa76607eb7dcec27b2d18d63f60a32e60e2b8629780f343bb83a4dbb9f4350",
                "md5": "66ed12ff0b409dcbcb5363f6ab3b09f5",
                "sha256": "e8179f95323b9ab1c11723e5d91a89403903f7b001828161b480a7810b334885"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "66ed12ff0b409dcbcb5363f6ab3b09f5",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 163089,
            "upload_time": "2025-01-19T20:58:43",
            "upload_time_iso_8601": "2025-01-19T20:58:43.399190Z",
            "url": "https://files.pythonhosted.org/packages/28/fa/76607eb7dcec27b2d18d63f60a32e60e2b8629780f343bb83a4dbb9f4350/websockets-14.2-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9e00ad2246b5030575b79e7af0721810fdaecaf94c4b2625842ef7a756fa06dd",
                "md5": "843f353d97b1382f9f6cb3c3a1c60227",
                "sha256": "0d8c3e2cdb38f31d8bd7d9d28908005f6fa9def3324edb9bf336d7e4266fd397"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "843f353d97b1382f9f6cb3c3a1c60227",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 160741,
            "upload_time": "2025-01-19T20:58:45",
            "upload_time_iso_8601": "2025-01-19T20:58:45.309403Z",
            "url": "https://files.pythonhosted.org/packages/9e/00/ad2246b5030575b79e7af0721810fdaecaf94c4b2625842ef7a756fa06dd/websockets-14.2-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "72f760f10924d333a28a1ff3fcdec85acf226281331bdabe9ad74947e1b7fc0a",
                "md5": "4c9a696b33d731bbe048e08acaa7fa3c",
                "sha256": "714a9b682deb4339d39ffa674f7b674230227d981a37d5d174a4a83e3978a610"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "4c9a696b33d731bbe048e08acaa7fa3c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 160996,
            "upload_time": "2025-01-19T20:58:47",
            "upload_time_iso_8601": "2025-01-19T20:58:47.563837Z",
            "url": "https://files.pythonhosted.org/packages/72/f7/60f10924d333a28a1ff3fcdec85acf226281331bdabe9ad74947e1b7fc0a/websockets-14.2-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "637cc655789cf78648c01ac6ecbe2d6c18f91b75bdc263ffee4d08ce628d12f0",
                "md5": "25873ea16db119c4045d74103b100181",
                "sha256": "f2e53c72052f2596fb792a7acd9704cbc549bf70fcde8a99e899311455974ca3"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "25873ea16db119c4045d74103b100181",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 169974,
            "upload_time": "2025-01-19T20:58:51",
            "upload_time_iso_8601": "2025-01-19T20:58:51.023214Z",
            "url": "https://files.pythonhosted.org/packages/63/7c/c655789cf78648c01ac6ecbe2d6c18f91b75bdc263ffee4d08ce628d12f0/websockets-14.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fb5b013ed8b4611857ac92ac631079c08d9715b388bd1d88ec62e245f87a39df",
                "md5": "fd09f481441d82ae4b4c3a8e3ca504a2",
                "sha256": "e3fbd68850c837e57373d95c8fe352203a512b6e49eaae4c2f4088ef8cf21980"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "fd09f481441d82ae4b4c3a8e3ca504a2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 168985,
            "upload_time": "2025-01-19T20:58:52",
            "upload_time_iso_8601": "2025-01-19T20:58:52.698804Z",
            "url": "https://files.pythonhosted.org/packages/fb/5b/013ed8b4611857ac92ac631079c08d9715b388bd1d88ec62e245f87a39df/websockets-14.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cd33aa3e32fd0df213a5a442310754fe3f89dd87a0b8e5b4e11e0991dd3bcc50",
                "md5": "184bf99289406865f1538ce7836226c9",
                "sha256": "4b27ece32f63150c268593d5fdb82819584831a83a3f5809b7521df0685cd5d8"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "184bf99289406865f1538ce7836226c9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 169297,
            "upload_time": "2025-01-19T20:58:54",
            "upload_time_iso_8601": "2025-01-19T20:58:54.898617Z",
            "url": "https://files.pythonhosted.org/packages/cd/33/aa3e32fd0df213a5a442310754fe3f89dd87a0b8e5b4e11e0991dd3bcc50/websockets-14.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9317dae0174883d6399f57853ac44abf5f228eaba86d98d160f390ffabc19b6e",
                "md5": "f114504f51771a2fba54329519aa5ed1",
                "sha256": "4daa0faea5424d8713142b33825fff03c736f781690d90652d2c8b053345b0e7"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp310-cp310-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "f114504f51771a2fba54329519aa5ed1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 169677,
            "upload_time": "2025-01-19T20:58:56",
            "upload_time_iso_8601": "2025-01-19T20:58:56.360161Z",
            "url": "https://files.pythonhosted.org/packages/93/17/dae0174883d6399f57853ac44abf5f228eaba86d98d160f390ffabc19b6e/websockets-14.2-cp310-cp310-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "42e20375af7ac00169b98647c804651c515054b34977b6c1354f1458e4116c1e",
                "md5": "86cfbe48134002369ebed0b6776550bc",
                "sha256": "bc63cee8596a6ec84d9753fd0fcfa0452ee12f317afe4beae6b157f0070c6c7f"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp310-cp310-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "86cfbe48134002369ebed0b6776550bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 169089,
            "upload_time": "2025-01-19T20:58:58",
            "upload_time_iso_8601": "2025-01-19T20:58:58.824029Z",
            "url": "https://files.pythonhosted.org/packages/42/e2/0375af7ac00169b98647c804651c515054b34977b6c1354f1458e4116c1e/websockets-14.2-cp310-cp310-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "738d80f71d2a351a44b602859af65261d3dde3a0ce4e76cf9383738a949e0cc3",
                "md5": "ac77781020533ccdd3e725a082672107",
                "sha256": "7a570862c325af2111343cc9b0257b7119b904823c675b22d4ac547163088d0d"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ac77781020533ccdd3e725a082672107",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 169026,
            "upload_time": "2025-01-19T20:59:01",
            "upload_time_iso_8601": "2025-01-19T20:59:01.089012Z",
            "url": "https://files.pythonhosted.org/packages/73/8d/80f71d2a351a44b602859af65261d3dde3a0ce4e76cf9383738a949e0cc3/websockets-14.2-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4897173b1fa6052223e52bb4054a141433ad74931d94c575e04b654200b98ca4",
                "md5": "ba850df415312b0adcbd5cf342591f34",
                "sha256": "75862126b3d2d505e895893e3deac0a9339ce750bd27b4ba515f008b5acf832d"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "ba850df415312b0adcbd5cf342591f34",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 163967,
            "upload_time": "2025-01-19T20:59:02",
            "upload_time_iso_8601": "2025-01-19T20:59:02.662311Z",
            "url": "https://files.pythonhosted.org/packages/48/97/173b1fa6052223e52bb4054a141433ad74931d94c575e04b654200b98ca4/websockets-14.2-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c05b2fcf60f38252a4562b28b66077e0d2b48f91fef645d5f78874cd1dec807b",
                "md5": "5256c614f8d03620fa880b3cce4a6b16",
                "sha256": "cc45afb9c9b2dc0852d5c8b5321759cf825f82a31bfaf506b65bf4668c96f8b2"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5256c614f8d03620fa880b3cce4a6b16",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 164413,
            "upload_time": "2025-01-19T20:59:05",
            "upload_time_iso_8601": "2025-01-19T20:59:05.071992Z",
            "url": "https://files.pythonhosted.org/packages/c0/5b/2fcf60f38252a4562b28b66077e0d2b48f91fef645d5f78874cd1dec807b/websockets-14.2-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "15b6504695fb9a33df0ca56d157f5985660b5fc5b4bf8c78f121578d2d653392",
                "md5": "3a67cbeb426382b5842226edff4ee175",
                "sha256": "3bdc8c692c866ce5fefcaf07d2b55c91d6922ac397e031ef9b774e5b9ea42166"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "3a67cbeb426382b5842226edff4ee175",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 163088,
            "upload_time": "2025-01-19T20:59:06",
            "upload_time_iso_8601": "2025-01-19T20:59:06.435223Z",
            "url": "https://files.pythonhosted.org/packages/15/b6/504695fb9a33df0ca56d157f5985660b5fc5b4bf8c78f121578d2d653392/websockets-14.2-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8126ebfb8f6abe963c795122439c6433c4ae1e061aaedfc7eff32d09394afbae",
                "md5": "80463d0cebe716a426d5cb04f62ed72e",
                "sha256": "c93215fac5dadc63e51bcc6dceca72e72267c11def401d6668622b47675b097f"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "80463d0cebe716a426d5cb04f62ed72e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 160745,
            "upload_time": "2025-01-19T20:59:09",
            "upload_time_iso_8601": "2025-01-19T20:59:09.109329Z",
            "url": "https://files.pythonhosted.org/packages/81/26/ebfb8f6abe963c795122439c6433c4ae1e061aaedfc7eff32d09394afbae/websockets-14.2-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a1c61435ad6f6dcbff80bb95e8986704c3174da8866ddb751184046f5c139ef6",
                "md5": "6f0f36567786f10d07d88dc2ac181303",
                "sha256": "1c9b6535c0e2cf8a6bf938064fb754aaceb1e6a4a51a80d884cd5db569886910"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "6f0f36567786f10d07d88dc2ac181303",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 160995,
            "upload_time": "2025-01-19T20:59:12",
            "upload_time_iso_8601": "2025-01-19T20:59:12.816958Z",
            "url": "https://files.pythonhosted.org/packages/a1/c6/1435ad6f6dcbff80bb95e8986704c3174da8866ddb751184046f5c139ef6/websockets-14.2-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9663900c27cfe8be1a1f2433fc77cd46771cf26ba57e6bdc7cf9e63644a61863",
                "md5": "c2fcc8b86dd9c8b32bb4cc6b78e0c917",
                "sha256": "0a52a6d7cf6938e04e9dceb949d35fbdf58ac14deea26e685ab6368e73744e4c"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c2fcc8b86dd9c8b32bb4cc6b78e0c917",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 170543,
            "upload_time": "2025-01-19T20:59:15",
            "upload_time_iso_8601": "2025-01-19T20:59:15.026112Z",
            "url": "https://files.pythonhosted.org/packages/96/63/900c27cfe8be1a1f2433fc77cd46771cf26ba57e6bdc7cf9e63644a61863/websockets-14.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "008bbec2bdba92af0762d42d4410593c1d7d28e9bfd952c97a3729df603dc6ea",
                "md5": "a35c6bb37b1c2c67f20c97617e39585f",
                "sha256": "9f05702e93203a6ff5226e21d9b40c037761b2cfb637187c9802c10f58e40473"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "a35c6bb37b1c2c67f20c97617e39585f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 169546,
            "upload_time": "2025-01-19T20:59:17",
            "upload_time_iso_8601": "2025-01-19T20:59:17.156042Z",
            "url": "https://files.pythonhosted.org/packages/00/8b/bec2bdba92af0762d42d4410593c1d7d28e9bfd952c97a3729df603dc6ea/websockets-14.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ba937531cb5b994f12a57dec3da2200ef7aadffef82d888a4c29a0d781568e4",
                "md5": "f14b68a206029583db2e4f3ac27edc97",
                "sha256": "22441c81a6748a53bfcb98951d58d1af0661ab47a536af08920d129b4d1c3473"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f14b68a206029583db2e4f3ac27edc97",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 169911,
            "upload_time": "2025-01-19T20:59:18",
            "upload_time_iso_8601": "2025-01-19T20:59:18.623236Z",
            "url": "https://files.pythonhosted.org/packages/6b/a9/37531cb5b994f12a57dec3da2200ef7aadffef82d888a4c29a0d781568e4/websockets-14.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "60d5a6eadba2ed9f7e65d677fec539ab14a9b83de2b484ab5fe15d3d6d208c28",
                "md5": "e1564b9f6324d79b8dd9cd2001830c37",
                "sha256": "efd9b868d78b194790e6236d9cbc46d68aba4b75b22497eb4ab64fa640c3af56"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp311-cp311-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "e1564b9f6324d79b8dd9cd2001830c37",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 170183,
            "upload_time": "2025-01-19T20:59:20",
            "upload_time_iso_8601": "2025-01-19T20:59:20.743957Z",
            "url": "https://files.pythonhosted.org/packages/60/d5/a6eadba2ed9f7e65d677fec539ab14a9b83de2b484ab5fe15d3d6d208c28/websockets-14.2-cp311-cp311-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7657a338ccb00d1df881c1d1ee1f2a20c9c1b5b29b51e9e0191ee515d254fea6",
                "md5": "0a350b605058baf189ec34d8935d4279",
                "sha256": "1a5a20d5843886d34ff8c57424cc65a1deda4375729cbca4cb6b3353f3ce4142"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp311-cp311-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "0a350b605058baf189ec34d8935d4279",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 169623,
            "upload_time": "2025-01-19T20:59:22",
            "upload_time_iso_8601": "2025-01-19T20:59:22.286243Z",
            "url": "https://files.pythonhosted.org/packages/76/57/a338ccb00d1df881c1d1ee1f2a20c9c1b5b29b51e9e0191ee515d254fea6/websockets-14.2-cp311-cp311-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6422e5f7c33db0cb2c1d03b79fd60d189a1da044e2661f5fd01d629451e1db89",
                "md5": "fac1ff949dec7019662ee45ff9481039",
                "sha256": "34277a29f5303d54ec6468fb525d99c99938607bc96b8d72d675dee2b9f5bf1d"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fac1ff949dec7019662ee45ff9481039",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 169583,
            "upload_time": "2025-01-19T20:59:23",
            "upload_time_iso_8601": "2025-01-19T20:59:23.656346Z",
            "url": "https://files.pythonhosted.org/packages/64/22/e5f7c33db0cb2c1d03b79fd60d189a1da044e2661f5fd01d629451e1db89/websockets-14.2-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aa2e2b4662237060063a22e5fc40d46300a07142afe30302b634b4eebd717c07",
                "md5": "062f6ac6cfda8c2c49ab3ec5add434eb",
                "sha256": "02687db35dbc7d25fd541a602b5f8e451a238ffa033030b172ff86a93cb5dc2a"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "062f6ac6cfda8c2c49ab3ec5add434eb",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 163969,
            "upload_time": "2025-01-19T20:59:26",
            "upload_time_iso_8601": "2025-01-19T20:59:26.004798Z",
            "url": "https://files.pythonhosted.org/packages/aa/2e/2b4662237060063a22e5fc40d46300a07142afe30302b634b4eebd717c07/websockets-14.2-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "94a50cda64e1851e73fc1ecdae6f42487babb06e55cb2f0dc8904b81d8ef6857",
                "md5": "1055d12b848dc65200d5968209315a8a",
                "sha256": "862e9967b46c07d4dcd2532e9e8e3c2825e004ffbf91a5ef9dde519ee2effb0b"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1055d12b848dc65200d5968209315a8a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 164408,
            "upload_time": "2025-01-19T20:59:28",
            "upload_time_iso_8601": "2025-01-19T20:59:28.105225Z",
            "url": "https://files.pythonhosted.org/packages/94/a5/0cda64e1851e73fc1ecdae6f42487babb06e55cb2f0dc8904b81d8ef6857/websockets-14.2-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c18104f7a397653dc8bec94ddc071f34833e8b99b13ef1a3804c149d59f92c18",
                "md5": "6a0bd6b707e6388cadbdf0cc4e800a15",
                "sha256": "1f20522e624d7ffbdbe259c6b6a65d73c895045f76a93719aa10cd93b3de100c"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp312-cp312-macosx_10_13_universal2.whl",
            "has_sig": false,
            "md5_digest": "6a0bd6b707e6388cadbdf0cc4e800a15",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 163096,
            "upload_time": "2025-01-19T20:59:29",
            "upload_time_iso_8601": "2025-01-19T20:59:29.763917Z",
            "url": "https://files.pythonhosted.org/packages/c1/81/04f7a397653dc8bec94ddc071f34833e8b99b13ef1a3804c149d59f92c18/websockets-14.2-cp312-cp312-macosx_10_13_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ecc5de30e88557e4d70988ed4d2eabd73fd3e1e52456b9f3a4e9564d86353b6d",
                "md5": "3ee10f24a20a1ccbb0c0a2324f2013ae",
                "sha256": "647b573f7d3ada919fd60e64d533409a79dcf1ea21daeb4542d1d996519ca967"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp312-cp312-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3ee10f24a20a1ccbb0c0a2324f2013ae",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 160758,
            "upload_time": "2025-01-19T20:59:32",
            "upload_time_iso_8601": "2025-01-19T20:59:32.095296Z",
            "url": "https://files.pythonhosted.org/packages/ec/c5/de30e88557e4d70988ed4d2eabd73fd3e1e52456b9f3a4e9564d86353b6d/websockets-14.2-cp312-cp312-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e58cd130d668781f2c77d106c007b6c6c1d9db68239107c41ba109f09e6c218a",
                "md5": "23e962f92eb3716dfd10b78e13758f09",
                "sha256": "6af99a38e49f66be5a64b1e890208ad026cda49355661549c507152113049990"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "23e962f92eb3716dfd10b78e13758f09",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 160995,
            "upload_time": "2025-01-19T20:59:33",
            "upload_time_iso_8601": "2025-01-19T20:59:33.527125Z",
            "url": "https://files.pythonhosted.org/packages/e5/8c/d130d668781f2c77d106c007b6c6c1d9db68239107c41ba109f09e6c218a/websockets-14.2-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a6bcf6678a0ff17246df4f06765e22fc9d98d1b11a258cc50c5968b33d6742a1",
                "md5": "1a597434555b72c6ee474ad21042ea0c",
                "sha256": "091ab63dfc8cea748cc22c1db2814eadb77ccbf82829bac6b2fbe3401d548eda"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1a597434555b72c6ee474ad21042ea0c",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 170815,
            "upload_time": "2025-01-19T20:59:35",
            "upload_time_iso_8601": "2025-01-19T20:59:35.837815Z",
            "url": "https://files.pythonhosted.org/packages/a6/bc/f6678a0ff17246df4f06765e22fc9d98d1b11a258cc50c5968b33d6742a1/websockets-14.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d8b28070cb970c2e4122a6ef38bc5b203415fd46460e025652e1ee3f2f43a9a3",
                "md5": "741c5d24071c58b5a7dd8a261eb9a14a",
                "sha256": "b374e8953ad477d17e4851cdc66d83fdc2db88d9e73abf755c94510ebddceb95"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "741c5d24071c58b5a7dd8a261eb9a14a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 169759,
            "upload_time": "2025-01-19T20:59:38",
            "upload_time_iso_8601": "2025-01-19T20:59:38.216456Z",
            "url": "https://files.pythonhosted.org/packages/d8/b2/8070cb970c2e4122a6ef38bc5b203415fd46460e025652e1ee3f2f43a9a3/websockets-14.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "81da72f7caabd94652e6eb7e92ed2d3da818626e70b4f2b15a854ef60bf501ec",
                "md5": "7054b77a059c6f27a610b681bc8f0e5f",
                "sha256": "a39d7eceeea35db85b85e1169011bb4321c32e673920ae9c1b6e0978590012a3"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7054b77a059c6f27a610b681bc8f0e5f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 170178,
            "upload_time": "2025-01-19T20:59:40",
            "upload_time_iso_8601": "2025-01-19T20:59:40.423853Z",
            "url": "https://files.pythonhosted.org/packages/81/da/72f7caabd94652e6eb7e92ed2d3da818626e70b4f2b15a854ef60bf501ec/websockets-14.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "31e0812725b6deca8afd3a08a2e81b3c4c120c17f68c9b84522a520b816cda58",
                "md5": "ca281811bbc054c15300dba147d8b281",
                "sha256": "0a6f3efd47ffd0d12080594f434faf1cd2549b31e54870b8470b28cc1d3817d9"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp312-cp312-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ca281811bbc054c15300dba147d8b281",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 170453,
            "upload_time": "2025-01-19T20:59:41",
            "upload_time_iso_8601": "2025-01-19T20:59:41.996488Z",
            "url": "https://files.pythonhosted.org/packages/31/e0/812725b6deca8afd3a08a2e81b3c4c120c17f68c9b84522a520b816cda58/websockets-14.2-cp312-cp312-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "66d38275dbc231e5ba9bb0c4f93144394b4194402a7a0c8ffaca5307a58ab5e3",
                "md5": "5eb1325939a90a4e96feb1c84d15c353",
                "sha256": "065ce275e7c4ffb42cb738dd6b20726ac26ac9ad0a2a48e33ca632351a737267"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp312-cp312-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "5eb1325939a90a4e96feb1c84d15c353",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 169830,
            "upload_time": "2025-01-19T20:59:44",
            "upload_time_iso_8601": "2025-01-19T20:59:44.669128Z",
            "url": "https://files.pythonhosted.org/packages/66/d3/8275dbc231e5ba9bb0c4f93144394b4194402a7a0c8ffaca5307a58ab5e3/websockets-14.2-cp312-cp312-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a3aee7d1a56755ae15ad5a94e80dd490ad09e345365199600b2629b18ee37bc7",
                "md5": "b751f4942b2e199fa6c8b2b8744ae300",
                "sha256": "e9d0e53530ba7b8b5e389c02282f9d2aa47581514bd6049d3a7cffe1385cf5fe"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b751f4942b2e199fa6c8b2b8744ae300",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 169824,
            "upload_time": "2025-01-19T20:59:46",
            "upload_time_iso_8601": "2025-01-19T20:59:46.932071Z",
            "url": "https://files.pythonhosted.org/packages/a3/ae/e7d1a56755ae15ad5a94e80dd490ad09e345365199600b2629b18ee37bc7/websockets-14.2-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b63288ccdd63cb261e77b882e706108d072e4f1c839ed723bf91a3e1f216bf60",
                "md5": "ae323892d0acd26f425d21ea8ae1a940",
                "sha256": "20e6dd0984d7ca3037afcb4494e48c74ffb51e8013cac71cf607fffe11df7205"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "ae323892d0acd26f425d21ea8ae1a940",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 163981,
            "upload_time": "2025-01-19T20:59:49",
            "upload_time_iso_8601": "2025-01-19T20:59:49.228129Z",
            "url": "https://files.pythonhosted.org/packages/b6/32/88ccdd63cb261e77b882e706108d072e4f1c839ed723bf91a3e1f216bf60/websockets-14.2-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b37d32cdb77990b3bdc34a306e0a0f73a1275221e9a66d869f6ff833c95b56ef",
                "md5": "921b6e8d901203d4ded37a36c7e9282f",
                "sha256": "44bba1a956c2c9d268bdcdf234d5e5ff4c9b6dc3e300545cbe99af59dda9dcce"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "921b6e8d901203d4ded37a36c7e9282f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 164421,
            "upload_time": "2025-01-19T20:59:50",
            "upload_time_iso_8601": "2025-01-19T20:59:50.674486Z",
            "url": "https://files.pythonhosted.org/packages/b3/7d/32cdb77990b3bdc34a306e0a0f73a1275221e9a66d869f6ff833c95b56ef/websockets-14.2-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "82944f9b55099a4603ac53c2912e1f043d6c49d23e94dd82a9ce1eb554a90215",
                "md5": "b456134c0e40d771611c58ac7122fa7f",
                "sha256": "6f1372e511c7409a542291bce92d6c83320e02c9cf392223272287ce55bc224e"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp313-cp313-macosx_10_13_universal2.whl",
            "has_sig": false,
            "md5_digest": "b456134c0e40d771611c58ac7122fa7f",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 163102,
            "upload_time": "2025-01-19T20:59:52",
            "upload_time_iso_8601": "2025-01-19T20:59:52.177028Z",
            "url": "https://files.pythonhosted.org/packages/82/94/4f9b55099a4603ac53c2912e1f043d6c49d23e94dd82a9ce1eb554a90215/websockets-14.2-cp313-cp313-macosx_10_13_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8eb77484905215627909d9a79ae07070057afe477433fdacb59bf608ce86365a",
                "md5": "21322b9da1fbe38425c607d24958db5c",
                "sha256": "4da98b72009836179bb596a92297b1a61bb5a830c0e483a7d0766d45070a08ad"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp313-cp313-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "21322b9da1fbe38425c607d24958db5c",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 160766,
            "upload_time": "2025-01-19T20:59:54",
            "upload_time_iso_8601": "2025-01-19T20:59:54.368831Z",
            "url": "https://files.pythonhosted.org/packages/8e/b7/7484905215627909d9a79ae07070057afe477433fdacb59bf608ce86365a/websockets-14.2-cp313-cp313-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a3a4edb62efc84adb61883c7d2c6ad65181cb087c64252138e12d655989eec05",
                "md5": "2c49847c645e8bb0b21c2d8a0967d445",
                "sha256": "f8a86a269759026d2bde227652b87be79f8a734e582debf64c9d302faa1e9f03"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "2c49847c645e8bb0b21c2d8a0967d445",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 160998,
            "upload_time": "2025-01-19T20:59:56",
            "upload_time_iso_8601": "2025-01-19T20:59:56.671715Z",
            "url": "https://files.pythonhosted.org/packages/a3/a4/edb62efc84adb61883c7d2c6ad65181cb087c64252138e12d655989eec05/websockets-14.2-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f579036d320dc894b96af14eac2529967a6fc8b74f03b83c487e7a0e9043d842",
                "md5": "9b8309b723f4a38ce91c51b4989c5ffa",
                "sha256": "86cf1aaeca909bf6815ea714d5c5736c8d6dd3a13770e885aafe062ecbd04f1f"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "9b8309b723f4a38ce91c51b4989c5ffa",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 170780,
            "upload_time": "2025-01-19T20:59:58",
            "upload_time_iso_8601": "2025-01-19T20:59:58.085666Z",
            "url": "https://files.pythonhosted.org/packages/f5/79/036d320dc894b96af14eac2529967a6fc8b74f03b83c487e7a0e9043d842/websockets-14.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "63755737d21ee4dd7e4b9d487ee044af24a935e36a9ff1e1419d684feedcba71",
                "md5": "b7352ef8f9e9e7a262001e77dc64ab2e",
                "sha256": "a9b0f6c3ba3b1240f602ebb3971d45b02cc12bd1845466dd783496b3b05783a5"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "b7352ef8f9e9e7a262001e77dc64ab2e",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 169717,
            "upload_time": "2025-01-19T20:59:59",
            "upload_time_iso_8601": "2025-01-19T20:59:59.545744Z",
            "url": "https://files.pythonhosted.org/packages/63/75/5737d21ee4dd7e4b9d487ee044af24a935e36a9ff1e1419d684feedcba71/websockets-14.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2c3cbf9b2c396ed86a0b4a92ff4cdaee09753d3ee389be738e92b9bbd0330b64",
                "md5": "eb744c1c4c0429172f9b2656a74d448c",
                "sha256": "669c3e101c246aa85bc8534e495952e2ca208bd87994650b90a23d745902db9a"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "eb744c1c4c0429172f9b2656a74d448c",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 170155,
            "upload_time": "2025-01-19T21:00:01",
            "upload_time_iso_8601": "2025-01-19T21:00:01.887712Z",
            "url": "https://files.pythonhosted.org/packages/2c/3c/bf9b2c396ed86a0b4a92ff4cdaee09753d3ee389be738e92b9bbd0330b64/websockets-14.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "752d83a5aca7247a655b1da5eb0ee73413abd5c3a57fc8b92915805e6033359d",
                "md5": "3876552288ccae6bb0caa9127954e31a",
                "sha256": "eabdb28b972f3729348e632ab08f2a7b616c7e53d5414c12108c29972e655b20"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp313-cp313-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "3876552288ccae6bb0caa9127954e31a",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 170495,
            "upload_time": "2025-01-19T21:00:04",
            "upload_time_iso_8601": "2025-01-19T21:00:04.064909Z",
            "url": "https://files.pythonhosted.org/packages/75/2d/83a5aca7247a655b1da5eb0ee73413abd5c3a57fc8b92915805e6033359d/websockets-14.2-cp313-cp313-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "79dd699238a92761e2f943885e091486378813ac8f43e3c84990bc394c2be93e",
                "md5": "071a424ad05ee28a0a25b45f0d35b72b",
                "sha256": "2066dc4cbcc19f32c12a5a0e8cc1b7ac734e5b64ac0a325ff8353451c4b15ef2"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp313-cp313-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "071a424ad05ee28a0a25b45f0d35b72b",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 169880,
            "upload_time": "2025-01-19T21:00:05",
            "upload_time_iso_8601": "2025-01-19T21:00:05.695235Z",
            "url": "https://files.pythonhosted.org/packages/79/dd/699238a92761e2f943885e091486378813ac8f43e3c84990bc394c2be93e/websockets-14.2-cp313-cp313-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c8c967a8f08923cf55ce61aadda72089e3ed4353a95a3a4bc8bf42082810e580",
                "md5": "2f308d34c6d0c3e11596a47acbef4468",
                "sha256": "ab95d357cd471df61873dadf66dd05dd4709cae001dd6342edafc8dc6382f307"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2f308d34c6d0c3e11596a47acbef4468",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 169856,
            "upload_time": "2025-01-19T21:00:07",
            "upload_time_iso_8601": "2025-01-19T21:00:07.192901Z",
            "url": "https://files.pythonhosted.org/packages/c8/c9/67a8f08923cf55ce61aadda72089e3ed4353a95a3a4bc8bf42082810e580/websockets-14.2-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "17b11ffdb2680c64e9c3921d99db460546194c40d4acbef999a18c37aa4d58a3",
                "md5": "22c9b18a31cdaa652ad18d63e8a9e7d1",
                "sha256": "a9e72fb63e5f3feacdcf5b4ff53199ec8c18d66e325c34ee4c551ca748623bbc"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "22c9b18a31cdaa652ad18d63e8a9e7d1",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 163974,
            "upload_time": "2025-01-19T21:00:08",
            "upload_time_iso_8601": "2025-01-19T21:00:08.698883Z",
            "url": "https://files.pythonhosted.org/packages/17/b1/1ffdb2680c64e9c3921d99db460546194c40d4acbef999a18c37aa4d58a3/websockets-14.2-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "14138b7fc4cb551b9cfd9890f0fd66e53c18a06240319915533b033a56a3d520",
                "md5": "211360d1d608587bd69dc4c624dff561",
                "sha256": "b439ea828c4ba99bb3176dc8d9b933392a2413c0f6b149fdcba48393f573377f"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "211360d1d608587bd69dc4c624dff561",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 164420,
            "upload_time": "2025-01-19T21:00:10",
            "upload_time_iso_8601": "2025-01-19T21:00:10.182795Z",
            "url": "https://files.pythonhosted.org/packages/14/13/8b7fc4cb551b9cfd9890f0fd66e53c18a06240319915533b033a56a3d520/websockets-14.2-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6feb367e0ed7b8a960b4fc12c7c6bf3ebddf06875037de641637994849560d47",
                "md5": "b76d88566a068f21e27ad9c822b6de99",
                "sha256": "7cd5706caec1686c5d233bc76243ff64b1c0dc445339bd538f30547e787c11fe"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "b76d88566a068f21e27ad9c822b6de99",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 163087,
            "upload_time": "2025-01-19T21:00:11",
            "upload_time_iso_8601": "2025-01-19T21:00:11.717502Z",
            "url": "https://files.pythonhosted.org/packages/6f/eb/367e0ed7b8a960b4fc12c7c6bf3ebddf06875037de641637994849560d47/websockets-14.2-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96f71f18d028ec4a2c14598dfec6a73381a915c27464b693873198c1de872095",
                "md5": "2be1d881eff5788856776ba50f6ff5b0",
                "sha256": "ec607328ce95a2f12b595f7ae4c5d71bf502212bddcea528290b35c286932b12"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2be1d881eff5788856776ba50f6ff5b0",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 160740,
            "upload_time": "2025-01-19T21:00:13",
            "upload_time_iso_8601": "2025-01-19T21:00:13.219165Z",
            "url": "https://files.pythonhosted.org/packages/96/f7/1f18d028ec4a2c14598dfec6a73381a915c27464b693873198c1de872095/websockets-14.2-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5cdbb4b353fb9c3f0eaa8138ea4c76e6fa555b6d2821ed2d51d0ac3c320bc57e",
                "md5": "0d9d2f68e81b7e5cbb4d3610a2ad95ec",
                "sha256": "da85651270c6bfb630136423037dd4975199e5d4114cae6d3066641adcc9d1c7"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "0d9d2f68e81b7e5cbb4d3610a2ad95ec",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 160992,
            "upload_time": "2025-01-19T21:00:15",
            "upload_time_iso_8601": "2025-01-19T21:00:15.540876Z",
            "url": "https://files.pythonhosted.org/packages/5c/db/b4b353fb9c3f0eaa8138ea4c76e6fa555b6d2821ed2d51d0ac3c320bc57e/websockets-14.2-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b9b19149e420c61f375e432654d5c1545e563b90ac1f829ee1a8d1dccaf0869d",
                "md5": "87384e3d3e927206028ac60c9ce5115d",
                "sha256": "c3ecadc7ce90accf39903815697917643f5b7cfb73c96702318a096c00aa71f5"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "87384e3d3e927206028ac60c9ce5115d",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 169757,
            "upload_time": "2025-01-19T21:00:17",
            "upload_time_iso_8601": "2025-01-19T21:00:17.589030Z",
            "url": "https://files.pythonhosted.org/packages/b9/b1/9149e420c61f375e432654d5c1545e563b90ac1f829ee1a8d1dccaf0869d/websockets-14.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2b330bb58204191e113212360f1392b6b1e9f85f62c7ca5b3b15f52f2f835516",
                "md5": "20781fe6ee3303b35b35ff5244947274",
                "sha256": "1979bee04af6a78608024bad6dfcc0cc930ce819f9e10342a29a05b5320355d0"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "20781fe6ee3303b35b35ff5244947274",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 168762,
            "upload_time": "2025-01-19T21:00:19",
            "upload_time_iso_8601": "2025-01-19T21:00:19.987554Z",
            "url": "https://files.pythonhosted.org/packages/2b/33/0bb58204191e113212360f1392b6b1e9f85f62c7ca5b3b15f52f2f835516/websockets-14.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "be3dc3c192f16210d7b7535fbf4ee9a299612f4dccff665587617b13fa0a6aa3",
                "md5": "a764e4c188816a04a19dbe4b4f2f71df",
                "sha256": "2dddacad58e2614a24938a50b85969d56f88e620e3f897b7d80ac0d8a5800258"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a764e4c188816a04a19dbe4b4f2f71df",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 169060,
            "upload_time": "2025-01-19T21:00:21",
            "upload_time_iso_8601": "2025-01-19T21:00:21.414262Z",
            "url": "https://files.pythonhosted.org/packages/be/3d/c3c192f16210d7b7535fbf4ee9a299612f4dccff665587617b13fa0a6aa3/websockets-14.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a67375efa8d9e4b1b257818a7b7a0b9ac84a07c91120b52148941370ef2c8f16",
                "md5": "f0528e2700c37f1321bbcd81a7beb5c3",
                "sha256": "89a71173caaf75fa71a09a5f614f450ba3ec84ad9fca47cb2422a860676716f0"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp39-cp39-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "f0528e2700c37f1321bbcd81a7beb5c3",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 169457,
            "upload_time": "2025-01-19T21:00:22",
            "upload_time_iso_8601": "2025-01-19T21:00:22.996391Z",
            "url": "https://files.pythonhosted.org/packages/a6/73/75efa8d9e4b1b257818a7b7a0b9ac84a07c91120b52148941370ef2c8f16/websockets-14.2-cp39-cp39-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a411300cf36cfd6990ffb218394862f0513be8c21917c9ff5e362f94599caedd",
                "md5": "be0a74824493f38b3d7479d660b06d08",
                "sha256": "6af6a4b26eea4fc06c6818a6b962a952441e0e39548b44773502761ded8cc1d4"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp39-cp39-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "be0a74824493f38b3d7479d660b06d08",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 168860,
            "upload_time": "2025-01-19T21:00:25",
            "upload_time_iso_8601": "2025-01-19T21:00:25.240749Z",
            "url": "https://files.pythonhosted.org/packages/a4/11/300cf36cfd6990ffb218394862f0513be8c21917c9ff5e362f94599caedd/websockets-14.2-cp39-cp39-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c03d5fd82500714ab7c09f003bde671dad1a3a131ac77b6b11ada72e466de4f6",
                "md5": "18bdebea9a232ff8d2bf8d7dae1d7ca0",
                "sha256": "80c8efa38957f20bba0117b48737993643204645e9ec45512579132508477cfc"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "18bdebea9a232ff8d2bf8d7dae1d7ca0",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 168825,
            "upload_time": "2025-01-19T21:00:26",
            "upload_time_iso_8601": "2025-01-19T21:00:26.799121Z",
            "url": "https://files.pythonhosted.org/packages/c0/3d/5fd82500714ab7c09f003bde671dad1a3a131ac77b6b11ada72e466de4f6/websockets-14.2-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8816715580eb6caaacc232f303e9619103a42dcd354b0854baa5ed26aacaf828",
                "md5": "f9f667630cb58c8cff585447c65044f3",
                "sha256": "2e20c5f517e2163d76e2729104abc42639c41cf91f7b1839295be43302713661"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "f9f667630cb58c8cff585447c65044f3",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 163960,
            "upload_time": "2025-01-19T21:00:29",
            "upload_time_iso_8601": "2025-01-19T21:00:29.166252Z",
            "url": "https://files.pythonhosted.org/packages/88/16/715580eb6caaacc232f303e9619103a42dcd354b0854baa5ed26aacaf828/websockets-14.2-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "63a7a1035cb198eaa12eaa9621aaaa3ec021b0e3bac96e1df9ceb6bfe5e53e5f",
                "md5": "dcf18872021c1ef169830343d2651870",
                "sha256": "b4c8cef610e8d7c70dea92e62b6814a8cd24fbd01d7103cc89308d2bfe1659ef"
            },
            "downloads": -1,
            "filename": "websockets-14.2-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "dcf18872021c1ef169830343d2651870",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 164424,
            "upload_time": "2025-01-19T21:00:30",
            "upload_time_iso_8601": "2025-01-19T21:00:30.614959Z",
            "url": "https://files.pythonhosted.org/packages/63/a7/a1035cb198eaa12eaa9621aaaa3ec021b0e3bac96e1df9ceb6bfe5e53e5f/websockets-14.2-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "103d91d3d2bb1325cd83e8e2c02d0262c7d4426dc8fa0831ef1aa4d6bf2041af",
                "md5": "21aeb125845ffeab213bf7635d9a2aa4",
                "sha256": "d7d9cafbccba46e768be8a8ad4635fa3eae1ffac4c6e7cb4eb276ba41297ed29"
            },
            "downloads": -1,
            "filename": "websockets-14.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "21aeb125845ffeab213bf7635d9a2aa4",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.9",
            "size": 160773,
            "upload_time": "2025-01-19T21:00:32",
            "upload_time_iso_8601": "2025-01-19T21:00:32.225640Z",
            "url": "https://files.pythonhosted.org/packages/10/3d/91d3d2bb1325cd83e8e2c02d0262c7d4426dc8fa0831ef1aa4d6bf2041af/websockets-14.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "337ccdedadfef7381939577858b1b5718a4ab073adbb584e429dd9d9dc9bfe16",
                "md5": "fd5b8faa0a6a48daa3b91a1a69a6ca96",
                "sha256": "c76193c1c044bd1e9b3316dcc34b174bbf9664598791e6fb606d8d29000e070c"
            },
            "downloads": -1,
            "filename": "websockets-14.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "fd5b8faa0a6a48daa3b91a1a69a6ca96",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.9",
            "size": 161007,
            "upload_time": "2025-01-19T21:00:33",
            "upload_time_iso_8601": "2025-01-19T21:00:33.784679Z",
            "url": "https://files.pythonhosted.org/packages/33/7c/cdedadfef7381939577858b1b5718a4ab073adbb584e429dd9d9dc9bfe16/websockets-14.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ca357a20a3c450b27c04e50fbbfc3dfb161ed8e827b2a26ae31c4b59b018b8c6",
                "md5": "1d29744294ea9fd378b0467efb0e93b1",
                "sha256": "fd475a974d5352390baf865309fe37dec6831aafc3014ffac1eea99e84e83fc2"
            },
            "downloads": -1,
            "filename": "websockets-14.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1d29744294ea9fd378b0467efb0e93b1",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.9",
            "size": 162264,
            "upload_time": "2025-01-19T21:00:35",
            "upload_time_iso_8601": "2025-01-19T21:00:35.255479Z",
            "url": "https://files.pythonhosted.org/packages/ca/35/7a20a3c450b27c04e50fbbfc3dfb161ed8e827b2a26ae31c4b59b018b8c6/websockets-14.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e89ce3f9600564b0c813f2448375cf28b47dc42c514344faed3a05d71fb527f9",
                "md5": "122c60dab2c524d0f3a23727b6bcf045",
                "sha256": "2c6c0097a41968b2e2b54ed3424739aab0b762ca92af2379f152c1aef0187e1c"
            },
            "downloads": -1,
            "filename": "websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "122c60dab2c524d0f3a23727b6bcf045",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.9",
            "size": 161873,
            "upload_time": "2025-01-19T21:00:37",
            "upload_time_iso_8601": "2025-01-19T21:00:37.377151Z",
            "url": "https://files.pythonhosted.org/packages/e8/9c/e3f9600564b0c813f2448375cf28b47dc42c514344faed3a05d71fb527f9/websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f37260f189b16b2b8290d6ae80c9f96d8b34692cf1bb3475df54c38d3deb57d",
                "md5": "895efca1a9baca0d2a56498df27981eb",
                "sha256": "6d7ff794c8b36bc402f2e07c0b2ceb4a2424147ed4785ff03e2a7af03711d60a"
            },
            "downloads": -1,
            "filename": "websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "895efca1a9baca0d2a56498df27981eb",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.9",
            "size": 161818,
            "upload_time": "2025-01-19T21:00:38",
            "upload_time_iso_8601": "2025-01-19T21:00:38.952460Z",
            "url": "https://files.pythonhosted.org/packages/3f/37/260f189b16b2b8290d6ae80c9f96d8b34692cf1bb3475df54c38d3deb57d/websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ff1ee47dedac8bf7140e59aa6a679e850c4df9610ae844d71b6015263ddea37b",
                "md5": "564cc0705955deaa3e61e18f3723abef",
                "sha256": "dec254fcabc7bd488dab64846f588fc5b6fe0d78f641180030f8ea27b76d72c3"
            },
            "downloads": -1,
            "filename": "websockets-14.2-pp310-pypy310_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "564cc0705955deaa3e61e18f3723abef",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.9",
            "size": 164465,
            "upload_time": "2025-01-19T21:00:40",
            "upload_time_iso_8601": "2025-01-19T21:00:40.456335Z",
            "url": "https://files.pythonhosted.org/packages/ff/1e/e47dedac8bf7140e59aa6a679e850c4df9610ae844d71b6015263ddea37b/websockets-14.2-pp310-pypy310_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f7c08e9325c4987dcf66d4a0d63ec380d4aefe8dcc1e521af71ad17adf2c1ae2",
                "md5": "cf494850d4fc3542c29edb24b14ab1fe",
                "sha256": "bbe03eb853e17fd5b15448328b4ec7fb2407d45fb0245036d06a3af251f8e48f"
            },
            "downloads": -1,
            "filename": "websockets-14.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cf494850d4fc3542c29edb24b14ab1fe",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.9",
            "size": 160773,
            "upload_time": "2025-01-19T21:00:42",
            "upload_time_iso_8601": "2025-01-19T21:00:42.145457Z",
            "url": "https://files.pythonhosted.org/packages/f7/c0/8e9325c4987dcf66d4a0d63ec380d4aefe8dcc1e521af71ad17adf2c1ae2/websockets-14.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5a6ec9a7f2edd4afddc4f8cccfc4e12468b7f6ec40f28d1b1e966a8d0298b875",
                "md5": "3e7b1a15736595e80ba199e0d79845e8",
                "sha256": "a3c4aa3428b904d5404a0ed85f3644d37e2cb25996b7f096d77caeb0e96a3b42"
            },
            "downloads": -1,
            "filename": "websockets-14.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "3e7b1a15736595e80ba199e0d79845e8",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.9",
            "size": 161006,
            "upload_time": "2025-01-19T21:00:43",
            "upload_time_iso_8601": "2025-01-19T21:00:43.720539Z",
            "url": "https://files.pythonhosted.org/packages/5a/6e/c9a7f2edd4afddc4f8cccfc4e12468b7f6ec40f28d1b1e966a8d0298b875/websockets-14.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f310b90ece894828c954e674a81cb0db250e6c324c54db30a8b19e96431f928f",
                "md5": "d9e7a063cb2805cace2b34d0fe0df47c",
                "sha256": "577a4cebf1ceaf0b65ffc42c54856214165fb8ceeba3935852fc33f6b0c55e7f"
            },
            "downloads": -1,
            "filename": "websockets-14.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "d9e7a063cb2805cace2b34d0fe0df47c",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.9",
            "size": 162260,
            "upload_time": "2025-01-19T21:00:46",
            "upload_time_iso_8601": "2025-01-19T21:00:46.330860Z",
            "url": "https://files.pythonhosted.org/packages/f3/10/b90ece894828c954e674a81cb0db250e6c324c54db30a8b19e96431f928f/websockets-14.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "52931147b6b5464a5fb6e8987da3ec7991dcc44f9090f67d9c841d7382fed429",
                "md5": "f478528fefadd03aa4aceca46e195ab9",
                "sha256": "ad1c1d02357b7665e700eca43a31d52814ad9ad9b89b58118bdabc365454b574"
            },
            "downloads": -1,
            "filename": "websockets-14.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "f478528fefadd03aa4aceca46e195ab9",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.9",
            "size": 161868,
            "upload_time": "2025-01-19T21:00:48",
            "upload_time_iso_8601": "2025-01-19T21:00:48.683137Z",
            "url": "https://files.pythonhosted.org/packages/52/93/1147b6b5464a5fb6e8987da3ec7991dcc44f9090f67d9c841d7382fed429/websockets-14.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "32abf7d80b4049bff0aa617507330db3a27389d0e70df54e29f7a3d76bbd2086",
                "md5": "66ca1728c8324464a8f26526f038e487",
                "sha256": "f390024a47d904613577df83ba700bd189eedc09c57af0a904e5c39624621270"
            },
            "downloads": -1,
            "filename": "websockets-14.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "66ca1728c8324464a8f26526f038e487",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.9",
            "size": 161813,
            "upload_time": "2025-01-19T21:00:51",
            "upload_time_iso_8601": "2025-01-19T21:00:51.019046Z",
            "url": "https://files.pythonhosted.org/packages/32/ab/f7d80b4049bff0aa617507330db3a27389d0e70df54e29f7a3d76bbd2086/websockets-14.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cdccadc9fb85f031b8df8e9f3d96cc004df25d2643e503953af5223c5b6825b7",
                "md5": "8b65d8db9acbf9cca153d13f9258b3b1",
                "sha256": "3c1426c021c38cf92b453cdf371228d3430acd775edee6bac5a4d577efc72365"
            },
            "downloads": -1,
            "filename": "websockets-14.2-pp39-pypy39_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8b65d8db9acbf9cca153d13f9258b3b1",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.9",
            "size": 164457,
            "upload_time": "2025-01-19T21:00:52",
            "upload_time_iso_8601": "2025-01-19T21:00:52.621249Z",
            "url": "https://files.pythonhosted.org/packages/cd/cc/adc9fb85f031b8df8e9f3d96cc004df25d2643e503953af5223c5b6825b7/websockets-14.2-pp39-pypy39_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7bc8d529f8a32ce40d98309f4470780631e971a5a842b60aec864833b3615786",
                "md5": "048d6c8fecc3af3b8b3dd74b766c1660",
                "sha256": "7a6ceec4ea84469f15cf15807a747e9efe57e369c384fa86e022b3bea679b79b"
            },
            "downloads": -1,
            "filename": "websockets-14.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "048d6c8fecc3af3b8b3dd74b766c1660",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 157416,
            "upload_time": "2025-01-19T21:00:54",
            "upload_time_iso_8601": "2025-01-19T21:00:54.843615Z",
            "url": "https://files.pythonhosted.org/packages/7b/c8/d529f8a32ce40d98309f4470780631e971a5a842b60aec864833b3615786/websockets-14.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "94548359678c726243d19fae38ca14a334e740782336c9f19700858c4eb64a1e",
                "md5": "26d1dc6e53395f537667d66ba1832ea7",
                "sha256": "5059ed9c54945efb321f097084b4c7e52c246f2c869815876a69d1efc4ad6eb5"
            },
            "downloads": -1,
            "filename": "websockets-14.2.tar.gz",
            "has_sig": false,
            "md5_digest": "26d1dc6e53395f537667d66ba1832ea7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 164394,
            "upload_time": "2025-01-19T21:00:56",
            "upload_time_iso_8601": "2025-01-19T21:00:56.431959Z",
            "url": "https://files.pythonhosted.org/packages/94/54/8359678c726243d19fae38ca14a334e740782336c9f19700858c4eb64a1e/websockets-14.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-19 21:00:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "python-websockets",
    "github_project": "websockets",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "websockets"
}
        
Elapsed time: 0.45802s