Installation

You can install using pip (Windows, MacOSX, Linux), binary packages or from source.

pip (Windows, MacOSX, Linux)

MDP is listed in the Python Package Index and can be installed with pip:

pip install MDP

This is the preferred method of installation if you are using Windows or MacOSX.

Binary packages (Linux/BSD)

Debian, Ubuntu and derivatives

Thanks to Yaroslav Halchenko, users of Debian, Ubuntu and derivatives can install the python-mdp package.

Just type:

sudo aptitude install python-mdp

Gentoo

Gentoo users can install the ebuild sci-mathematics/mdp from the science overlay.

Use your favourite package manager or, alternatively:

emerge layman
layman -L
layman -a science
emerge sci-mathematics/mdp

NetBSD

Thanks to Kamel Ibn Aziz Derouiche, NetBSD users can install the py-mdp from pkgsrc.

Installation from source

Requirements

Download the latest MDP release source archive here.

If you want to live on the bleeding edge, check out the MDP git repositories. You can either browse the repository or clone the mdp-toolkit repository with:

git clone git://github.com/mdp-toolkit/mdp-toolkit

and then install as explained below.

Installation

Unpack the archive file and change to the project directory or change to the cloned git repository, and type:

python setup.py install

If you want to use MDP without installing it on the system Python path:

python setup.py install --prefix=/some_dir_in_PYTHONPATH/

Optional Libraries

MDP can make use of several additional libraries if they are installed on your system. They are not required for using MDP, but may give more functionality. Here a list of optional libraries and the corresponding additional features in MDP:

  • SciPy ≥ 0.5.2: Use the fast and efficient LAPACK wrapper for the symmetrical eigensolver, used interally by many nodes; use the fast FFT routines in some nodes; provide the Convolution2DNode, using the fast convolution routines in SciPy.
  • Parallel Python: provide the parallel python scheduler PPScheduler in the parallel module.
  • LibSVM ≥ 2.91: provide the LibSVMClassifier node.
  • joblib ≥ 0.4.3: provide the caching extension and the corresponding cache context manager.
  • sklearn ≥ 0.6: provide wrapper nodes to several sklearn algorithms.

Testing

If you have successfully installed MDP, you can test your installation in a Python shell as follows:

>>> import mdp
>>> mdp.test()
>>> import bimdp
>>> bimdp.test()

Note that you will need to install pytest to run the tests.

If some test fails, please report it to the mailing list.

License

MDP is distributed under the open source BSD license.

This file is part of Modular toolkit for Data Processing (MDP).
All the code in this package is distributed under the following conditions:

Copyright (c) 2003-2016, MDP Developers <mdp-toolkit@python.org>

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.
    * Neither the name of the Modular toolkit for Data Processing (MDP)
      nor the names of its contributors may be used to endorse or promote
      products derived from this software without specific prior written
      permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.