Package: wnpp Severity: wishlist * Package name : ponyorm Version : 0.7.9 Upstream Author : Alexander Kozlovsky, Alexey Malashkevich <t...@ponyorm.com> * URL : https://ponyorm.org/ * License : Apache 2 Programming Lang: Python Description : Pony Object Relational Mapper
Pony is an advanced object-relational mapper. The most interesting feature of Pony is its ability to write queries to the database using Python generator expressions. Pony analyzes the abstract syntax tree of the generator expression and translates it into a SQL query. Here is an example query in Pony: select(p for p in Product if p.name.startswith('A') and p.cost <= 1000) Pony translates queries to SQL using a specific database dialect. Currently Pony works with SQLite, MySQL, PostgreSQL and Oracle databases. By providing a Pythonic API, Pony facilitates fast app development. Pony is an easy-to-learn and easy-to-use library. It makes your work more productive and helps to save resources. Pony achieves this ease of use through the following: * Compact entity definitions * The concise query language * Ability to work with Pony interactively in a Python interpreter * Comprehensive error messages, showing the exact part where an error occurred in the query * Displaying of the generated SQL in a readable format with indentation All this helps the developer to focus on implementing the business logic of an application, instead of struggling with a mapper trying to understand how to get the data from the database. ---- PonyORM is a dependency of supysonic (#926457), but could also be useful for other Python packages. There are of course many other ORM engines written in Python in the Debian archive, but I do not believe any provides a compatibility layer that supysonic could use. I do not plan on maintaining this and would love if the DPMT could handle this one.