Other Libraries
Because Werkzeug is just a thin layer over WSGI, it’s very easy to use WSGI
middlewares together with Werkzeug-powered applications. It’s also possible
to just use small parts of Werkzeug like the URL mapper etc. with complete
different implementations or frameworks.
Here a small list of libraries you may want to try out.
Database Layers
If you want to use relational databases in your application.
- SQLAlchemy
- SQLAlchemy is a great database layer and object relational mapper that
lets you construct SQL queries using Python expressions. It also provides
connection pools and plays nicely with the WSGI standard.
- Elixir
- Elixir is a declarative layer on top of the SQLAlchemy library. It is a
fairly thin wrapper, which provides the ability to create simple Python
classes that map directly to relational database tables (this pattern is
often referred to as the Active Record design pattern), providing many of
the benefits of traditional databases without losing the convenience of
Python objects.
- Storm
- Storm is an object-relational mapper (ORM) for Python developed at
Canonical. It has been in development for more than a year for use in
Canonical projects such as Launchpad, and has been released as an
open-source product.
Template Engines
Bigger applications deserve something better than minitmpl :)
- Genshi
- If you like XML template engines, check out Genshi. Ass-kicking
template engine, but unfortunately not the fastest.
- Mako
- The fastest designer friendly template engine for Python. Similar
to ERB http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/ in terms of
syntax, but with a powerful template inheritance system and multiple
namespaces.
- Jinja
- Sandboxed, Django-/Smarty-like template engine, but with inline
expressions that let you execute a subset of Python expressions in
your templates.