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.

Files for asyncio-rpc, version 0.1.10
Filename, size File type Python version Upload date Hashes
Filename, size asyncio_rpc-0.1.10-py2.py3-none-any.whl (17.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size asyncio_rpc-0.1.10.tar.gz (20.4 kB) File type Source Python version None Upload date Hashes View

Supported by

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