

System Requirements
-------------------

CSB is distributed as a pure python package, which renders it cross-platform.
Installation is therefore a very trivial task. The source code is also kept
compatible across python versions, so we guarantee that every official release
package will work on both python 2 and 3 without any change. We test all nightly
builds against python versions 2.7 and 3.2, but technically CSB supports python 2.6
and all subsequent versions except probably 3.0.


Quick Installation
------------------

If your system is equipped with easy_install / pip, download the requirements.txt
file for python 2.6 or newer versions from here:

    http://csb.codeplex.com/wiki/PageInfo?title=Installation
    
and then run::

    $ pip install csb -r requirements.txt

We still recommend the standard method, which is also fairly simple.


Standard Installation
---------------------

Dependencies

CSB depends on 2 very well-known and readily available python packages:

    * numpy -- required (numpy.scipy.org)
    * scipy -- required (scipy.org)
    * matplotlib and wxPython -- optional, needed only if you want to use csb.io.plots

On python 2.6 you will need these two as well:

    * unittest2
    * argparse

both of which are standard, simple and available for download from PyPi (pypi.python.org).

To check whether any of the above packages are already installed on your system, try::

    $ python
    >>> import numpy
    >>> import scipy
    >>> import matplotlib
    >>> from unittest import skip, skipIf
    >>> import argparse

ImportError means the package is not installed.

Install dependencies on Windows:

    1. download numpy (numpy.scipy.org), scipy (scipy.org) and optionally
       matplotlib (matplotlib.sourceforge.net)
    2. run the downloaded exe/msi packages and follow the steps
    3. on python 2.6 also download unittest2 (pypi.python.org/pypi/unittest2) and
       argparse (pypi.python.org/pypi/argparse)
    4. unpack each of those and run::

		> python2.6 setup.py install  

Install dependencies on unix-like systems:

    1. use your package manager to install numpy, scipy and optionally matplotlib;
       for example on Debian/Ubuntu::

        $ sudo apt-get install python-numpy
        $ sudo apt-get install python-scipy
        $ sudo apt-get install python-matplotlib

    2. on python 2.6 also download unittest2 (pypi.python.org/pypi/unittest2) and
       argparse (pypi.python.org/pypi/argparse)
    3. unpack each of those and run::

        $ sudo python2.6 setup.py install  


Install CSB

We are now ready to install CSB itself:

    1. download and unpack the latest release from pypi.python.org/pypi/csb 
    2. run with administrator privileges::

        $ python setup.py install    

CSB is now installed at your site-packages.   


Testing
-------

Running the CSB test suite may be useful in order to check if your installation works.
All CSB tests are executed with the csb.test.Console. A typical way to run the console is::

    $ python csb/test/app.py "csb.test.cases.*"

or just::

    $ python csb/test/app.py         

For help try::

    $ python csb/test/app.py -h
        
For more details on our test framework, including guidelines for writing
unit test, please refer to the API documentation, package csb.test.


API Documentation
-----------------

CSB comes with API docs in HTML format. Simply navigate to the docs/api folder in the
release package and open index.html with any web browser. Note that the docs are not
installed, so you need to keep your own copy.

