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://api.travis-ci.com/nens/asyncio-rpc.svg?branch=master Documentation Status

Overview

Features

  • Asyncio RPC client/server
  • Msgpack serialization with option to use own dataclasses (Python 3.7)
  • 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.7 -m examples.dataclass.server localhost
>>> python3.7 -m examples.dataclass.client localhost

Testing

>>> docker-compose run pytest --cov=asyncio_rpc --cov-report=html

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.1.10.tar.gz (20.4 kB view hashes)

Uploaded source

Built Distribution

asyncio_rpc-0.1.10-py2.py3-none-any.whl (17.8 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page