[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#926459: RFP: ponyorm -- Pony Object Relational Mapper



Package: wnpp
Severity: wishlist

* Package name    : ponyorm
  Version         : 0.7.9
  Upstream Author : Alexander Kozlovsky, Alexey Malashkevich <team@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.


Reply to: