Requirements ============ 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. 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: - `Python Imaging Library`_ - Sorl Thumbnails .. warning:: You must use Sorl Thumbnails version 3.2.5 with Satchmo. - In order to securely store sensitive information, you will need: - `Python cryptography toolkit`_ (`Windows binary`_) - Satchmo creates PDF output for shipping and invoicing using: - `ReportLab`_ - Tiny RML2PDF (`download link`_) - In order to manage hierarchical data and use XML in shipping and payment modules, we use: - `Elementtree`_ (included in Python 2.5+) 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 :doc:`configuration` for more details): - `Django Threaded Multihost`_ - For flexibility in defining template plugin points: - `Django App Plugins`_ - For admin-configurable settings: - `Django Livesettings`_ .. versionadded:: 0.9.1 - For advanced caching settings: - `Django Keyedcache`_ .. versionadded:: 0.9.1 - For reusable, consistent signals: - `Signals Ahoy`_ - For the account registration process, you will need: - `Django Registration`_ .. warning:: You must use Django registration 0.7 with Satchmo. When 0.8 comes out, we will migrate to the 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: - `PyYaml`_ - Docutils is used for auto generating the admin documentation but is not required: - `Docutils`_ - Sphinx is useful for auto generating the user documentation but is not required: - `Sphinx`_ - If you wish to enable Akismet for spam prevention on product ratings, you will need to install: - `Akismet`_ - Satchmo uses South for migrating database schema changes. It is not required to run the store but is very useful for migrating versions. - `South `_ .. versionadded:: 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: - `SSL Backport`_ Detailed steps for installing these dependencies is included in the :doc:`new_installation` section. .. _Django installation guide: http://www.djangoproject.com/documentation/install/ .. _Python Imaging Library: http://www.pythonware.com/products/pil/ .. _Elementtree: http://effbot.org/zone/element-index.htm .. _Python cryptography toolkit: http://www.amk.ca/python/code/crypto .. _Windows binary: http://www.voidspace.org.uk/python/modules.shtml#pycrypto .. _ReportLab: http://www.reportlab.com/software/opensource/rl-toolkit/download/ .. _Sphinx: http://sphinx.pocoo.org/ .. _PyYaml: http://pyyaml.org/ .. _Authorize.net: http://www.authorize.net/ .. _download link: http://www.satchmoproject.com/snapshots/trml2pdf-1.2.tar.gz .. _Django Registration: http://bitbucket.org/ubernostrum/django-registration/wiki/Home .. _snapshot: http://www.satchmoproject.com/snapshots/ .. _`Django Threaded Multihost`: http://bitbucket.org/bkroeze/django-threaded-multihost .. _`Django App Plugins`: http://bitbucket.org/bkroeze/django-caching-app-plugins/ .. _`SSL Backport`: http://pypi.python.org/pypi/ssl/ .. _`Signals Ahoy`: http://bitbucket.org/bkroeze/django-signals-ahoy/ .. _DocUtils: http://docutils.sourceforge.net/ .. _Django Livesettings: http://bitbucket.org/bkroeze/django-livesettings .. _Django Keyedcache: http://bitbucket.org/bkroeze/django-keyedcache .. _Akismet: http://www.voidspace.org.uk/python/akismet_python.html