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

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: