Metadata-Version: 1.2
Name: tornado_sqlalchemy
Version: 0.5.0
Summary: SQLAlchemy helpers for working in Tornado
Home-page: https://github.com/siddhantgoel/tornado-sqlalchemy
Author: Siddhant Goel
Author-email: me@sgoel.org
License: MIT
Description: tornado-sqlalchemy
        ==================
        
        .. image:: https://badge.fury.io/py/tornado-sqlalchemy.svg
            :target: https://pypi.python.org/pypi/tornado-sqlalchemy
        
        .. image:: https://travis-ci.org/siddhantgoel/tornado-sqlalchemy.svg?branch=stable
            :target: https://travis-ci.org/siddhantgoel/tornado-sqlalchemy
        
        .. image:: https://readthedocs.org/projects/tornado-sqlalchemy/badge/?version=latest
            :target: https://tornado-sqlalchemy.readthedocs.io/en/latest/
        
        
        Python helpers for using SQLAlchemy_ with Tornado_.
        
        Installation
        ------------
        
        .. code-block:: bash
        
            $ pip install tornado-sqlalchemy
        
        Usage
        -----
        
        .. code-block:: python
        
            from tornado.gen import coroutine
            from tornado.web import Application, RequestHandler
            from tornado_sqlalchemy import as_future, make_session_factory, SessionMixin
        
            class NativeCoroutinesRequestHandler(SessionMixin, RequestHandler):
                async def get(self):
                    with self.make_session() as session:
                        count = await as_future(session.query(UserModel).count)
        
                    self.write('{} users so far!'.format(count))
        
            class GenCoroutinesRequestHandler(SessionMixin, RequestHandler):
                @coroutine
                def get(self):
                    with self.make_session() as session:
                        count = yield as_future(session.query(UserModel).count)
        
                    self.write('{} users so far!'.format(count))
        
            class SynchronousRequestHandler(SessionMixin, RequestHandler):
                def get(self):
                    with self.make_session() as session:
                        count = session.query(UserModel).count()
        
                    self.write('{} users so far!'.format(count))
        
            handlers = (
               (r'/native-coroutines', NativeCoroutinesRequestHandler),
               (r'/gen-coroutines', GenCoroutinesRequestHandler),
               (r'/sync', SynchronousRequestHandler),
            )
        
            app = Application(
               handlers,
               session_factory=make_session_factory('postgres://user:password@host/database')
            )
        
        Documentation
        -------------
        
        Documentation is available at `Read The Docs`_.
        
        
        Development
        -----------
        
        To work on this package, please make sure you have Python 3.5+ and pipenv_
        installed.
        
        1. Git clone the repository -
           :code:`git clone https://github.com/siddhantgoel/tornado-sqlalchemy`
        
        2. Install the packages required for development -
           :code:`pipenv install --dev`
        
        3. That's basically it. You should now be able to run the test suite -
           :code:`py.test tests/`.
        
        .. _pipenv: https://docs.pipenv.org/install/#installing-pipenv
        .. _Read The Docs: https://tornado-sqlalchemy.readthedocs.io
        .. _SQLAlchemy: http://www.sqlalchemy.org/
        .. _tornado: http://tornadoweb.org
        
Keywords: tornado,sqlalchemy
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Database
Requires-Python: >=3.5.0
