Tornado-JSON
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()
Example Projects That Use Tornado-JSON
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
python setup.py develop
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
tox # Will run test matrix