Oct2Py is a means 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.
- 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 with arbitrary nesting.
- Supports sparse matrices.
- Builds methods on the fly linked to Octave commands (e.g. zeros above).
- Nargout is automatically inferred by the number of return variables.
- 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.
You must have GNU Octave 3.6 or newer installed and in your PATH
.
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 is available online.
For version information, see the Revision History.