Metadata-Version: 2.1
Name: tornado-jsonapi
Version: 0.1.4
Summary: Framework providing REST JSON API to Tornado web server
Home-page: http://github.com/lockie/tornado_jsonapi
Author: Andrew Kravchuk
Author-email: awkravchuk@gmail.com
License: MIT License
Description: Tornado_jsonapi
        ---------------
        
        |Build Status| |Coverage Status| |Requirements Status| |PyPi version| |Documentation Status| |GitHub License|
        
        Tornado_jsonapi is a Python 3.3+ library for creating JSON API (as per
        `jsonapi.org <http://jsonapi.org/>`_ specification) using
        `Tornado <http://tornadoweb.org>`_ web framework. It features
        
        - semi-automatic API generation using provided
          `JSON schema <http://json-schema.org>`_ of resource;
        - support for arbitrary data sources, including SQLAlchemy and PostgreSQL (via
          DBAPI2 support layer);
        - support for asynchronous data source operations;
        - strict `jsonapi.org <http://jsonapi.org/>`_ specification conformance.
        
        Usage
        -----
        
        .. code-block:: python
        
            import sqlite3
            import tornado.ioloop
            import tornado.web
            import tornado_jsonapi.handlers
            import tornado_jsonapi.resource
        
            schema = {
                "title": "post",
                "properties": {
                    "text":
                    {
                        "type": "string"
                    },
                    "author":
                    {
                        "type": "string"
                    }
                }
            }
        
            res = tornado_jsonapi.resource.DBAPI2Resource(
                schema, sqlite3, sqlite3.connect(':memory:'))
            res._create_table()
        
            application = tornado.web.Application([
                (
                    r"/api/posts/([^/]*)",
                    tornado_jsonapi.handlers.APIHandler,
                    dict(resource=res)
                )
            ])
            application.listen(8888)
            tornado.ioloop.IOLoop.current().start()
        
        
        
        Installation
        ------------
        
        .. code-block:: bash
        
            $ pip install tornado_jsonapi
        
        
        Documentation
        -------------
        
        https://tornado_jsonapi.readthedocs.org
        
        
        Roadmap
        -------
        
        a.k.a. TODO
        
        - improve documentation :pensive:
        - automatic API doc generation based on JSON schema;
        - MongoDB/Motor support;
        - support for API testing.
        
        License
        -------
        This project is licensed under the MIT License.
        
        .. |Build Status| image:: https://img.shields.io/travis/lockie/tornado_jsonapi/master.svg?style=flat
             :target: https://travis-ci.org/lockie/tornado_jsonapi
        .. |Coverage Status| image:: https://img.shields.io/codecov/c/github/lockie/tornado_jsonapi/master.svg?style=flat
             :target: https://codecov.io/github/lockie/tornado_jsonapi
        .. |Requirements Status| image:: https://requires.io/github/lockie/tornado_jsonapi/requirements.svg?branch=master&style=flat
             :target: https://requires.io/github/lockie/tornado_jsonapi/requirements/?branch=master
        .. |PyPi version| image:: https://img.shields.io/pypi/v/tornado_jsonapi.svg?style=flat
             :target: https://pypi.python.org/pypi/tornado_jsonapi
        .. |Documentation Status| image:: https://readthedocs.org/projects/tornado-jsonapi/badge/?version=stable
             :target: http://tornado-jsonapi.readthedocs.org/en/stable/?badge=stable
        .. |GitHub License| image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat
             :target: https://raw.githubusercontent.com/lockie/tornado_jsonapi/master/LICENSE
        
        Changelog
        ---------
        
        0.1.4 (2020-01-24)
        ------------------
        
        * Added support for column blacklisting and pagination, thanks to Zachary Gorak.
        
        
        0.1.3 (2016-04-07)
        ------------------
        
        * Fixed incompatibility with latest python-jsonschema-objects
        * Updated obsolete requirements
        * Adjusted supported Python versions
        
        
        0.1.2 (2016-04-07)
        ------------------
        
        * Fixed dependencies issue preventing installation in environment with LANG=C
        
        
        0.1.0 (2016-03-21)
        ------------------
        
        * First release.
        
Keywords: tornado JSON API REST SQLAlchemy DBAPI
Platform: any
Classifier: Programming Language :: Python
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Provides-Extra: sqlalchemy
Provides-Extra: dbapi2
