Skip to main content

Python to GNU Octave bridge --> run m-files from python.

Project description

https://badge.fury.io/py/oct2py.png/ https://pypip.in/d/oct2py/badge.png https://coveralls.io/repos/blink1073/oct2py/badge.png?branch=master

Oct2py is a means to seemlessly 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 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.

Installation

You must have GNU Octave installed and in your PATH. On Windows, the easiest way to get Octave is to use an installer from sourceforge.. On Linux, it should be available from your package manager. Additionally, you must have the numpy and scipy libraries installed.

To install Oct2py, simply:

$ pip install oct2py

Or, if you absolutely must:

$ easy_install oct2py

Documentation

Documentation is available at http://pythonhosted.org/oct2py/.

Release History

1.1.0 (2013-11-3)

  • Full support for plotting with no changes to user code

  • Support for Nargout = 0

  • Overhaul of front end documentation

  • Improved test coverage and added badge.

  • Supports Python 2 and 3 from a single code base.

  • Fixed: Allow help(Oct2Py()) and tab completion on REPL

  • Fixed: Allow tab completion for Oct2Py().<TAB> in REPL

1.0.0 (2013-10-4)

  • Support for Python 3.3

  • Added logging to Oct2Py class with optional logger keyword

  • Added context manager

  • Added support for unicode characters

  • Improved support for cell array and sparse matrices

  • Fixed: Changes to user .m files are now refreshed during a session

  • Fixed: Remove popup console window on Windows

0.4.0 (2013-01-05)

  • Singleton elements within a cell array treated as a singleton list

  • Added testing on 64 bit architecture

  • Fixed: Incorrect Octave commands give a more sensible error message

0.3.6 (2012-10-08)

  • Default Octave working directory set to same as OS working dir

  • Fixed: Plot rending on older Octave versions

0.3.4 (2012-08-17)

  • Improved speed for larger matrices, better handling of singleton dimensions

0.3.0 (2012-06-16)

  • Added Python 3 support

  • Added support for numpy object type

0.2.1 (2011-11-25)

  • Added Sphinx documentation

0.1.4 (2011-11-15)

  • Added support for pip

0.1.0 (2011-11-11)

  • Initial Release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

oct2py-1.1.0.zip (40.1 kB view hashes)

Uploaded Source

oct2py-1.1.0.tar.gz (27.1 kB view hashes)

Uploaded Source

Built Distributions

oct2py-1.1.0.win32-py3.3.exe (224.8 kB view hashes)

Uploaded Source

oct2py-1.1.0.win32-py3.2.exe (224.8 kB view hashes)

Uploaded Source

oct2py-1.1.0.win32-py2.7.exe (224.8 kB view hashes)

Uploaded Source

oct2py-1.1.0-py2.py3-none-any.whl (26.9 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page