jsonrpcclient
Send JSON-RPC requests
What it is and what it does
jsonrpcclient is a lightweight Python library for constructing JSON-RPC request objects and parsing JSON-RPC responses according to the protocol specification. It has no runtime dependencies and works by taking method names and parameters, building properly formatted JSON-RPC 2.0 message structures, and then parsing responses back into typed result objects. The library is straightforward: call `request()` to generate a request dict, or `request_json()` for a JSON string; call `parse()` on a response dict or `parse_json()` on a JSON string to get back a result object.
The package is stable and minimal in scope—it does not handle network transport, authentication, or batching logic, leaving those concerns to the caller. It supports Python 3.6 through 3.11 and carries no external dependencies, making it easy to integrate into any project that needs to speak JSON-RPC. However, the project shows aging maintenance signals: the last release was in February 2023 and there have been no recent commits, so it is best suited for projects with stable, long-term JSON-RPC needs rather than those expecting active feature development.
Use it for:
- Building a client to call methods on a JSON-RPC server (e.g., blockchain nodes, Ethereum providers) by generating properly formatted requests
- Parsing responses from JSON-RPC endpoints in a type-safe way without manually validating the protocol structure
- Integrating JSON-RPC protocol support into a larger application without pulling in heavy dependencies or transport layers
- Testing JSON-RPC server implementations by generating valid request objects and validating response parsing
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Generates JSON-RPC request objects and parses JSON-RPC responses in Python, handling the protocol structure without external dependencies.
Yes, if you need lightweight JSON-RPC protocol support without external dependencies and can accept aging maintenance. The library is stable and does one thing well, but the lack of recent updates means it is best for projects with stable requirements rather than those expecting active development or rapid protocol evolution.
Install
jsonrpcclient on PyPI
pip
pip install jsonrpcclientuv
uv add jsonrpcclientpoetry
poetry add jsonrpcclientInstalling jsonrpcclient
Before you install
Low friction install with no runtime dependencies. Maintenance is aging—last release was 2023-02-23 and the repository shows no recent activity, though it remains unarchived and the package supports current Python versions (3.6 through 3.11).
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions; no commercial or proprietary concerns.
Quickstart
pip install jsonrpcclient
from jsonrpcclient import request, parse
req = request("ping")
parsed = parse({"jsonrpc": "2.0", "result": "pong", "id": 1})
Verify before relying
- Whether the package is actively maintained or in maintenance-only mode despite the aging status
- Performance characteristics or limits when handling large batches of requests or responses
- Compatibility with JSON-RPC 2.0 specification edge cases or extensions
Package facts
| License | The MIT License (MIT) Copyright (c) 2015 Beau Barker (beau at explodinglabs.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated… (full text in the JSON record) (unclear) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 1,268 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 139,062/month — #11,310 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: jsonrpcclient-4.0.3-py3-none-any.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
ajsonrpcImplements the JSON-RPC 2.0 protocol with an…
permissive · top 5,000 on PyPI
kanboardA Python client library that wraps the Kanboard…
permissive · top 15,000 on PyPI
python-bitcoinrpcProvides a JSON-RPC client library for…
copyleft · top 15,000 on PyPI
transmission-rpcPython wrapper around the Transmission…
permissive · top 15,000 on PyPI
json-rpcImplements JSON-RPC 2.0 and 1.0 protocol…
permissive · top 5,000 on PyPI
pykodiPyKodi provides an async Python interface to…
permissive · top 15,000 on PyPI
python-lsp-jsonrpcImplements a JSON RPC 2.0 server for Python…
permissive · top 5,000 on PyPI
OdooRPCOdooRPC is a Python client library that…
copyleft · top 15,000 on PyPI
github-copilot-sdkPython SDK for programmatic control of GitHub…
permissive · top 5,000 on PyPI
connect-pythonProvides Python client and server libraries for…
permissive · top 5,000 on PyPI