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 |
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.
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_graphql.py | ServerWithGraphQL | client_graphql.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.
Source Distribution
Built Distribution
File details
Details for the file rsocket-0.4.15.tar.gz
.
File metadata
- Download URL: rsocket-0.4.15.tar.gz
- Upload date:
- Size: 55.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ece15ebf7e73804ff09e34ddd521f7ed71fda4d7e1f6335e10c795869b8cb91 |
|
MD5 | 03abeea2a59f71087ab624bb17c881c8 |
|
BLAKE2b-256 | 64da38bd9eaf548c1ac4a0efd77f3ac43d7b1ce18ca995cbdec7ce49d56daf2e |
File details
Details for the file rsocket-0.4.15-py3-none-any.whl
.
File metadata
- Download URL: rsocket-0.4.15-py3-none-any.whl
- Upload date:
- Size: 88.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d4dac31eecac17f81d434536025f5e8173693a6814bdf02505a16e70f171701 |
|
MD5 | a7c5239dd3496b483d90cd347a04286d |
|
BLAKE2b-256 | 23c40091d77bf1f36406edad22deadd2ba35e57128b0e8eecb955d40877c225a |