Skip to main content

BrainFreeze is an SQLAlchemy plugin that supports object composition (as opposed to class inheritance). Google for "composition vs inheritance" to get the general idea. Another way to think of BrainFreeze is that it's a plugin for proxying properties on one-to-one related objects. BrainFreeze uses SQLAlchemy's AssociationProxy for the python properties, only BrainFreeze goes the extra step of making those properties query-able using SQLAlchemy's session.query() machinery.

Project description

Introduction

BrainFreeze is an SQLAlchemy plugin that supports object composition (as opposed to class inheritance). Google for “composition vs inheritance” to get the general idea.

Another way to think of BrainFreeze is that it’s a plugin for proxying properties on one-to-one related objects. BrainFreeze uses SQLAlchemy’s AssociationProxy for the python properties, only BrainFreeze goes the extra step of making those properties query-able using SQLAlchemy’s session.query() machinery.

Installation and Usage

Visit the BrainFreeze project home for more information.

OneToOneProxy

BrainFreeze provides an SQLAlchemy Python Property that will take all the foreign columns in a one-to-one relation and make them accessible on the mapped class.

But wait! There’s More! Also included is a SQLAlchemy MapperProperty that lets these foreign columns be query-able just as if they were normal columns on the mapped class.

Act now and you’ll receive as our special gift to you, an SQLAlchemy MapperExtension that sets this all up for you automatically.

Project details


Download files

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

Source Distribution

BrainFreeze-0.1rc2.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

BrainFreeze-0.1rc2-py2.5.egg (34.6 kB view details)

Uploaded Source

File details

Details for the file BrainFreeze-0.1rc2.tar.gz.

File metadata

File hashes

Hashes for BrainFreeze-0.1rc2.tar.gz
Algorithm Hash digest
SHA256 66ce82286c879d75615997a0c66716b1a6448477bd2636e06207a3bb42df01bb
MD5 76710c0212f4a97c5213252cf28b0d57
BLAKE2b-256 d49289f7b4d3e8849121603f8ebd2603bca59eb24652adce38389fcbc5ac4ece

See more details on using hashes here.

File details

Details for the file BrainFreeze-0.1rc2-py2.5.egg.

File metadata

File hashes

Hashes for BrainFreeze-0.1rc2-py2.5.egg
Algorithm Hash digest
SHA256 fb3139fdd654177ed2ba3e178dc102bef7bf6154236f3a15db2e3bbc75add927
MD5 5988faec5956818c1896a391b5f4c0fb
BLAKE2b-256 ce6f1b2621ee7815dcece38ef315866bdfa146881bfc59d56f01e1461c5f3ba7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page