Simple wrapper around SQLalchemy
Project description
Simple wrapper around SQLalchemy
This module hides the complexity of SQLAlchemy to provide a simple interface to store and manipulate Python objects each with a set of properties. Unlike the default behaviour of sqlalchemy’s declaritive_base, inheritance of objects will not require “join”, rather it creates a separate table. This makes it easy to use objects around from parts of not-so-related applications.
For example, a SourcePackage table is created by Grail. Then, PyPM will extend it as BinaryPackage which gets extended to RepoPackage. The table for RepoPackage will be concretely inherited, meaning - there will be just be one table without having to ‘join’ to another SourcePackage table.
At the moment, PyPM and Grail use this module. It may not be of use to others, and we may change the api/behaviour. Hence, it makes sense to keep it as an internal module.