Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

84 lines (54 sloc) 3.362 kb

Tornado-JSON

Build Status Coverage Status Documentation Status Stories in Ready

Latest Version Downloads Supported Python versions Development Status Download format License

Overview

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

Usage

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={})
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()

Installation

  • 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
sudo python setup.py install

Contributing

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!

License

This project is licensed under the MIT License.

Running Tests

sudo pip2 install tox
sudo pip3 install tox
sudo tox  # Will run test matrix
Jump to Line
Something went wrong with that request. Please try again.