Skip to main content

A sprockets mixin that automatically connects to PostgreSQL

Project description

Handler mixins that automatically connect a PostgreSQL client session upon initialization.

Version Downloads Status Coverage License

Installation

sprockets.mixins.postgresql is available on the Python Package Index and can be installed via pip or easy_install:

pip install sprockets.mixins.postgresql

Example

The following example demonstrates using the HandlerMixin with a synchronous Tornado RequestHandler <tornado.web.RequestHandler> for a database named postgres:

import os

from sprockets.mixins import postgresql
from tornado import web

os.environ['POSTGRES_HOST'] = 'localhost'
os.environ['POSTGRES_USER'] = 'postgres'
os.environ['POSTGRES_PORT'] = 5432
os.environ['POSTGRES_DBNAME'] = 'postgres'

class PostgresRequestHandler(postgresql.HandlerMixin,
                             web.RequestHandler):

    DBNAME = 'postgres'

    def get(self, *args, **kwargs):
        result = self.foo_session.query('SELECT * FROM bar')
        self.finish({'data': result.items()})

The second example demonstrates using the AsyncHandlerMixin with an asynchronous Tornado RequestHandler for a database named foo:

import os

from sprockets.mixins import postgresql
from tornado import web

os.environ['FOO_HOST'] = 'localhost'
os.environ['FOO_USER'] = 'postgres'
os.environ['FOO_PORT'] = 5432
os.environ['FOO_DBNAME'] = 'foo'
os.environ['FOO_PASSWORD'] = 'bar'

class FooRequestHandler(postgresql.AsyncHandlerMixin,
                        web.RequestHandler):

    DBNAME = 'foo'

    @web.asynchronous
    def get(self, *args, **kwargs):
        result = yield self.foo_session.query('SELECT * FROM baz')
        self.finish({'data': result.items()})
        result.free()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
sprockets.mixins.postgresql-1.0.1.tar.gz (8.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page