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
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
Metadata
Release files for rsocket 0.4.20
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rsocket-0.4.20.tar.gz | 58.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rsocket-0.4.20-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 149.8 kB
Release files / rsocket-0.4.20.tar.gz
| Download URL | rsocket-0.4.20.tar.gz |
|---|---|
| Size | 58.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
466203e1fc2d7064fd456b5948d594ffa364c642fb532eca71289d27206502c3
|
|
BLAKE2b-256 checksum How to use checksums |
2febe11ff68dfc5228c9d687a85c3b52e3592dfd5972bd62e531d917b8c9157a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.23
|
Release files / rsocket-0.4.20-py3-none-any.whl
| Download URL | rsocket-0.4.20-py3-none-any.whl |
|---|---|
| Size | 91.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1daceab8259551f74f393b4f5985a5337a4801f7e34b47cf76735f55fd8eaa31
|
|
BLAKE2b-256 checksum How to use checksums |
f68fdae6a7f2fd6a049f91a0cc10e138a7bb463e690a534d876c399dde8bc960
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.23
|