# json-rpc

> Python library

**Wikidata**: [Q107384376](https://www.wikidata.org/wiki/Q107384376)  
**Source**: https://4ort.xyz/entity/json-rpc

## Summary
JSON-RPC is a Python library that implements the JSON-RPC protocol, enabling remote procedure call (RPC) communication between software systems. It is released under the MIT License and distributed as free software, allowing users to run, modify, and share the code freely. The library simplifies the development of interoperable APIs and networked applications.

## Key Facts
- **License**: Released under the MIT License (Expat license), as stated on GitHub.
- **Latest Version**: Version 1.10.1 was released on June 29, 2015.
- **Repository**: Hosted on GitHub at [https://github.com/pavlov99/json-rpc](https://github.com/pavlov99/json-rpc).
- **PyPI Project**: Available as the "json-rpc" package on the Python Package Index (PyPI).
- **Differentiation**: Distinct from the "jsonrpclib-pelix" library, which serves a similar purpose but is a separate project.
- **Documentation**: Official documentation available at [https://json-rpc.readthedocs.io](https://json-rpc.readthedocs.io).
- **OS Packages**: Included in openSUSE ("python-json-rpc") and Arch Linux ("python-json-rpc") repositories.

## FAQs
### Q: What license is JSON-RPC released under?
A: JSON-RPC is licensed under the MIT License (Expat license), permitting free use, modification, and distribution.

### Q: How does JSON-RPC differ from jsonrpclib-pelix?
A: JSON-RPC is a distinct Python implementation of the JSON-RPC protocol and should not be confused with the jsonrpclib-pelix library, which is a separate project with different code and maintenance.

### Q: Where can I find the latest version of JSON-RPC?
A: The latest version (1.10.1) and historical releases are available on GitHub at [https://github.com/pavlov99/json-rpc/releases](https://github.com/pavlov99/json-rpc/releases).

## Why It Matters
JSON-RPC plays a critical role in enabling interoperable communication between software systems using the JSON-RPC protocol, a lightweight and widely adopted standard for remote procedure calls. As a Python library, it streamlines the development of networked applications and APIs, ensuring compatibility with diverse systems. Its MIT License and free software status promote transparency, collaboration, and integration into both proprietary and open-source projects. By abstracting the complexities of JSON-RPC implementation, the library reduces development overhead and fosters consistency in communication protocols across industries.

## Notable For
- **MIT License**: Permissive licensing encourages adoption in commercial and open-source projects.
- **Python Compatibility**: Designed for Python environments, aligning with one of the most popular programming languages.
- **Active Maintenance**: Regular version updates (e.g., 1.7.0 to 1.10.1 between 2014–2015) reflect ongoing improvements and bug fixes.
- **Cross-Platform Distribution**: Included in major Linux distributions (openSUSE, Arch Linux) and accessible via PyPI.

## Body

### Overview
JSON-RPC is a Python package that provides an implementation of the JSON-RPC protocol, a specification for remote procedure call (RPC) communication using JSON data formats. It facilitates interaction between software components over networks, enabling developers to build scalable and interoperable systems.

### Licensing
- **Type**: MIT License (Expat license).
- **Terms**: Grants permissions for free use, modification, and distribution, with no restrictions on commercial applications.
- **Source**: Licensing details are documented on the GitHub repository.

### Version History
Key releases include:
- **1.7.0**: Released on September 4, 2014.
- **1.8.0**: Released on October 16, 2014.
- **1.9.0**: Released on March 24, 2015.
- **1.10.1**: Latest version released on June 29, 2015.

### Online Presence
- **Documentation**: Hosted on Read the Docs at [https://json-rpc.readthedocs.io](https://json-rpc.readthedocs.io) (English).
- **Source Code**: Developed on GitHub at [https://github.com/pavlov99/json-rpc](https://github.com/pavlov99/json-rpc).

### Distribution
- **PyPI**: Installable via the Python Package Index under the name "json-rpc".
- **Linux Packages**: Available in openSUSE ("python-json-rpc") and Arch Linux ("python-json-rpc") repositories.

### Differentiation
JSON-RPC is explicitly distinguished from the "jsonrpclib-pelix" library, another Python implementation of the JSON-RPC protocol. Developers should select the appropriate library based on specific project requirements and compatibility needs.

## References

1. [Source](https://api.github.com/repos/pavlov99/json-rpc)
2. [Release 1.7.0. 2014](https://github.com/pavlov99/json-rpc/releases/tag/1.7.0)
3. [Release 1.8.0. 2014](https://github.com/pavlov99/json-rpc/releases/tag/1.8.0)
4. [Release 1.8.1. 2014](https://github.com/pavlov99/json-rpc/releases/tag/1.8.1)
5. [Release 1.8.2. 2015](https://github.com/pavlov99/json-rpc/releases/tag/1.8.2)
6. [Release 1.8.3. 2015](https://github.com/pavlov99/json-rpc/releases/tag/1.8.3)
7. [Release 1.8.4. 2015](https://github.com/pavlov99/json-rpc/releases/tag/1.8.4)
8. [Release 1.9.0. 2015](https://github.com/pavlov99/json-rpc/releases/tag/1.9.0)
9. [Release 1.9.1. 2015](https://github.com/pavlov99/json-rpc/releases/tag/1.9.1)
10. [Release 1.9.2. 2015](https://github.com/pavlov99/json-rpc/releases/tag/1.9.2)
11. [Release 1.10.1. 2015](https://github.com/pavlov99/json-rpc/releases/tag/1.10.1)
12. [Release 1.10.2. 2015](https://github.com/pavlov99/json-rpc/releases/tag/1.10.2)
13. [Release 1.10.3. 2016](https://github.com/pavlov99/json-rpc/releases/tag/1.10.3)
14. [Release 1.10.4. 2017](https://github.com/pavlov99/json-rpc/releases/tag/1.10.4)
15. [Release 1.10.5. 2017](https://github.com/pavlov99/json-rpc/releases/tag/1.10.5)
16. [Release 1.10.6. 2017](https://github.com/pavlov99/json-rpc/releases/tag/1.10.6)
17. [Release 1.10.7. 2017](https://github.com/pavlov99/json-rpc/releases/tag/1.10.7)
18. [Release 1.10.8. 2017](https://github.com/pavlov99/json-rpc/releases/tag/1.10.8)
19. [Release 1.11.0. 2018](https://github.com/pavlov99/json-rpc/releases/tag/1.11.0)
20. [Release 1.11.1. 2018](https://github.com/pavlov99/json-rpc/releases/tag/1.11.1)
21. [Release 1.12.1. 2019](https://github.com/pavlov99/json-rpc/releases/tag/1.12.1)
22. [Release 1.12.2. 2019](https://github.com/pavlov99/json-rpc/releases/tag/1.12.2)
23. [Release 1.13.0. 2020](https://github.com/pavlov99/json-rpc/releases/tag/1.13.0)