Mamba

Small and high level asynchronous web applications framework and WSGI web server

Download Mamba

Built with steroids

Introducing Mamba Framework Components

Twisted Framework

Mamba is built on top of Twisted Web and uses Twisted as WSGI web server as well. Twisted is an event-driven newtork programming framework completely written in Python and licensed under the MIT License.

Storm ORM

Mamba uses Storm as Object Relational Mapper. Storm is an object-relational mapper for Python developed at Canonical. Storm is successfully used in Canonical projects such as Launchpad and Landscape. Storm was released on July 9th, 2007 under the GNU LGPL License

Jinja2

While Twisted has its own templating system, Mamba uses Jinja2 as primary templating engine. Jinja2 is a full featured template engine for Python with full unicode support, and integrated sandboxed execution environment licensed with the BSD 3-Clause License.

Make the web asynchronous

Event driven programming using the Twisted's reactor pattern implementation

Twisted reactor pattern

Twisted implementation of the reactor pattern supports foreign event loops like GTK+, Qt and Cocoa. As Mamba is built on top of Twisted Web, all the code in Mamba is asynchronous as well, including the database access layer. You can also integrate Mamba as web layer in your already built Twisted applications because Mamba is just Twisted.

Storm Mamba Integration

Mamba uses the Storm Twisted integration that was added in version 0.19 of the library. In Mamba, database queries run asynchronous so you can expect to use the result from database operations as Twisted Deferreds. Storm is a schemaless library so Mamba monkeypatch part of the library to allow nice Mamba self features like schema generation through model classes. No configuration files are needed to use Mamba Storm, just your Python definitions.