All Projects → rsocket → rsocket-py

rsocket / rsocket-py

Licence: MIT license
RSocket implementation in Python

Programming Languages

python
139335 projects - #7 most used programming language

RSocket-py

Python implementation of RSocket

Installation

The latest version from pypi can be installed using:

pip install rsocket

or install any of the extras:

  • rx
  • aiohttp
  • quart
  • uic

Example:

pip install --pre rsocket[rx]

Alternatively, download the source code, build a package:

python3 setup.py bdist_wheel

and use the resulting package from the ./dist folder, or install locally:

python3 setup.py install

Documentation

Documentation is available on the official rsocket.io site.

Examples

Examples can be found in the /examples folder. It contains various server and client usages. The following is a table denoting which client example is constructed to be run against which server example. Some of the examples are in java to show compatibility with a different implementation.

The examples/test_examples.py shows which pairs of client/server work with each other, and can be used to execute all the examples (except for the client_springboot.py which is set up to work against https://github.com/benwilcock/spring-rsocket-demo)

server (python) server (java) client (python) client(java)
server.py client.py
server_quic.py client_quic.py
server_with_lease.py ClientWithLease
server_with_routing.py client_with_routing.py Client
server_with_routing.py client_rx.py
server_with_routing.py client_reconnect.py
Server run_against_example_java_server.py
server_quart_websocket.py client_websocket.py
server_aiohttp_websocket.py client_websocket.py

Build Status

build master Coverage Status CodeQL

Progress

  • Requests
    • Fire and forget
    • Response
    • Stream
    • Channel
    • Metadata push
  • Features
    • Keepalive / Max server life
    • Lease
    • Resume
    • Fragmentation
  • Extensions
    • Composite metadata
    • Per Stream Mimetype
    • Routing
    • Authentication
  • Transports
    • TCP
    • Websocket
    • QUIC
    • HTTP/2
    • Aeron
  • RxPy Integration
    • Stream Response
    • Channel Response
    • Channel Requester stream
    • Response
  • Other
    • Error handling all scenarios in the protocol spec
    • Reconnect
    • Load balancing
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].