Skip to content

Latest commit

 

History

History
83 lines (55 loc) · 2.49 KB

README.rst

File metadata and controls

83 lines (55 loc) · 2.49 KB

Oct2Py: Python to GNU Octave Bridge

image

image

PyPi Download stats

Oct2Py allows you to seamlessly call M-files and Octave functions from Python. It manages the Octave session for you, sharing data behind the scenes using MAT files. Usage is as simple as:

>>> oc = oct2py.Oct2Py()
>>> x = oc.zeros(3,3)
>>> print(x, x.dtype)
[[ 0.  0.  0.]
 [ 0.  0.  0.]
 [ 0.  0.  0.]] float64
...

If you want to run legacy m-files, do not have MATLAB®, and do not fully trust a code translator, this is your library.

Features

  • Supports all Octave datatypes and most Python datatypes and Numpy dtypes.
  • Provides OctaveMagic for IPython, including inline plotting in notebooks.
  • Supports cell arrays and structs/struct arrays with arbitrary nesting.
  • Supports sparse matrices.
  • Builds methods on the fly linked to Octave commands (e.g. zeros above).
  • Thread-safety: each Oct2Py object uses an independent Octave session.
  • Can be used as a context manager.
  • Supports Unicode characters.
  • Supports logging of session commands.
  • Optional timeout command parameter to prevent runaway Octave sessions.

Installation

You must have GNU Octave installed and in your PATH environment variable. Alternatively, you can set an OCTAVE_EXECUTABLE or OCTAVE environment variable that points to octave-cli executable itself.

You must have the Numpy and Scipy libraries for Python installed. See the installation instructions for more details.

Once the dependencies have been installed, run:

$ pip install oct2py

If using conda, it is available on conda-forge:

$ conda install -c conda-forge oct2py

Documentation

Documentation is available online.

For version information, see the Revision History.