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 (RxPy3)
- reactivex (RxPy4)
- aiohttp
- quart
- quic
- cli
Example:
pip install rsocket[reactivex]
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 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.
The client_springboot.py 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 | ||
ServerWithFragmentation | client_with_routing.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 (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
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.