PyUtilib INSTALL
================

Downloading PyUtilib
--------------------

The latest development version of PyUtilib can be downloaded usin
subversion:

  svn checkout https://software.sandia.gov/svn/public/pyutilib/trunk


Installing PyUtilib
-------------------

If you have downloaded the PyUtilib source tree, then no additional
installation is necessary to use the code in the download directory.
However, you will need to set the PYTHONPATH environmental variable to
enable imports PyUtilib packages.

If you have superuser priveledges, you can install PyUtilib in the
system Python installation to avoid the need to update the PYTHONPATH.
This installation can be performed by typing

  python setup.py install

If you have the MSI installer, then on a MS Windows machine you can
execute this command and follow the installation menu.

NOTE: PyUtilib will install with a recent version of Python, but Python
2.5 or newer is required to apply most PyUtilib packages.


Third-Party Software
--------------------

Most of the functionality of PyUtilib is available without third-party software.  Thus, installation of PyUtilib is not strictly dependent on these additional tools.The following list describes the third-party software tools that can be used within PyUtilib:

- Python 'nose' package

This is needed to perform unit testing in pyutilib/test.

  See http://www.somethingaboutorange.com/mrl/projects/nose/ for details.

- Pythons 'coverage' module

This is needed to generate coverage reports in the PyUtilib tests.  Tests
can be run without this module, but an error message will be generated.

  See http://nedbatchelder.com/code/modules/coverage.html for details.

- Python 'ply' package

Several Ply utilities are included in pyutilib.ply.

  See http://www.dabeaz.com/ply/ for details.


Running PyUtilib
----------------

PyUtilib contains a variety of Python packages.  Most of these packages
are accessible by simply importing the PyUtilib software:

  import pyutilib.ply

a variety of PyUtilib packages are conditionally imported depending on
the existence of other Python package installations.

