Asyncio-rpc: Remote procedure calling framework
The Python package for the asyncio remote procedure calling
.. image:: https://github.com/nens/asyncio-rpc/actions/workflows/test.yml/badge.svg?branch=master
:target: https://github.com/nens/asyncio-rpc/actions/workflows/test.yml
.. image:: https://readthedocs.org/projects/asyncio-rpc/badge/?version=latest
:target: https://asyncio-rpc.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
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)
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)
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)
0.1.5 (2019-12-23)
0.1.4 (2019-10-03)
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)