Shabti is a collection of paster templates for Pylons. Shabti templates enable a variety of Pylons power-ups through using Pylons with several related Python libraries.
Shabti is just a thin layer of glue around these libraries, allowing developers to get started quickly:
Pylons – web framework
SQLAlchemy – ORM and SQL generation
PyCouchDB – Python API for Apache’s CouchDB
Elixir – declarative layer for SQLAlchemy
Paste – WSGI server and other tools
FormEncode – form validation
Toscawidgets – form widgets middleware
rdflib – Python RDF and SPARQL library
RDFAlchemy – Object-RDF Mapper layered on top of rdflib
FormAlchemy – forms generation from database introspection
Sprox – forms layer on top of Toscawidgets
Note
It is strongly recommended that developers at least familiarize themselves with the documentation of these core libraries when using Shabti project templates.
In addition to these core packages and modules Shabti makes optional use of the sqlalchemy-migrate library for handling database migrations with SQLAlchemy.
Shabti is a re-working of Tesla, which started as a simple template with glue code for Pylons and SQLAlchemy plus Elixir so that developers could get started quickly with these libraries. Some additional paster command line tools were added for common handlng database management tasks, inspired by similar tools available to developers working with Rails and Django.
Shabti extends the notion beyond ORM support for relational store into support for
The AuthKit library was initially widely used by Pylons developers for handling authentication and authorization work. In consequence, an additional Shabti template, shabti_auth, implemented AuthKit integration and provided a set of very basic classes for User, Group and Permission entities. However, the previous author decided to remove the AuthKit dependency due to various design and documentation issues with that library.