Clever Harold Installation Instructions
---------------------------------------

Prerequisites
=============
Before you install Clever Harold, make sure you've got the basics
covered.  You'll need these bits installed and configured on your system:

- `Python 2.4.3`_ or newer; older versions of Python are not
  supported
- `Setuptools`_ 0.6c1 or newer; older versions will not work

- Optional:  One or more Python `database drivers`_


Suggested Installation Method
=============================

With the prerequisites satisfied, run this command in a terminal::

    $ easy_install CleverHarold -U

That's all there is to it!  If the installation is successful, you'll
have the Clever Harold package and scripts you need to get started.
Happy web app coding!

Note for Mac Users
^^^^^^^^^^^^^^^^^^^

Clever Harold requires at least Python-2.4.3, and as of this writing,
OSX ships with Python-2.3.5. Be sure to download and install the
Python-2.4.3 Universal binary package from http://www.python.org, and prepend
"/usr/local/bin" or
"/Library/Frameworks/Python.framework/Versions/Current/bin" to the
PATH variable in your .bash_profile.  Example::

    export PATH=/usr/local/bin:$$PATH


Note for Windows Users
^^^^^^^^^^^^^^^^^^^^^^

Clever Harold hasn't yet been tested on Windows; please use Linux or
Mac systems until the 0.2 release.


Alternate Installation Method
=============================

You can also install Clever Harold without setuptools_.  If you do,
you'll have to install the dependencies yourself.  See the
Dependencies_ section below for details.  

To proceed, execute these commands in a terminal::

    $ wget http://www.cleverharold.org/release/CleverHarold-0.1.tar.gz
    $ tar xfz CleverHarold-0.1.tar.gz
    $ cd CleverHarold
    $ python setup.py install


Dependencies
============
Required:

- `Cheetah Templates`_
- `Flup`_
- `Kid Templates`_
- `Paste`_
- `Paste Deploy`_
- `Paste Script`_
- `simplejson`_
- `static`_

Optional:

- `Docutils`_
- `Markdown`_
- `SQLAlchemy`_
- `SQLObject`_


Database Drivers
----------------

If you plan on using the database middleware in Clever Harold, you'll
need at least one Python database package.  Here are a few known to
work with Clever Harold:

- pysqlite_
- psycopg2_
- `MySQL for Python`_

For an extensive list of available database modules, see the `Python
Database Modules`_ page.


.. _Python 2.4.3: http://www.python.org/download/releases/2.4.3/
.. _Setuptools:  http://cheeseshop.python.org/pypi/setuptools
.. _Cheetah Templates: http://cheeseshop.python.org/pypi/Cheetah
.. _Flup: http://cheeseshop.python.org/pypi/flup
.. _Kid Templates: http://cheeseshop.python.org/pypi/kid
.. _Paste: http://cheeseshop.python.org/pypi/Paste
.. _Paste Deploy: http://cheeseshop.python.org/pypi/PasteDeploy
.. _Paste Script: http://cheeseshop.python.org/pypi/PasteScript
.. _simplejson:  http://cheeseshop.python.org/pypi/simplejson
.. _static:  http://cheeseshop.python.org/pypi/static
.. _docutils: http://cheeseshop.python.org/pypi/docutils
.. _markdown: http://www.freewisdom.org/projects/python-markdown/
.. _SQLAlchemy:  http://cheeseshop.python.org/pypi/SQLAlchemy
.. _SQLObject:  http://cheeseshop.python.org/pypi/SQLObject

.. _pysqlite: http://initd.org/tracker/pysqlite
.. _psycopg2: http://initd.org/projects/psycopg2
.. _MySQL for Python:  http://sourceforge.net/projects/mysql-python
.. _Python Database Modules: http://www.python.org/topics/database/modules.html
