diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-10 03:39:19 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 03:39:19 +0000 |
| commit | 27ab9af1b94a4e3b7e49a4ea2e6a111c10bcb1ff (patch) | |
| tree | 7e3427fb33b0ffc0b380d6242c43e46035175076 | |
| parent | 2b9ccf04e6edf876398cfec4daa5ff9490290bde (diff) | |
automatic import of python-mat73openeuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-mat73.spec | 332 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 334 insertions, 0 deletions
@@ -0,0 +1 @@ +/mat73-0.60.tar.gz diff --git a/python-mat73.spec b/python-mat73.spec new file mode 100644 index 0000000..b977360 --- /dev/null +++ b/python-mat73.spec @@ -0,0 +1,332 @@ +%global _empty_manifest_terminate_build 0 +Name: python-mat73 +Version: 0.60 +Release: 1 +Summary: Load MATLAB .mat 7.3 into Python native data types (via h5/hd5/hdf5/h5py) +License: GPL3 +URL: https://github.com/skjerns/mat7.3 +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/8f/36/1f70c608ca2018a8b29dbce25ba11d8bdce6c3f4cdb9e48d1fc592c9eb0c/mat73-0.60.tar.gz +BuildArch: noarch + +Requires: python3-h5py +Requires: python3-numpy + +%description +  + +# mat 7.3 + +Load MATLAB 7.3 .mat files into Python. + +Starting with MATLAB 7.3, `.mat` files have been changed to store as custom `hdf5` files. +This means they cannot be loaded by `scipy.io.loadmat` any longer and raise. + +```Python +NotImplementedError: Please use HDF reader for matlab v7.3 files +``` + +## Quickstart + +This library loads MATLAB 7.3 HDF5 files into a Python dictionary. + +```Python +import mat73 +data_dict = mat73.loadmat('data.mat') +``` + +As easy as that! + +By enabling `use_attrdict=True` you can even access sub-entries of `structs` as attributes, just like in MATLAB: + +```Python +data_dict = mat73.loadmat('data.mat', use_attrdict=True) +struct = data_dict['structure'] # assuming a structure was saved in the .mat +struct[0].var1 == struct[0]['var1'] # it's the same! +``` + +You can also specifiy to only load a specific variable or variable tree, useful to reduce loading times + +```Python +data_dict = mat73.loadmat('data.mat', only_include='structure') +struct = data_dict['structure'] # now only structure is loaded and nothing else + +data_dict = mat73.loadmat('data.mat', only_include=['var/subvar/subsubvar', 'tree1/']) +tree1 = data_dict['tree1'] # the entire tree has been loaded, so tree1 is a dict with all subvars of tree1 +subsubvar = data_dict['var']['subvar']['subsubvar'] # this subvar has been loaded +``` + +## Installation + +To install, run: + +``` +pip install mat73 +``` + +Alternatively for most recent version: + +``` +pip install git+https://github.com/skjerns/mat7.3 +``` + +## Datatypes + +The following MATLAB datatypes can be loaded + +| MATLAB | Python | +| ------------------------ | ----------------- | +| logical | np.bool_ | +| single | np.float32 | +| double | np.float64 | +| int8/16/32/64 | np.int8/16/32/64 | +| uint8/16/32/64 | np.uint8/16/32/64 | +| complex | np.complex128 | +| char | str | +| struct | list of dicts | +| cell | list of lists | +| canonical empty | [] | +| missing | None | +| sparse | scipy.sparse.csc | +| Other (ie Datetime, ...) | Not supported | + +## Short-comings + +- This library will __only__ load mat 7.3 files. For older versions use `scipy.io.loadmat` +- Proprietary MATLAB types (e.g `datetime`, `duriation`, etc) are not supported. If someone tells me how to convert them, I'll implement that +- For now, you can't save anything back to the .mat. It's a bit more difficult than expected, so it's not on the roadmap for now +- See also [hdf5storage](https://github.com/frejanordsiek/hdf5storage), which can indeed be used for saving .mat, but has less features for loading +- See also [pymatreader](https://gitlab.com/obob/pymatreader/) which has a (maybe even better) implementation of loading MAT files, even for older ones + + + + +%package -n python3-mat73 +Summary: Load MATLAB .mat 7.3 into Python native data types (via h5/hd5/hdf5/h5py) +Provides: python-mat73 +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-mat73 +  + +# mat 7.3 + +Load MATLAB 7.3 .mat files into Python. + +Starting with MATLAB 7.3, `.mat` files have been changed to store as custom `hdf5` files. +This means they cannot be loaded by `scipy.io.loadmat` any longer and raise. + +```Python +NotImplementedError: Please use HDF reader for matlab v7.3 files +``` + +## Quickstart + +This library loads MATLAB 7.3 HDF5 files into a Python dictionary. + +```Python +import mat73 +data_dict = mat73.loadmat('data.mat') +``` + +As easy as that! + +By enabling `use_attrdict=True` you can even access sub-entries of `structs` as attributes, just like in MATLAB: + +```Python +data_dict = mat73.loadmat('data.mat', use_attrdict=True) +struct = data_dict['structure'] # assuming a structure was saved in the .mat +struct[0].var1 == struct[0]['var1'] # it's the same! +``` + +You can also specifiy to only load a specific variable or variable tree, useful to reduce loading times + +```Python +data_dict = mat73.loadmat('data.mat', only_include='structure') +struct = data_dict['structure'] # now only structure is loaded and nothing else + +data_dict = mat73.loadmat('data.mat', only_include=['var/subvar/subsubvar', 'tree1/']) +tree1 = data_dict['tree1'] # the entire tree has been loaded, so tree1 is a dict with all subvars of tree1 +subsubvar = data_dict['var']['subvar']['subsubvar'] # this subvar has been loaded +``` + +## Installation + +To install, run: + +``` +pip install mat73 +``` + +Alternatively for most recent version: + +``` +pip install git+https://github.com/skjerns/mat7.3 +``` + +## Datatypes + +The following MATLAB datatypes can be loaded + +| MATLAB | Python | +| ------------------------ | ----------------- | +| logical | np.bool_ | +| single | np.float32 | +| double | np.float64 | +| int8/16/32/64 | np.int8/16/32/64 | +| uint8/16/32/64 | np.uint8/16/32/64 | +| complex | np.complex128 | +| char | str | +| struct | list of dicts | +| cell | list of lists | +| canonical empty | [] | +| missing | None | +| sparse | scipy.sparse.csc | +| Other (ie Datetime, ...) | Not supported | + +## Short-comings + +- This library will __only__ load mat 7.3 files. For older versions use `scipy.io.loadmat` +- Proprietary MATLAB types (e.g `datetime`, `duriation`, etc) are not supported. If someone tells me how to convert them, I'll implement that +- For now, you can't save anything back to the .mat. It's a bit more difficult than expected, so it's not on the roadmap for now +- See also [hdf5storage](https://github.com/frejanordsiek/hdf5storage), which can indeed be used for saving .mat, but has less features for loading +- See also [pymatreader](https://gitlab.com/obob/pymatreader/) which has a (maybe even better) implementation of loading MAT files, even for older ones + + + + +%package help +Summary: Development documents and examples for mat73 +Provides: python3-mat73-doc +%description help +  + +# mat 7.3 + +Load MATLAB 7.3 .mat files into Python. + +Starting with MATLAB 7.3, `.mat` files have been changed to store as custom `hdf5` files. +This means they cannot be loaded by `scipy.io.loadmat` any longer and raise. + +```Python +NotImplementedError: Please use HDF reader for matlab v7.3 files +``` + +## Quickstart + +This library loads MATLAB 7.3 HDF5 files into a Python dictionary. + +```Python +import mat73 +data_dict = mat73.loadmat('data.mat') +``` + +As easy as that! + +By enabling `use_attrdict=True` you can even access sub-entries of `structs` as attributes, just like in MATLAB: + +```Python +data_dict = mat73.loadmat('data.mat', use_attrdict=True) +struct = data_dict['structure'] # assuming a structure was saved in the .mat +struct[0].var1 == struct[0]['var1'] # it's the same! +``` + +You can also specifiy to only load a specific variable or variable tree, useful to reduce loading times + +```Python +data_dict = mat73.loadmat('data.mat', only_include='structure') +struct = data_dict['structure'] # now only structure is loaded and nothing else + +data_dict = mat73.loadmat('data.mat', only_include=['var/subvar/subsubvar', 'tree1/']) +tree1 = data_dict['tree1'] # the entire tree has been loaded, so tree1 is a dict with all subvars of tree1 +subsubvar = data_dict['var']['subvar']['subsubvar'] # this subvar has been loaded +``` + +## Installation + +To install, run: + +``` +pip install mat73 +``` + +Alternatively for most recent version: + +``` +pip install git+https://github.com/skjerns/mat7.3 +``` + +## Datatypes + +The following MATLAB datatypes can be loaded + +| MATLAB | Python | +| ------------------------ | ----------------- | +| logical | np.bool_ | +| single | np.float32 | +| double | np.float64 | +| int8/16/32/64 | np.int8/16/32/64 | +| uint8/16/32/64 | np.uint8/16/32/64 | +| complex | np.complex128 | +| char | str | +| struct | list of dicts | +| cell | list of lists | +| canonical empty | [] | +| missing | None | +| sparse | scipy.sparse.csc | +| Other (ie Datetime, ...) | Not supported | + +## Short-comings + +- This library will __only__ load mat 7.3 files. For older versions use `scipy.io.loadmat` +- Proprietary MATLAB types (e.g `datetime`, `duriation`, etc) are not supported. If someone tells me how to convert them, I'll implement that +- For now, you can't save anything back to the .mat. It's a bit more difficult than expected, so it's not on the roadmap for now +- See also [hdf5storage](https://github.com/frejanordsiek/hdf5storage), which can indeed be used for saving .mat, but has less features for loading +- See also [pymatreader](https://gitlab.com/obob/pymatreader/) which has a (maybe even better) implementation of loading MAT files, even for older ones + + + + +%prep +%autosetup -n mat73-0.60 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-mat73 -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.60-1 +- Package Spec generated @@ -0,0 +1 @@ +13c6a66b7594367ab40b99d18a743de7 mat73-0.60.tar.gz |
