On 03/21/2011 04:08 PM, Jim Fulton wrote:
On Mon, Mar 21, 2011 at 10:38 AM, Martijn Faassen <faassen@startifact.com> wrote:
On 03/21/2011 03:28 PM, Jim Fulton wrote:
I don't know what the right answer is ... at least not yet. :)
In Django and sqlalchemy declarative a meta class is used for this kind of configuration. Since that is subclassing, it implies inheritance, I think.
Ick.
Of course metaclasses are not very good for this as they're surprising in other ways
Agreed.
Martian allows you to use a similar spelling to metaclasses (base classes), without the weird surprises during run-time (after configuration is already done), and without significant import-time side-effects. With megrok.rdb I actually use SQLAlchemy declarative without their declarative metaclass, as the SQLAlchemy folks were kind enough to tweak their config code so I could call it directly from a grokker. Regards, Martijn