A simple JSON API framework based on Tornado
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



Join the chat at https://gitter.im/hfaran/Tornado-JSON

Build Status Coverage Status Documentation Status Stories in Ready

Latest Version Supported Python versions Development Status Download format License


Tornado-JSON is a small extension of Tornado with the intent of providing the tools necessary to get a JSON API up and running quickly.

Some of the key features the included modules provide:

  • Input and output JSON Schema validation by decorating RequestHandlers with @schema.validate
  • Automated route generation with routes.get_routes(package)
  • Automated GFM-formatted API documentation using schemas and provided descriptions
  • Standardized JSON output using the JSend specification


Check out the Hello World demo for a quick example and the accompanying walkthrough in the documentation. And then explore Tornado-JSON on readthedocs for the rest!

import tornado.ioloop
from tornado_json.routes import get_routes
from tornado_json.application import Application

import mywebapp

 # Automatically generate routes for your webapp
routes = get_routes(mywebapp)
# Create and start application
application = Application(routes=routes, settings={})

Example Projects That Use Tornado-JSON


  • For the possibly stable
pip install Tornado-JSON
  • For the latest and greatest
git clone https://github.com/hfaran/Tornado-JSON.git
cd Tornado-JSON
python setup.py develop


If there is something you would like to see improved, you would be awesome for opening an issue about it, and I'll promise my best to take a look.

Pull requests are absolutely welcome as well!


This project is licensed under the MIT License.

Running Tests

sudo pip2 install tox
sudo pip3 install tox
tox  # Will run test matrix