asyncio-rpc


Nameasyncio-rpc JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/nens/asyncio-rpc
SummaryAsyncio RPC client/server with redis/msgpack/dataclasses
upload_time2024-01-02 15:40:46
maintainer
docs_urlNone
authorJelle Prins
requires_python>=3.8
licenseBSD license
keywords asyncio rpc
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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



* 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



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/nens/asyncio-rpc",
    "name": "asyncio-rpc",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "asyncio rpc",
    "author": "Jelle Prins",
    "author_email": "jelle.prins@nelen-schuurmans.nl",
    "download_url": "https://files.pythonhosted.org/packages/7b/75/041f9ddf5dbe92265fe1750394944b55ee35dd7c7f1b6c83e4b084548852/asyncio_rpc-0.2.0.tar.gz",
    "platform": null,
    "description": "Asyncio-rpc: Remote procedure calling framework\n===============================================\n\nThe Python package for the asyncio remote procedure calling\n\n.. image:: https://github.com/nens/asyncio-rpc/actions/workflows/test.yml/badge.svg?branch=master\n        :target: https://github.com/nens/asyncio-rpc/actions/workflows/test.yml\n\n.. image:: https://readthedocs.org/projects/asyncio-rpc/badge/?version=latest\n        :target: https://asyncio-rpc.readthedocs.io/en/latest/?badge=latest\n        :alt: Documentation Status\n\n\n\n* Free software: BSD license\n* Documentation: https://asyncio-rpc.readthedocs.io.\n\n\nOverview\n========\n\n\nFeatures\n--------\n - Asyncio RPC client/server\n - Msgpack serialization with option to use own dataclasses (Python 3.8)\n - Redis communication layer\n - Other serialization methods and communication layers can be added\n\n\nExamples\n--------\n\nThe examples can be run from this directory, for the dataclass example \n(using localhost as redis host):\n\n    >>> python3.8 -m examples.dataclass.server localhost\n    >>> python3.8 -m examples.dataclass.client localhost\n\n\nTesting\n-------\n    >>> docker-compose run pytest --cov=asyncio_rpc --cov-report=html\n\n\n0.2.0 (2024-01-02)\n------------------\n\n- Dropped `aioredis` package, use `redis` package instead.\n\n- Github actions for unit-tests & linting.\n\n- Numpy is optional.\n\n0.1.11 (2023-07-06)\n-------------------\n\n- Add support for RPC client graceful shutdown.\n\n\n0.1.10 (2021-02-26)\n-------------------\n\n- Disabled logging errors for missing Asyncio futures \n  for subscriptions.\n\n\n0.1.9 (2021-02-22)\n------------------\n\n- Bugfix: asyncio future that waits for return RPC message needs\n  to be created before sending RPC message to RPC server.\n\n- Added debug logging statements.\n\n0.1.8 (2021-02-05)\n------------------\n\n- Add numpy int32 and int64 serializer.\n\n\n0.1.7 (2020-01-10)\n------------------\n\n- When a message from the client has not been received by \n  a server it raises a NotReceived exception instead of\n  an assert error.\n\n\n0.1.6 (2019-12-30)\n------------------\n\n- Added pub/sub support to allow sending continuous updates\n  from the server for a client subscription\n\n- Add slice serialization/deserialization support\n\n\n0.1.5 (2019-12-23)\n------------------\n\n- Server.serve() methode respawns on internal tasks errors\n\n- Better error handling in server.\n\n\n0.1.4 (2019-10-03)\n------------------\n\n- Client now raises RPCTimeoutError if the result of a RPC call took to long to\n  be received.\n\n- Client.serve() method respawns internal tasks on errors.\n\n\n0.1.3 (2019-08-21)\n------------------\n\n- Verbose feedback on assertion error while trying to unpack dataclasses.\n\n\n0.1.2 (2019-07-04)\n------------------\n\n- Fixed bug with bytes/str serialization/deserialization\n\n\n0.1.1 (2019-04-29)\n------------------\n\n- Added channel override option in client.rpc_call\n\n\n0.1.0 (2019-03-20)\n------------------\n\n- first pypi release\n\n\n",
    "bugtrack_url": null,
    "license": "BSD license",
    "summary": "Asyncio RPC client/server with redis/msgpack/dataclasses",
    "version": "0.2.0",
    "project_urls": {
        "Homepage": "https://github.com/nens/asyncio-rpc"
    },
    "split_keywords": [
        "asyncio",
        "rpc"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9931c8f6612a486feadb0a1a74df291e0cde0934dde6ccbb716e943f032cfd4a",
                "md5": "839b23bc7e4758dbe16da86729a461ba",
                "sha256": "d261b721b591035c39299ed7e6d7ccd54d0f32fdcc6fe2dae1aa41634c6b46df"
            },
            "downloads": -1,
            "filename": "asyncio_rpc-0.2.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "839b23bc7e4758dbe16da86729a461ba",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.8",
            "size": 17509,
            "upload_time": "2024-01-02T15:40:44",
            "upload_time_iso_8601": "2024-01-02T15:40:44.669747Z",
            "url": "https://files.pythonhosted.org/packages/99/31/c8f6612a486feadb0a1a74df291e0cde0934dde6ccbb716e943f032cfd4a/asyncio_rpc-0.2.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b75041f9ddf5dbe92265fe1750394944b55ee35dd7c7f1b6c83e4b084548852",
                "md5": "7418a33421df80e40eb347e1c896b0d2",
                "sha256": "e990b3d6c3b50b5cd81979dc08ffcb4226144142898fc4063a072e24e1247037"
            },
            "downloads": -1,
            "filename": "asyncio_rpc-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7418a33421df80e40eb347e1c896b0d2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 21839,
            "upload_time": "2024-01-02T15:40:46",
            "upload_time_iso_8601": "2024-01-02T15:40:46.482897Z",
            "url": "https://files.pythonhosted.org/packages/7b/75/041f9ddf5dbe92265fe1750394944b55ee35dd7c7f1b6c83e4b084548852/asyncio_rpc-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-02 15:40:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nens",
    "github_project": "asyncio-rpc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "asyncio-rpc"
}
        
Elapsed time: 0.19381s