symfer - SYMbolic probabilistic inFERence using factor algebra expressions
==========================================================================

:Version: 0.2.1

Dependencies (need to be installed first):
------------------------------------------
- PyYAML (from http://pyyaml.org, available as Ubuntu package "python-yaml")
- pyparsing (from http://sourceforge.net/projects/pyparsing/, available as
  Ubuntu package "python-pyparsing", but the version in 10.04 has a bug that
  produces annoying debug messages "found ignoreExpr,...")
- numpy (from http://numpy.scipy.org, or Ubuntu package "python-numpy")
- yapgvb (from http://yapgvb.sourceforge.net, Ubuntu package "python-yapgvb")

For building the documentation:
- Python packages sphinx, cloud_sptheme
- Ubuntu package dvipng
- various LaTeX packages...

Installation (on Linux):
------------------------
- EITHER run::

      sudo python setup.py install
  
  to install this package to your system-wide python library path
  
- OR run::

      python setup.py install --user

  to install it to your homedir (~/.local/lib/pythonX.X/site-packages,
  probably). On an old system with Python<2.6, one can use::
  
      python setup.py install --home=~
  
  to install it (probably) to ~/lib/python; in this case, make sure this is
  included in your Python path, e.g. by adding::
  
      export PYTHONPATH=$PYTHONPATH:~/lib/python
  
  in your ~/.bashrc (or by simply running Python from that directory)

Usage
-----
To run the inference example, change directory to "examples" and run::

    python inftest.py

To build the documentation, change directory to "doc/sphinx" and run::

    make html

To deploy the documentation (to the MBSD website), cd to "doc/spinx" an run::

    make htmldeploy


Documentation is not fully there yet, but check out the source of the
inftest.py example. Also, most functions have a docstring (either look at
the source code or do "help(functionname)" in the Python interpreter).
For the definition of the factor algebra expressions in YAML, see
doc/factor-def.txt

Releasing
---------
./set_version.py new.version.nr
./setup.py sdist --formats=gztar,zip
svn copy https://svn.cs.ru.nl/repos/symfer/trunk https://svn.cs.ru.nl/repos/symfer/tags/new.version.nr -m "Release."
cd doc/sphinx
make htmldeploy
cd ../..
./set_version.py next.version.nr_SNAPSHOT

License
-------
symfer is distributed under the BSD 2-clause license, see LICENSE.txt.

Sander
