Bug#940876: ITP: storm -- object-relational mapper (ORM) for Python
Package: wnpp
Severity: wishlist
Owner: Colin Watson <cjwatson@debian.org>
* Package name : storm
Version : 0.21
Upstream Author : Gustavo Niemeyer <gustavo@niemeyer.net>
* URL : https://storm.canonical.com/
* License : LGPL-2.1+
Programming Lang: Python
Description : object-relational mapper (ORM) for Python
Storm is an object-relational mapper (ORM) for the Python language. In
simple terms, that kind of system allows rows from a relational
database to be seen as objects in an object-oriented language like
Python.
Features:
* Clean and lightweight API offers a short learning curve and
long-term maintainability.
* Storm is developed in a test-driven manner. An untested line of
code is considered a bug.
* Storm needs no special class constructors, nor imperative base
classes.
* Storm is well designed (different classes have very clear
boundaries, with small and clean public APIs).
* Designed from day one to work both with thin relational databases,
such as SQLite, and big iron systems like PostgreSQL and MySQL.
* Storm is easy to debug, since its code is written with a KISS
principle, and thus is easy to understand.
* Designed from day one to work both at the low end, with trivial
small databases, and the high end, with applications accessing
billion row tables and committing to multiple database backends.
* It's very easy to write and support backends for Storm (current
backends have around 100 lines of code).
This package was previously in Debian, but was removed due to being
orphaned and having no Python 3 port, as well as needing several new
dependencies that were unpackaged. I recently completed a Python 3 port
upstream and have also packaged all the new dependencies, and so I'd
like to reintroduce this package and maintain it under the Debian Python
Modules Team again.
Storm is similar in principle to other ORMs such as SQLAlchemy, but it
has a very different and much more lightweight design, and personally I
find it much easier to use and understand. We use it in a couple of
major applications at work (such as Launchpad, which is my main day
job), and I've heard of some other users too.
--
Colin Watson [cjwatson@debian.org]
Reply to: