Pony Object-Relational Mapper
Pony ORM is easy to use and powerful object-relational mapper for Python. Using Pony, developers can create and maintain database-oriented software applications faster and with less effort. One of the most interesting features of Pony is its ability to write queries to the database using generator expressions. Pony then analyzes the abstract syntax tree of a generator and translates it to its SQL equivalent.
Following is an example of a query in Pony:
select(p for p in Product if p.name.startswith('A') and p.cost <= 1000)
Such approach simplify the code and allows a programmer to concentrate on the business logic of the application.
Pony translates queries to SQL using a specific database dialect. Currently Pony works with SQLite, MySQL, PostgreSQL and Oracle databases.
The package pony.orm.examples contains several examples.
pip install pony
Pony online ER Diagram Editor is a great tool for prototyping. You can draw your ER diagram online, generate Pony entity declarations or SQL script for creating database schema based on the diagram and start working with the database in seconds.