Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/blink1073/oct2py
Run M Files from Python - GNU Octave to Python bridge
https://github.com/blink1073/oct2py
Last synced: 25 days ago
JSON representation
Run M Files from Python - GNU Octave to Python bridge
- Host: GitHub
- URL: https://github.com/blink1073/oct2py
- Owner: blink1073
- License: mit
- Created: 2012-08-11T04:19:27.000Z (over 12 years ago)
- Default Branch: main
- Last Pushed: 2024-08-19T15:13:05.000Z (3 months ago)
- Last Synced: 2024-10-09T10:12:58.612Z (about 1 month ago)
- Language: Jupyter Notebook
- Homepage: http://blink1073.github.io/oct2py/
- Size: 6.37 MB
- Stars: 258
- Watchers: 12
- Forks: 53
- Open Issues: 43
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
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=main
:target: https://codecov.io/github/blink1073/oct2py?branch=main.. image:: http://pepy.tech/badge/oct2py
:target: http://pepy.tech/project/oct2py
:alt: PyPi Download statsOct2Py 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:: pycon
>>> import oct2py
>>> oc = oct2py.Oct2Py()
>>> x = oc.zeros(3, 3)
>>> print(x, x.dtype)
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]] float64To run .m function, you need to explicitly add the path to .m file using:
.. code-block:: pycon
>>> from oct2py import octave
>>> # to add a folder use:
>>> octave.addpath("/path/to/directory") # doctest: +SKIP
>>> # to add folder with all subfolder in it use:
>>> octave.addpath(octave.genpath("/path/to/directory")) # doctest: +SKIP
>>> # to run the .m file :
>>> octave.run("fileName.m") # doctest: +SKIPTo get the output of .m file after setting the path, use:
.. code-block:: pycon
>>> import numpy as np
>>> from oct2py import octave
>>> x = np.array([[1, 2], [3, 4]], dtype=float)
>>> # use nout='max_nout' to automatically choose max possible nout
>>> octave.addpath("./example") # doctest: +SKIP
>>> out, oclass = octave.roundtrip(x, nout=2) # doctest: +SKIP
>>> import pprint # doctest: +SKIP
>>> pprint.pprint([x, x.dtype, out, oclass, out.dtype]) # doctest: +SKIP
[array([[1., 2.],
[3., 4.]]),
dtype('float64'),
array([[1., 2.],
[3., 4.]]),
'double',
dtype('