Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Simple JSON-RPC service without transport layer

Project Description



Simple JSON-RPC service without transport layer

This library is intended as an auxiliary library for easy an implementation of JSON-RPC services with Unix/TCP socket like transport protocols that do not have complex special requirements. You need to utilize some suitable transport protocol with this library to actually provide a working JSON-RPC service.


  • Easy to use, small size, well tested.
  • Supports JSON-RPC v2.0. Compatible with v1.x style calls with the exception of v1.0 class-hinting.
  • Optional argument type validation that significantly eases development of jsonrpc method_data.


Example usage:

import jsonrpcbase

chat_service = jsonrpcbase.JSONRPCService()

def login(username, password, timelimit=0):
    return True

def receive_message(**kwargs):
    return chat_message

def send_message(msg):

if __name__ == '__main__':

    # Adds the method login to the service as a 'login'.
    chat_service.add(login, types=[basestring, basestring, int])

    # Adds the method receive_message to the service as a 'recv_msg'.
    chat_service.add(receive_message, name='recv_msg', types={"msg": basestring, "id": int})

    # Adds the method send_message as a 'send_msg' to the service.
    chat_service.add(send_message, 'send_msg')


    # Receive a JSON-RPC call.
    jsonmsg = my_socket.recv()

    # Process the JSON-RPC call.
    result =

    # Send back results.

Questions & Comments

Please visit:

Current Status

Seems stable, but hasn’t been widely used to my knowledge.

The development version is installable with easy_install JSONRPCBase==dev.


This project was originally developed by:

Juhani Åhman


0.2.0 released 2016-11-30

  • add Python 3 support (3.4 and 3.5)
  • set up continuous integration testing on CircleCI and AppVeyor
  • test coverage is on CodeCov

0.1.2 released 2012-03-08

  • fixed argument validation logic when using instance methods and no arguments
Release History

Release History

This version
History Node


History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
JSONRPCBase-0.2.0.tar.gz (7.4 kB) Copy SHA256 Checksum SHA256 Source Nov 30, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting