SQLAlchemy helpers for working in Tornado
Project description
Python helpers for using SQLAlchemy with Tornado.
Installation
$ pip install tornado-sqlalchemy
Usage
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+ installed.
Git clone the repository -
git clone https://github.com/siddhantgoel/tornado-sqlalchemy
Install the packages required for development -
make install-deps
That’s basically it. You should now be able to run the test suite -
py.test tests/
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for tornado_sqlalchemy-0.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 264a1cce3343bedf5a785149398e61bbecd599079af02113f1a520e8e0c00704 |
|
MD5 | be0d29648cb14a2aa0608be82b069f12 |
|
BLAKE2b-256 | 43798470acf169f1d505fd20dff2f2221ab94f6b7b73c1909dd8e62e911eb468 |