Skip to main content

Python RSocket library

Project description

RSocket-py

Python implementation of RSocket

Installation

The latest version from pypi can be installed using:

pip install rsocket

You may also install using some extras:

Extra Functionality Documentation
rx ReactiveX (v3) integration Tutorial
reactivex ReactiveX (v4) integration Tutorial
aiohttp aiohttp Websocket transport (server/client) Tutorial
fastapi fastapi Websocket transport (server/client)
channels Websocket transport (server only) using channels (django)
quart Quart Websocket transport (server only)
quic QUIC transport
websockets Websockets transport (server only)
asyncwebsockets Websockets transport (client only)
cli Command line Tutorial
optimized Frame parse/serialize optimizations
cloudevents CloudEvents integration
graphql GraphQL integration Tutorial

For example:

pip install rsocket[reactivex]

Alternatively, download the source code, build a package:

python3 setup.py bdist_wheel

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. API documentation is at readthedocs.io.

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 examples are in java to show compatibility with a different implementation. To run the java examples first build using mvn package.

The examples/test_examples.py can be used to execute the relevant example server/client pairs.

client_springboot.py is set up to work against the 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
ServerWithFragmentation client_with_routing.py
server_quart_websocket.py client_websocket.py
server_aiohttp_websocket.py client_websocket.py
server_fastapi_websocket.py client_websocket.py
server_graphql.py ServerWithGraphQL client_graphql.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 (WS, WSS) - Quart and aiohttp integration
    • QUIC
    • HTTP/3
    • HTTP/2
    • Aeron
  • RxPy Integration
    • Stream Response
    • Channel Response
    • Channel Requester stream
    • Response
  • Other
    • Reconnect
    • Load balancing
    • Server routing definition helper (Flask like syntax)
    • Reactivex integration (v3, v4) server/client side
    • Command line interface

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rsocket-0.4.19.tar.gz (58.1 kB view details)

Uploaded Source

Built Distribution

rsocket-0.4.19-py3-none-any.whl (91.7 kB view details)

Uploaded Python 3

File details

Details for the file rsocket-0.4.19.tar.gz.

File metadata

  • Download URL: rsocket-0.4.19.tar.gz
  • Upload date:
  • Size: 58.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for rsocket-0.4.19.tar.gz
Algorithm Hash digest
SHA256 8dcce822a717a74d4252465ae655ad2dfa9e995f9f7fb2a3c9b9af978ed5c5da
MD5 ac472e11c009f84bc25d2b32a3742960
BLAKE2b-256 06e497a0586319c490b9ab1f1ec062a18f7a9301e4223540bd244bf101a72326

See more details on using hashes here.

File details

Details for the file rsocket-0.4.19-py3-none-any.whl.

File metadata

  • Download URL: rsocket-0.4.19-py3-none-any.whl
  • Upload date:
  • Size: 91.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for rsocket-0.4.19-py3-none-any.whl
Algorithm Hash digest
SHA256 77551551d87a2163ad6b78cf26f6e1a93f5e510d28add0da28443fff9a24f46c
MD5 c8a96b134968d357e908555273d8bc3c
BLAKE2b-256 93be87350905b5e17f685c18726a398912b7ef6e2963e8880aa65c358a845dc0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page