PredictionIO Python SDK
=======================


Installation
============

To install the module from PyPI, you may

    $ pip install predictionio

or

    $ easy_install predictionio

If you have cloned the repository and want to install directly from there,
do the following in the root directory of the repository:

    $ python setup.py install

This will install the "predictionio" module to your Python distribution.


Usage
=====

To use predictionio in your Python script,

    >>> import predictionio


Documentation
=============

The latest documentation is located at http://pythonhosted.org/PredictionIO/

If you want to build a local copy, please install Sphinx
(http://sphinx-doc.org/install.html).

To generate documentation,

    % cd docs
    % make html

To view the generated documentation, go to docs/build/html/index.html.


SUPPORT
=======


Forum
-----

https://groups.google.com/group/predictionio-user


Issue Tracker
-------------

https://predictionio.atlassian.net

If you are unsure whether a behavior is an issue, bringing it up in the forum is highly encouraged.
