Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hfaran/Tornado-JSON
A simple JSON API framework based on Tornado
https://github.com/hfaran/Tornado-JSON
Last synced: 15 days ago
JSON representation
A simple JSON API framework based on Tornado
- Host: GitHub
- URL: https://github.com/hfaran/Tornado-JSON
- Owner: hfaran
- License: mit
- Created: 2013-12-09T07:19:52.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2019-11-11T13:38:31.000Z (about 5 years ago)
- Last Synced: 2024-10-25T02:44:12.055Z (about 2 months ago)
- Language: Python
- Homepage: http://tornado-json.readthedocs.org/
- Size: 456 KB
- Stars: 273
- Watchers: 19
- Forks: 60
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Changelog: Changes_checklist.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - hfaran/Tornado-JSON - A simple JSON API framework based on Tornado (Python)
README
# Tornado-JSON
[![Join the chat at https://gitter.im/hfaran/Tornado-JSON](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/hfaran/Tornado-JSON?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://travis-ci.org/hfaran/Tornado-JSON.png?branch=master)](https://travis-ci.org/hfaran/Tornado-JSON)
[![Coverage Status](https://coveralls.io/repos/hfaran/Tornado-JSON/badge.png)](https://coveralls.io/r/hfaran/Tornado-JSON?branch=master)
[![Documentation Status](https://readthedocs.org/projects/tornado-json/badge/?version=latest)](https://readthedocs.org/projects/tornado-json/?badge=latest)[![Latest Version](https://img.shields.io/pypi/v/Tornado-JSON.svg)](https://pypi.python.org/pypi/Tornado-JSON/)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/Tornado-JSON.svg)](https://pypi.python.org/pypi/Tornado-JSON/)
[![Development Status](https://img.shields.io/pypi/status/Tornado-JSON.svg)](https://pypi.python.org/pypi/Tornado-JSON/)
[![Download format](https://img.shields.io/pypi/format/Tornado-JSON.svg)](https://pypi.python.org/pypi/Tornado-JSON/)
[![License](https://img.shields.io/pypi/l/Tornado-JSON.svg)](https://pypi.python.org/pypi/Tornado-JSON/)## Overview
Tornado-JSON is a small extension of [Tornado](http://www.tornadoweb.org/en/stable/) 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](http://json-schema.org/) validation** by decorating RequestHandlers with `@schema.validate`
* **Automated route generation** with `routes.get_routes(package)`
* **Automated [GFM](https://help.github.com/articles/github-flavored-markdown)-formatted API documentation** using schemas and provided descriptions
* **Standardized JSON output** using the **[JSend](http://labs.omniti.com/labs/jsend)** specification## Usage
Check out the [Hello World demo](https://github.com/hfaran/Tornado-JSON/tree/master/demos/helloworld) for a quick example and the [accompanying walkthrough](http://tornado-json.readthedocs.org/en/latest/using_tornado_json.html) in the documentation. And then [**explore Tornado-JSON on readthedocs for the rest!**](http://tornado-json.readthedocs.org/en/latest/index.html#)
```python
import tornado.ioloop
from tornado_json.routes import get_routes
from tornado_json.application import Applicationimport 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
* https://github.com/hfaran/CitySportsLeague-Server
* https://github.com/hfaran/LivesPool## Installation
* For the possibly stable
```bash
pip install Tornado-JSON
```* For the latest and greatest
```bash
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](https://github.com/hfaran/Tornado-JSON/issues/new), 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
```bash
sudo pip2 install tox
sudo pip3 install tox
tox # Will run test matrix
```