Differences: ajsonrpc vs json-rpcΒΆ

ajsonrpc is a successor of json-rpc library. It is written by the same team of developers and aims to keep as much compatibility between two libraries as possible.

While json-rpc was written to support both JSON-RPC 1.1 and JSON-RPC 2.0 as well as a wide range of Python implementations 2.6, 2.7, 3.2+, ajsonrpc focuses on modern Python 3.5+ features and only supports JSON-RPC 2.0. Some of the new features used in ajsonrpc:

  • Async/Await syntax
  • Low level asyncio protocol implementation
  • Type Annotation

Detailed differences:

  • request/response renaimed to JSONRPCReqest and JSONRPCResponse as there is no support for previous protocol versions.
  • request/response/error classes were moved to core module.
  • Use id instead of _id
  • Drop JSONRPCBatchRequest and JSONRPCBatchResponse objects. Manager could handle batch requests without a need of special classes.
  • Manager by default accepts request and returns response coroutine instead of accepting string and returning string.