Metadata-Version: 2.1
Name: mat4py
Version: 0.6.0
Summary: Load and save data in the Matlab (TM) MAT-file format.
Home-page: https://github.com/nephics/mat4py/
Author: Jacob Svensson
Author-email: jacob@nephics.com
License: MIT License
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Scientific/Engineering
License-File: LICENSE.txt

mat4py - load and save data in the Matlab (TM) MAT-file format.
===============================================================

The package provides the mat4py module with the functions ``loadmat`` and
``savemat`` that allows for reading resp. writing data in the Matlab (TM)
MAT-file format.

Matlab data is loaded into basic Python data types. Matrices are stored row-major using lists of lists. Matlab structs and cells are represented using Python dicts.

The package can be run from the command line, in which case, it provides a routine for converting Matlab MAT-files to/from JSON files.


Load data from MAT-file
-----------------------

The function ``loadmat`` loads all variables stored in the MAT-file into
a simple Python data structure, using only Python's dict and list
objects. Numeric and cell arrays are converted to row-ordered nested lists. Arrays are squeezed to eliminate arrays with only one element.
The resulting data structure is composed of simple types that are compatible
with the JSON format.

Example: Load a MAT-file into a Python data structure::

   data = loadmat('datafile.mat')

The variable ``data`` is a dict with the variables and values contained in the MAT-file.


Save Python data structure to a MAT-file
----------------------------------------

Python data can be saved to a MAT-file, with the function ``savemat``. Data has
to be structured in the same way as for ``loadmat``, i.e. it should be composed
of simple data types, like dict, list, str, int and float.


Example: Save a Python data structure to a MAT-file::

   savemat('datafile.mat', data)

The parameter ``data`` shall be a dict with the variables.


Command line usage
------------------

The package can be run from the command line, in which case, it provides
a routine for converting Matlab MAT-files to/from JSON files.

Call::

    python -m mat4py.cmd -h

to get help with command line usage.


Known limitations
-----------------

The following Matlab data structures/types are not supported:

- Arrays with more than 2 dimensions
- Arrays with complex numbers
- Sparse arrays
- Function arrays
- Object classes
- Anonymous function classes


License
-------

The MIT License (MIT)
Copyright (c) 2011-2023 Nephics AB

See the ``LICENSE.txt`` file.
