Adds JSONRPC support to Flask.
Project description
[](https://travis-ci.org/cenobites/flask-jsonrpc)
[](https://coveralls.io/github/cenobites/flask-jsonrpc?branch=master)
[](https://flask-jsonrpc.readthedocs.io/en/latest/?badge=latest)
# 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](https://www.jsonrpc.org/specification "JSON-RPC 2.0") version.
* Support python 3.6 or later.
* The web browsable API.
* Run-time type checking functions defined with [PEP 484](https://www.python.org/dev/peps/pep-0484/ "PEP 484") argument (and return) type annotations.
* Extensive documentation, and great community support.
There is a live example API for testing purposes, [available here](http://flask-jsonrpc.herokuapp.com/api/browse "Web browsable API").
**Below:** *Screenshot from the browsable API*

### Adding Flask JSON-RPC to your application
1. Installation
```console
$ pip install Flask-JSONRPC
```
or
```console
$ git clone git://github.com/cenobites/flask-jsonrpc.git
$ cd flask-jsonrpc
$ python setup.py install
```
2. Getting Started
Create your application and initialize the Flask-JSONRPC.
```python
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.
```python
@jsonrpc.method("App.index")
def index() -> str:
return "Welcome to Flask JSON-RPC"
```
All code of example [run.py](https://github.com/cenobites/flask-jsonrpc/blob/master/run.py).
3. Running
```console
$ python run.py
* Running on http://0.0.0.0:5000/
```
4. Testing
```console
$ 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
* [http://docs.python.org/](http://docs.python.org/)
* [https://flask.palletsprojects.com/](https://flask.palletsprojects.com/)
* [http://www.jsonrpc.org/](http://www.jsonrpc.org/)
Project details
Release history Release notifications | RSS feed
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-2.2.2.tar.gz
(740.8 kB
view hashes)
Built Distribution
Flask_JSONRPC-2.2.2-py3-none-any.whl
(736.4 kB
view hashes)
Close
Hashes for Flask_JSONRPC-2.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f21688a4627dc8bbd6ce7becac96d2f641ae9db72d3dc71d411e8b1f5c2adefe |
|
MD5 | cf709ea1e0f9cafd71f7e4bce6b7d44d |
|
BLAKE2b-256 | 3aec3200ac116d3078a2fe744f7d5c36c71f0ba94a0f56a9b3fc04afab4aff79 |