pyramid_basemodel - a thin, low level SQLAlchemy bindings to pyramid
Project description
pyramid_basemodel
pyramid_basemodel is a thin, low level package that provides an SQLAlchemy declarative Base and a thread local scoped Session that can be used by different packages whilst only needing to be bound to a db engine once.
Usage
You can use these as base classes for declarative model definitions, e.g.:
from pyramid_basemodel import Base, BaseMixin, Session, save
class MyModel(Base, BaseMixin):
"""Example model class."""
@classmethod
def do_foo(cls):
instance = Session.query(cls).first()
save(instance)
You can then bind these to the sqlalchemy.url in your paster .ini config by importing your model and this package, e.g.:
# for example in yourapp.__init__.py
import mymodel
def main(global_config, **settings):
config = Configurator(settings=settings)
config.include('pyramid_basemodel')
config.include('pyramid_tm')
return config.make_wsgi_app()
Or if this is all too much voodoo, you can just use the bind_engine function:
.. code-block:: python
from pyramid_basemodel import bind_engine from mypackage import mymodel
# assuming engine is a bound SQLAlchemy engine. bind_engine(engine)
Note that the Session is designed to be used in tandem with [pyramid_tm][]. If you don’t include pyramid_tm, you’ll need to take care of committing transactions yourself.
Tests
To run the tests use:
py.test -v --cov pyramid_basemodel tests/
[pyramid_basemodel]: http://github.com/fizyk/pyramid_basemodel [pyramid_simpleauth]: http://github.com/thruflo/pyramid_simpleauth [pyramid_tm]: http://pyramid_tm.readthedocs.org
Release
Install pipenv and –dev dependencies first, Then run:
pipenv run tbump [NEW_VERSION]
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
Hashes for pyramid_basemodel-0.5.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6dfe3cb3f31b0b602c9f03714696ce124ee51e045706742ce45a2be7b676854 |
|
MD5 | ddcc24474abaafb527f9dd1b432a43c8 |
|
BLAKE2b-256 | 6cf4052eb9e0dd2539959c58338f1fd005be9821ad1169a90e31b1ed86308a4c |