Skip to content
Run M Files from Python - GNU Octave to Python bridge
Branch: master
Clone or download
Latest commit ba70aa9 Apr 14, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Update demo Apr 13, 2017
example Keep examples in sync Feb 25, 2017
licenses Merge branch 'master' of Sep 27, 2014
oct2py Release 4.0.6 Apr 8, 2017
.coveragerc Omit the compat file from coverage Feb 25, 2017
LICENSE.txt Clean up license language and usage Feb 12, 2017
README.rst update octave installation docs Feb 26, 2017
codecov.yml Switch to pytest and improve test coverage Feb 12, 2017
pytest.ini Clean up doctests Feb 19, 2017
setup.cfg Fix doctests and add test and docs to Feb 19, 2017


Oct2Py: Python to GNU Octave Bridge

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.


  • 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.


You must have GNU Octave 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.

You can’t perform that action at this time.