Skip to content

clamor-py/anysocks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

69696f9 · Dec 21, 2019

History

59 Commits
Dec 21, 2019
Nov 13, 2019
Dec 21, 2019
Jul 4, 2019
Jul 3, 2019
Nov 23, 2019
Jun 24, 2019
Dec 21, 2019
Jun 24, 2019
Jun 24, 2019
Jun 24, 2019
Jun 24, 2019
Jun 24, 2019
Jul 4, 2019
Dec 21, 2019
Jun 24, 2019
Dec 21, 2019
Jul 4, 2019

Repository files navigation

anysocks

This library implements the WebSocket protocol based on the Sans-IO library wsproto. I/O is handled by the anyio project which makes this library compatible to asyncio, trio and curio.

Build Status Maintainability CodeFactor Documentation Status PyPI version

Installation

This library requires Python 3.5+. You can install it directly from PyPI:

python3 -m pip install -U anysocks

If you want the cutting edge development version instead, install it directly from GitHub:

python3 -m pip install -U git+https://github.com/clamor-py/anysocks@master#egg=anysocks

Documentation

This README only provides a short overview, see the full documentation here.

Example

import anyio
from anysocks import open_connection


async def main():
    async with open_connection('wss://echo.websocket.org') as con:
        print('Connection established!')

        # First, let's send some text to the server.
        text = input('What to send? ')
        await con.send_message(text)

        # Now, we receive and verify the server's response.
        message = await con.get_message()
        assert message == text, "Received {}, expected {}".format(message, text)

    print('Connection closed with code {}', con.close_code.value)

anyio.run(main)