skip to navigation
skip to content

Flask-JSONRPC 0.3

Adds JSONRPC support to Flask.

Package Documentation

A basic JSON-RPC implementation for your Flask-powered sites based on django-json-rpc.

Some reasons you might want to use:

  • Simple, powerful, flexible and pythonic API.
  • Support python 2.7, 3.3 or later
  • The Web browseable API.
  • Support for authentication.
  • Proxy to test your JSON Service.
  • Run-time type checking.
  • Extensive documentation, and great community support.

For support python 2.6.5+ or earlier use the branch py2k.

There is a live example API for testing purposes, available here.

Below: Screenshot from the browsable API

Adding Flask JSON-RPC to your application

  1. Installation
$ pip install Flask-JSONRPC


$ git clone git://
$ cd flask-jsonrpc
$ python install
  1. Getting Started

Create your application and initialize the Flask-JSONRPC.

from flask import Flask
from flask_jsonrpc import JSONRPC

app = Flask(__name__)
jsonrpc = JSONRPC(app, '/api')

Write JSON-RPC methods.

def index():
    return u'Welcome to Flask JSON-RPC'

All code of Example

  1. Running
$ python
 * Running on
  1. Testing
$ curl -i -X POST \
   -H "Content-Type: application/json; indent=4" \
   -d '{
    "jsonrpc": "2.0",
    "method": "App.index",
    "params": {},
    "id": "1"
}' http://localhost:5000/api
HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 77
Server: Werkzeug/0.8.3 Python/2.7.3
Date: Fri, 14 Dec 2012 19:26:56 GMT

  "jsonrpc": "2.0",
  "id": "1",
  "result": "Welcome to Flask JSON-RPC"

Testing your service

You can test your service using the provided web browsable API, available at http://localhost:5000/api/browse (if using the url patterns from above) or with the included ServiceProxy:

>>> from flask_jsonrpc.proxy import ServiceProxy
>>> server = ServiceProxy('http://localhost:5000/api')
>>> server.App.index()
{'jsonrpc': '2.0', 'id': '91bce374-462f-11e2-af55-f0bf97588c3b', 'result': 'Welcome to Flask JSON-RPC'}

We add the jsonrpc_version variable to the request object. It be either ‘1.0’, ‘1.1’ or ‘2.0’. Arg.

For more tests see Examples.


Project Information

Author:Cenobit Technologies, Inc.
Version:v0.3 of 2015/08/10
License:New BSD License
File Type Py Version Uploaded on Size
Flask-JSONRPC-0.3.tar.gz (md5) Source 2015-08-10 663KB
  • Downloads (All Versions):
  • 25 downloads in the last day
  • 165 downloads in the last week
  • 691 downloads in the last month