Skip to main content

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

https://github.com/nens/asyncio-rpc/actions/workflows/test.yml/badge.svg?branch=master 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)

  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asyncio_rpc-0.2.0.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

asyncio_rpc-0.2.0-py2.py3-none-any.whl (17.5 kB view details)

Uploaded Python 2 Python 3

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

Hashes for asyncio_rpc-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e990b3d6c3b50b5cd81979dc08ffcb4226144142898fc4063a072e24e1247037
MD5 7418a33421df80e40eb347e1c896b0d2
BLAKE2b-256 7b75041f9ddf5dbe92265fe1750394944b55ee35dd7c7f1b6c83e4b084548852

See more details on using hashes here.

File details

Details for the file asyncio_rpc-0.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for asyncio_rpc-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d261b721b591035c39299ed7e6d7ccd54d0f32fdcc6fe2dae1aa41634c6b46df
MD5 839b23bc7e4758dbe16da86729a461ba
BLAKE2b-256 9931c8f6612a486feadb0a1a74df291e0cde0934dde6ccbb716e943f032cfd4a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page