Skip to main content

Adds JSONRPC support to Flask.

Project description

Release Status Tests Status Coverage Status Documentation Status

Flask JSON-RPC

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.8 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("application")
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-3.0.0.tar.gz (761.6 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-3.0.0-py3-none-any.whl (756.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: Flask-JSONRPC-3.0.0.tar.gz
  • Upload date:
  • Size: 761.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for Flask-JSONRPC-3.0.0.tar.gz
Algorithm Hash digest
SHA256 1055902521f29e343f556b6c44539eba5555b3d94a808e14f4627dff456349b9
MD5 6a609829449b4bf11c035a3ca91d1fea
BLAKE2b-256 c1c3d95a26c7891d36c8044d2cbe8b33a6863f41455f42839b324ed695a97586

See more details on using hashes here.

File details

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

File metadata

  • Download URL: Flask_JSONRPC-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 756.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for Flask_JSONRPC-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 957c22f9f84df72ed2e4d759fe2e14ee0b42293dc82278a171e1798fc4a6a286
MD5 869b92bc08e328d6385d6acf824c883f
BLAKE2b-256 6d7f39d75d020a583df64119b675381394a0d37c5d54a8991a8b441dd345e384

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