Skip to main content

Adds JSONRPC support to Flask.

Project description

Build Status Coverage Status

Flask JSON-RPC

A basic JSON-RPC implementation for your Flask-powered sites.

Some reasons you might want to use:

  • Simple, powerful, flexible and pythonic API.
  • Support JSON-RPC 2.0 version.
  • Support python 3.6 or later.
  • The web browsable API.
  • Run-time type checking functions defined with PEP 484 argument (and return) type annotations.
  • Extensive documentation, and great community support.

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

Below: Screenshot from the browsable API

Web browsable API

Adding Flask JSON-RPC to your application

  1. Installation
    $ pip install Flask-JSONRPC

or

    $ git clone git://github.com/cenobites/flask-jsonrpc.git
    $ cd flask-jsonrpc
    $ python setup.py 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', enable_web_browsable_api=True)

Write JSON-RPC methods.

    @jsonrpc.method('App.index')
    def index() -> str:
        return 'Welcome to Flask JSON-RPC'

All code of example run.py.

  1. Running
    $ python run.py
     * Running on http://0.0.0.0:5000/
  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"
    }

References

Project details


Download files

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

Source Distribution

Flask-JSONRPC-1.0.0.tar.gz (690.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Flask_JSONRPC-1.0.0-py3-none-any.whl (718.7 kB view details)

Uploaded Python 3

File details

Details for the file Flask-JSONRPC-1.0.0.tar.gz.

File metadata

  • Download URL: Flask-JSONRPC-1.0.0.tar.gz
  • Upload date:
  • Size: 690.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for Flask-JSONRPC-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9eba54215dc2b183eaedc1d8fdbf0440d3fe80c7f219764cd8e218ce318662a5
MD5 e4473c99abfbd33e5f7d0dcd97e2097f
BLAKE2b-256 db208314017dcca5ce2d474aa3ebb790cfcb75a158df78ad1208049f16e36f1f

See more details on using hashes here.

File details

Details for the file Flask_JSONRPC-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: Flask_JSONRPC-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 718.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for Flask_JSONRPC-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 123fc83819f15ee502a940a3040726fdcf7e6a0555aa7ed5537c22bec2cdce55
MD5 6e69da212a657d34f76a4f8bad3db856
BLAKE2b-256 76f7085551ab569613d772b59616f526e4dab7180983ddc12870dfe274cde0c8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page