Previous topic

Satchmo Features

Next topic

Directory Structure

Documentation Version:


Satchmo is based on the Django framework, therefore you do need a fully functioning Django instance to use Satchmo. The Django installation guide will step you through the process.

You must use Django 1.2.3 or greater in order to use the latest CSRF features. Series 1.3.x is currently recommended.

Satchmo requires Python 2.4 or later and a database supported by Django.

There is always a challenge in deciding how many dependencies to include in a project. With Satchmo, we strongly believe in avoiding “Not Invented Here” syndrome and using the power of the rich set of python tools available on the web to make Satchmo as flexible and powerful as possible.

There are a number of other Python packages that are required for usage of all the features in Satchmo.

  • Satchmo’s thumbnail capability is very robust and utilizes the following packages:

  • In order to securely store sensitive information, you will need:

  • Satchmo creates PDF output for shipping and invoicing using:

  • In order to manage hierarchical data and use XML in shipping and payment modules, we use:

There are also a number of other Django packages (mentioned below) that you will need to install.

  • Satchmo uses django-threaded-multihost internally for quick access to thread local variables (the current request, current user, etc.). Satchmo also uses this app for an optimization when running mutliple sites and store configurations with a single settings file (see Basic Configuration for more details):

  • For flexibility in defining template plugin points:

  • For admin-configurable settings:

    New in version 0.9.1.

  • For advanced caching settings:

    New in version 0.9.1.

  • For reusable, consistent signals:

  • For the account registration process, you will need:


    You must use our Django registration 0.7.1 with Satchmo. When 0.8 comes out, we will migrate to the original new version.

A valid Django cache backend (file, memcached or DB) is required for the config settings.

  • The following package is required to load the initial data and run the unit tests:

  • Docutils is used for auto generating the admin documentation but is not required:

  • Sphinx is useful for auto generating the user documentation but is not required:

  • If you wish to enable Akismet for spam prevention on product ratings, you will need to install:

  • Satchmo uses South for migrating database schema changes. It is not required to run the store but is very useful for migrating versions.

    New in version 0.9.1.

  • If you are using a version of python less than 2.6, you will have to install the backport of the new SSL module to support accessing SSL 2.0 sites often used by payment processors:

Detailed steps for installing these dependencies is included in the Installation section.