jsonrpc-base: a compact JSON-RPC client library interface supporting multiple backends
=======================================================================================================
.. image:: https://github.com/emlove/jsonrpc-base/actions/workflows/main.yml/badge.svg
:target: https://github.com/emlove/jsonrpc-base/actions/workflows/main.yml
.. image:: https://coveralls.io/repos/emlove/jsonrpc-base/badge.svg
:target: https://coveralls.io/r/emlove/jsonrpc-base
This is a compact and simple JSON-RPC client implementation interface python code. This code is forked from https://github.com/gciotta/jsonrpc-requests
Main Features
-------------
* Python 3.6, 3.7, 3.8 & 3.9 compatible
* Supports nested namespaces (eg. `app.users.getUsers()`)
* 100% test coverage
Usage
-----
See `jsonrpc-async <https://github.com/emlove/jsonrpc-async>`_ and `jsonrpc-websocket <https://github.com/emlove/jsonrpc-websocket>`_ for example implementations.
Tests
-----
Install the Python tox package and run ``tox``, it'll test this package with various versions of Python.
Changelog
---------
2.2.0 (2023-12-11)
~~~~~~~~~~~~~~~~~~
- Omit params attribute when empty `(#9) <https://github.com/emlove/jsonrpc-base/pull/9>`_ `@Makman2 <https://github.com/Makman2>`_
2.1.1 (2022-05-03)
~~~~~~~~~~~~~~~~~~
- Unpin test dependencies
2.1.0 (2021-05-03)
~~~~~~~~~~~~~~~~~~
- Use uuid4 for request IDs
2.0.0 (2021-03-16)
~~~~~~~~~~~~~~~~~~
- BREAKING CHANGE: `Allow single mapping as a positional parameter. <https://github.com/emlove/jsonrpc-base/pull/6>`_
Previously, when calling with a single dict as a parameter (example: ``server.foo({'bar': 0})``), the mapping was used as the JSON-RPC keyword parameters. This made it impossible to send a mapping as the first and only positional parameter. If you depended on the old behavior, you can recreate it by spreading the mapping as your method's kwargs. (example: ``server.foo(**{'bar': 0})``)
1.1.0 (2020-08-24)
~~~~~~~~~~~~~~~~~~
- Support for async server request handlers
1.0.3 (2019-11-12)
~~~~~~~~~~~~~~~~~~
- Forwards compatibility for Python 3.9. `(#4) <https://github.com/emlove/jsonrpc-base/pull/4>`_ `@a1fred <https://github.com/a1fred>`_
1.0.2 (2018-08-23)
~~~~~~~~~~~~~~~~~~
- Improved support for JSON-RPC v1 servers. `(#2) <https://github.com/emlove/jsonrpc-base/pull/2>`_ `@tdivis <https://github.com/tdivis>`_
1.0.1 (2018-07-06)
~~~~~~~~~~~~~~~~~~
- Falsey values are no longer treated as None for message IDs, or request parameters.
Credits
-------
`@gciotta <https://github.com/gciotta>`_ for creating the base project `jsonrpc-requests <https://github.com/gciotta/jsonrpc-requests>`_.
`@mbroadst <https://github.com/mbroadst>`_ for providing full support for nested method calls, JSON-RPC RFC
compliance and other improvements.
`@vaab <https://github.com/vaab>`_ for providing api and tests improvements, better RFC compliance.
Raw data
{
"_id": null,
"home_page": "http://github.com/emlove/jsonrpc-base",
"name": "jsonrpc-base",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "json-rpc base",
"author": "Emily Love Mills",
"author_email": "emily@emlove.me",
"download_url": "https://files.pythonhosted.org/packages/b9/54/0b20d7e5e32221d759ad8f4282c03ceb54be6e48b4ff641affd35131f4ce/jsonrpc-base-2.2.0.tar.gz",
"platform": null,
"description": "jsonrpc-base: a compact JSON-RPC client library interface supporting multiple backends\n=======================================================================================================\n\n.. image:: https://github.com/emlove/jsonrpc-base/actions/workflows/main.yml/badge.svg\n :target: https://github.com/emlove/jsonrpc-base/actions/workflows/main.yml\n.. image:: https://coveralls.io/repos/emlove/jsonrpc-base/badge.svg\n :target: https://coveralls.io/r/emlove/jsonrpc-base\n\nThis is a compact and simple JSON-RPC client implementation interface python code. This code is forked from https://github.com/gciotta/jsonrpc-requests\n\nMain Features\n-------------\n\n* Python 3.6, 3.7, 3.8 & 3.9 compatible\n* Supports nested namespaces (eg. `app.users.getUsers()`)\n* 100% test coverage\n\nUsage\n-----\n\nSee `jsonrpc-async <https://github.com/emlove/jsonrpc-async>`_ and `jsonrpc-websocket <https://github.com/emlove/jsonrpc-websocket>`_ for example implementations.\n\nTests\n-----\nInstall the Python tox package and run ``tox``, it'll test this package with various versions of Python.\n\nChangelog\n---------\n2.2.0 (2023-12-11)\n~~~~~~~~~~~~~~~~~~\n- Omit params attribute when empty `(#9) <https://github.com/emlove/jsonrpc-base/pull/9>`_ `@Makman2 <https://github.com/Makman2>`_\n\n2.1.1 (2022-05-03)\n~~~~~~~~~~~~~~~~~~\n- Unpin test dependencies\n\n2.1.0 (2021-05-03)\n~~~~~~~~~~~~~~~~~~\n- Use uuid4 for request IDs\n\n2.0.0 (2021-03-16)\n~~~~~~~~~~~~~~~~~~\n- BREAKING CHANGE: `Allow single mapping as a positional parameter. <https://github.com/emlove/jsonrpc-base/pull/6>`_\n Previously, when calling with a single dict as a parameter (example: ``server.foo({'bar': 0})``), the mapping was used as the JSON-RPC keyword parameters. This made it impossible to send a mapping as the first and only positional parameter. If you depended on the old behavior, you can recreate it by spreading the mapping as your method's kwargs. (example: ``server.foo(**{'bar': 0})``)\n\n1.1.0 (2020-08-24)\n~~~~~~~~~~~~~~~~~~\n- Support for async server request handlers\n\n1.0.3 (2019-11-12)\n~~~~~~~~~~~~~~~~~~\n- Forwards compatibility for Python 3.9. `(#4) <https://github.com/emlove/jsonrpc-base/pull/4>`_ `@a1fred <https://github.com/a1fred>`_\n\n1.0.2 (2018-08-23)\n~~~~~~~~~~~~~~~~~~\n- Improved support for JSON-RPC v1 servers. `(#2) <https://github.com/emlove/jsonrpc-base/pull/2>`_ `@tdivis <https://github.com/tdivis>`_\n\n1.0.1 (2018-07-06)\n~~~~~~~~~~~~~~~~~~\n- Falsey values are no longer treated as None for message IDs, or request parameters.\n\nCredits\n-------\n`@gciotta <https://github.com/gciotta>`_ for creating the base project `jsonrpc-requests <https://github.com/gciotta/jsonrpc-requests>`_.\n\n`@mbroadst <https://github.com/mbroadst>`_ for providing full support for nested method calls, JSON-RPC RFC\ncompliance and other improvements.\n\n`@vaab <https://github.com/vaab>`_ for providing api and tests improvements, better RFC compliance.\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "A JSON-RPC client library base interface",
"version": "2.2.0",
"project_urls": {
"Homepage": "http://github.com/emlove/jsonrpc-base"
},
"split_keywords": [
"json-rpc",
"base"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b9540b20d7e5e32221d759ad8f4282c03ceb54be6e48b4ff641affd35131f4ce",
"md5": "fe3c89e462767d44d5d7ef139b27469b",
"sha256": "931a9a37c637b46eec7e1f9ba894655f8241381309e89b948d7d278c29f672ba"
},
"downloads": -1,
"filename": "jsonrpc-base-2.2.0.tar.gz",
"has_sig": false,
"md5_digest": "fe3c89e462767d44d5d7ef139b27469b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5810,
"upload_time": "2023-12-11T17:13:43",
"upload_time_iso_8601": "2023-12-11T17:13:43.094623Z",
"url": "https://files.pythonhosted.org/packages/b9/54/0b20d7e5e32221d759ad8f4282c03ceb54be6e48b4ff641affd35131f4ce/jsonrpc-base-2.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-11 17:13:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "emlove",
"github_project": "jsonrpc-base",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "jsonrpc-base"
}