Asyncio RPC client/server with redis/msgpack/dataclasses
Project description
Asyncio-rpc: Remote procedure calling framework
The Python package for the asyncio remote procedure calling
Free software: BSD license
Documentation: https://asyncio-rpc.readthedocs.io.
Overview
Features
Asyncio RPC client/server
Msgpack serialization with option to use own dataclasses (Python 3.8)
Redis communication layer
Other serialization methods and communication layers can be added
Examples
The examples can be run from this directory, for the dataclass example (using localhost as redis host):
>>> python3.8 -m examples.dataclass.server localhost >>> python3.8 -m examples.dataclass.client localhost
Testing
>>> docker-compose run pytest --cov=asyncio_rpc --cov-report=html
0.2.0 (2024-01-02)
Dropped aioredis package, use redis package instead.
Github actions for unit-tests & linting.
Numpy is optional.
0.1.11 (2023-07-06)
Add support for RPC client graceful shutdown.
0.1.10 (2021-02-26)
Disabled logging errors for missing Asyncio futures for subscriptions.
0.1.9 (2021-02-22)
Bugfix: asyncio future that waits for return RPC message needs to be created before sending RPC message to RPC server.
Added debug logging statements.
0.1.8 (2021-02-05)
Add numpy int32 and int64 serializer.
0.1.7 (2020-01-10)
When a message from the client has not been received by a server it raises a NotReceived exception instead of an assert error.
0.1.6 (2019-12-30)
Added pub/sub support to allow sending continuous updates from the server for a client subscription
Add slice serialization/deserialization support
0.1.5 (2019-12-23)
Server.serve() methode respawns on internal tasks errors
Better error handling in server.
0.1.4 (2019-10-03)
Client now raises RPCTimeoutError if the result of a RPC call took to long to be received.
Client.serve() method respawns internal tasks on errors.
0.1.3 (2019-08-21)
Verbose feedback on assertion error while trying to unpack dataclasses.
0.1.2 (2019-07-04)
Fixed bug with bytes/str serialization/deserialization
0.1.1 (2019-04-29)
Added channel override option in client.rpc_call
0.1.0 (2019-03-20)
first pypi release
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 asyncio_rpc-0.2.0.tar.gz
.
File metadata
- Download URL: asyncio_rpc-0.2.0.tar.gz
- Upload date:
- Size: 21.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e990b3d6c3b50b5cd81979dc08ffcb4226144142898fc4063a072e24e1247037 |
|
MD5 | 7418a33421df80e40eb347e1c896b0d2 |
|
BLAKE2b-256 | 7b75041f9ddf5dbe92265fe1750394944b55ee35dd7c7f1b6c83e4b084548852 |
File details
Details for the file asyncio_rpc-0.2.0-py2.py3-none-any.whl
.
File metadata
- Download URL: asyncio_rpc-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d261b721b591035c39299ed7e6d7ccd54d0f32fdcc6fe2dae1aa41634c6b46df |
|
MD5 | 839b23bc7e4758dbe16da86729a461ba |
|
BLAKE2b-256 | 9931c8f6612a486feadb0a1a74df291e0cde0934dde6ccbb716e943f032cfd4a |