Skip to content
forked from strawlab/pyopy

Python bindings to interesting matlab libraries for data analysis

License

Notifications You must be signed in to change notification settings

benfulcher/pyopy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PYOPY: PYthon -> Octave/matlab -> PYthon

Pyopy helps using matlab/octave libraries from python. It provides functionality to parse matlab code and express calls to matlab functions as calls to python functions. It also provides a generic mechanism to transfer data to and run code in octave/matlab instances. Pyopy was born to provide python bindings to the HCTSA time-series feature extraction library. You can check-out this quick demo.

Installation

Pyopy is only tested on linux. It requires python 2.7, octave and/or matlab and the following python dependencies:

  • numpy
  • scipy
  • pandas
  • joblib
  • argh
  • whatami
  • lockfile

Pyopy design decouples command dispatching and data transfer. Pyopy relies upon the excellent oct2py (of which a slightly modified version is provided with pyopy). for generic data transfers. For communicating with octave we recommend to fully install oct2py. For communicating with matlab, we recommend the python matlab engine (available with matlab since version 2014b). If you have an earlier matlab version, a slower and less tested backend based on pymatbridge is also available.

Install example using a conda environment

  • Install dependencies.
conda install numpy scipy pandas
pip install joblib argh whatami lockfile
cd /opt/matlab/extern/engines/python  # if matlab is installed in /opt/matlab
python setup.py install  # unfortunately, pip would fail here
  • To use octave, install oct2py.
pip install oct2py
  • Finally, clone pyopy and pip-install it in your environment (releases coming sometime soon).
pip install https://github.com/strawlab/pyopy/tarball/master

Licenses

Code distributed with pyopy

  • PYOPY itself: Modified BSD
  • OCT2PY: Modified BSD
  • OMPC: Modified BSD

Optional matlab toolboxes

HCTSA

HCTSA must be downloaded separately (preferably using the pyopy/hctsa/hctsa_install.py script). "Operators" are GPL licensed. Pyopy bindings rely on operators only. Other parts of HCTSA are licensed as Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Other licenses in 3rd party code used by HCTSA (TOOLBOXES directory), mostly GPL, might apply.

About

Python bindings to interesting matlab libraries for data analysis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.6%
  • Java 1.3%
  • Other 0.1%