| 4 | | A declarative layer on top of SQLAlchemy, which is intended to replace the |
| 5 | | ActiveMapper SQLAlchemy extension, and the TurboEntity project. Elixir is a |
| 6 | | fairly thin wrapper around SQLAlchemy, which provides the ability to define |
| 7 | | model objects following the Active Record design pattern, and using a |
| 8 | | syntax familiar to users of other Object Relational Mappers, like SQLObject. |
| | 4 | A declarative layer on top of the `SQLAlchemy library |
| | 5 | <http://www.sqlalchemy.org/>`_. It is a fairly thin wrapper, which provides |
| | 6 | the ability to create simple Python classes that map directly to relational |
| | 7 | database tables (this pattern is often referred to as the Active Record design |
| | 8 | pattern), providing many of the benefits of traditional databases |
| | 9 | without losing the convenience of Python objects. |
| 10 | | Elixir does not intend to replace SQLAlchemy's core features, but instead |
| 11 | | focuses on providing a simpler syntax for defining model objects when you do |
| 12 | | not need the full expressiveness of SQLAlchemy's manual mapper definitions. |
| 13 | | |
| 14 | | For an example of how to use Elixir, please refer to the examples directory |
| 15 | | and the unit tests. The examples directory includes a TurboGears application |
| 16 | | with full identity support called 'videostore'. |
| | 11 | Elixir is intended to replace the ActiveMapper SQLAlchemy extension, and the |
| | 12 | TurboEntity project but does not intend to replace SQLAlchemy's core features, |
| | 13 | and instead focuses on providing a simpler syntax for defining model objects |
| | 14 | when you do not need the full expressiveness of SQLAlchemy's manual mapper |
| | 15 | definitions. |