Skip to main content

SQLAlchemy integration for pyramid

Project description

https://travis-ci.org/wichert/pyramid_sqlalchemy.svg?branch=master

pyramid_sqlalchemy provides some basic glue to facilitate using SQLAlchemy with Pyramid.

SQLAlchemy relies on global state for a few things:

  • A MetaData instance which tracks all known SQL tables.
  • A base class for all models using the ORM.
  • A session factory.

Every application using SQLAlchemy must provides its own instance of these. This makes it hard create add-on packages that also use SQLAlchemy, since they either need to have their own SQLAlchemy state, which makes it hard to integrate them into your application, or they need to jump through multiple complex hoops to allow them share state with your application.

pyramid_sqlalchemy helps by providing a canonical location for the global SQLAlchemy state. In addition it provides a convenient way to configure SQLAlchemy in a Pyramid application.

from pyramid.config import Configurator
from pyramid_sqlalchemy import BaseObject

class MyModel(BaseObject):
    __tablename__ = 'my_model'
    ...

def main():
    config = Configurator()
    # Configure SQLAlchemy using settings from the .ini file
    config.include('pyramid_sqlalchemy')
    ...
    return config.make_wsgi_app()

Changelog

1.2 - August 30, 2014

  • Use unittest.mock when available. This removes the mock dependency on Python 3.
  • Tests no longer need to mock out pyramid_sqlalchemy.includeme; this is now handled by DatabaseTestCase and the py.test fixtures.
  • Automatically make py.test fixtures available externally. This removes the need to copy & paste them over from the documentation.
  • Fix error on pytest fixture example.
  • Setup Travis to automatically run tests on CPython 2.6, CPython 2.7, CPython 3.3, CPython 3.4 and PyPy.

1.1 - July 14, 2014

  • Add missing schema to the Pyramid-URL in the package description. This broke ReST rendering on the PyPI page.
  • Add a new enable_sql_two_phase_commit() configuration directive to enable two-phase commit.
  • Enable foreign key constraint checking for SQLite in DatabaseTestCase.
  • Use SQLAlchemy events instead of ZopeTransactionExtension to handle integration of zope.sqlalchemy and SQLAlchemy.

1.0 - July 13, 2014

  • First release.

Project details


Release history Release notifications

History Node

1.6

History Node

1.5

History Node

1.4

History Node

1.3

History Node

1.2.2

History Node

1.2.1

This version
History Node

1.2

History Node

1.1

History Node

1.0

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
pyramid_sqlalchemy-1.2.tar.gz (15.4 kB) Copy SHA256 hash SHA256 Source None Aug 30, 2014

Supported by

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