Skip to main content

Python RSocket library

Project description

RSocket-py

Python implementation of RSocket

NOTE: The python api is not final and may be broken between minor versions
See CHANGELOG for Breaking Changes

Installation

The latest version from pypi can be installed using:

pip install rsocket

You may also install using some extras:

Extra Functionality
rx ReactiveX (v3) integration
reactivex ReactiveX (v4) integration
aiohttp Websocket transport (server/client)
quart Websocket transport (server only)
quic QUIC transport
cli Command line
optimized Frame parse/serialize optimizations
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.

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

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.9.tar.gz (66.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rsocket-0.4.9-py3-none-any.whl (89.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rsocket-0.4.9.tar.gz
  • Upload date:
  • Size: 66.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for rsocket-0.4.9.tar.gz
Algorithm Hash digest
SHA256 3ade7b050a76d898db953e0259b9e779fd2b023a1142827f3790a3572a5b0e0a
MD5 bb4823608e34b88133d9b193cda3a786
BLAKE2b-256 c21af76ab32aa73cb08c9110a0b33797441e31e55e2c93ba8f31d69605cecfef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rsocket-0.4.9-py3-none-any.whl
  • Upload date:
  • Size: 89.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for rsocket-0.4.9-py3-none-any.whl
Algorithm Hash digest
SHA256 f599f73b3fbe15b36a83f5e72d86864525f4921ef62b413c3b56babf13076ede
MD5 4e2fdd2eb08691b7670e8eab960fed47
BLAKE2b-256 1b570f0110717a0ea364c8a7b0976ad77a0156f8f5d07f14ef3404c82eca19c2

See more details on using hashes here.

Supported by

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