ANN: Dejavu 1.5.0RC1

fumanchu fumanchu at amor.org
Thu Jan 25 03:02:19 EST 2007


On Jan 24, 9:39 pm, "Michele Simionato" <michele.simion... at gmail.com>
wrote:
> On Jan 24, 11:57 pm, "Robert Brewer" <fuman... at amor.org> wrote:
> > The Dejavu Object-Relational Mapper (version 1.5.0RC1) is now available
> > and in the public domain. Get it at http://projects.amor.org/dejavu,
> > or from PyPI: http://www.python.org/pypi/Dejavu/1.5.0RC1.
>
> I am curious ... how this compare to SQLAlchemy?

The comparisons could be endless ;) but here are some of the larger
differences:

 1. Dejavu uses generic "storage" concepts and syntax, while SQLAlchemy
prefers database concepts and syntax.
 2. Dejavu uses Python expressions (lambdas) to query storage, whereas
SQLAlchemy uses functions and magic attributes:
    * SQLAlchemy: users.select(and_(users.c.age < 40, users.c.name !=
'Mary'))
    * Dejavu: recall(users, lambda u: u.age < 40 and u.name != 'Mary')
 3. SQLAlchemy prefers that you write data classes, table classes and
the mappers between them. Dejavu only expects you to write a data
class. New in 1.5: you can auto-generate even the data classes if you
already have a populated database.
 4. SQLAlchemy allows you to write more complicated queries (like
subqueries and aggregate columns). Dejavu doesn't provide those yet
(slated for 1.6).


Robert Brewer
System Architect
Amor Ministries
fumanchu at amor.org




More information about the Python-list mailing list