Build Requirements
------------------
* `Python >= 2.5 <http://python.org>`__
* `Numpy >= 1.6 <http://numpy.scipy.org/>`__
* `Cython >= 0.17 <http://www.cython.org/>`__

`Matplotlib >= 1.0 <http://matplotlib.sf.net>`__ is needed to generate the
examples in the documentation.

You can use pip to automatically install the base dependencies as follows::

    $ pip install -r requirements.txt

Runtime requirements
--------------------
* `SciPy >= 0.10 <http://scipy.org>`__

Known build errors
------------------
On Windows, the error ``Error:unable to find vcvarsall.bat`` means that
distutils is not correctly configured to use the C compiler. Modify (or create,
if not existing) the configuration file ``distutils.cfg`` (located for
example at ``C:\Python26\Lib\distutils\distutils.cfg``) to contain::

    [build]
    compiler=mingw32


Usage Requirements
------------------
* `Scipy <http://www.scipy.org/>`__

Optional Requirements
---------------------
You can use this scikit with the basic requirements listed above, but some
functionality is only available with the following installed:

* `PyQt4 <http://wiki.python.org/moin/PyQt>`__
   The ``qt`` plugin that provides ``imshow(x, fancy=True)`` and `skivi`.

* `FreeImage <http://freeimage.sf.net>`__
   The ``freeimage`` plugin provides support for reading various types of
   image file formats, including multi-page TIFFs.

* `PyAMG <http://pyamg.org/>`__
   The ``pyamg`` module is used for the fast `cg_mg` mode of random
   walker segmentation.

* `Pillow <https://pypi.python.org/pypi/Pillow>`__
   (or <`PIL http://www.pythonware.com/products/pil/>`__)
   The ``Pillow`` library (or equivalently ``PIL``) is used for Input/Output.

* `Astropy <http://www.astropy.org>`__ is required to use the FITS io plug-in.

Testing requirements
--------------------
* `Nose <https://nose.readthedocs.org/en/latest/>`__
      A Python Unit Testing Framework
* `Coverage.py <http://nedbatchelder.com/code/coverage/>`__
      A tool that generates a unit test code coverage report
