Python RSocket library
Project description
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
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.