oct2py

Run M Files from Python - GNU Octave to Python bridge

  • Owner: blink1073/oct2py
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Oct2Py: Python to GNU Octave Bridge

.. image:: https://badge.fury.io/py/oct2py.png/
:target: http://badge.fury.io/py/oct2py

.. image:: https://codecov.io/github/blink1073/oct2py/coverage.svg?branch=master
:target: https://codecov.io/github/blink1073/oct2py?branch=master

.. image:: http://pepy.tech/badge/oct2py
:target: http://pepy.tech/project/oct2py
:alt: 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:

.. code-block:: python

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

.. _OctaveMagic: https://nbviewer.jupyter.org/github/blink1073/oct2py/blob/master/example/octavemagic_extension.ipynb?create=1

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:

.. code-block:: bash

$ pip install oct2py

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

.. code-block:: bash

$ conda install -c conda-forge oct2py

.. _instructions: http://blink1073.github.io/oct2py/source/installation.html

Documentation

Documentation is available online_.

For version information, see the Revision History_.

.. _online: https://oct2py.readthedocs.io/en/latest/

.. _History: https://github.com/blink1073/oct2py/blob/master/HISTORY.rst

Main metrics

Overview
Name With Ownerblink1073/oct2py
Primary LanguageJupyter Notebook
Program languageMakefile (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2012-08-11 04:19:27
Pushed At2025-05-12 02:11:44
Last Commit At
Release Count75
Last Release Namev5.8.0 (Posted on 2024-12-11 15:09:44)
First Release Name0.3.2 (Posted on )
用户参与
Stargazers Count268
Watchers Count12
Fork Count52
Commits Count1.3k
Has Issues Enabled
Issues Count183
Issue Open Count46
Pull Requests Count142
Pull Requests Open Count1
Pull Requests Close Count13
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private