Restructure repository based on the MATLAB Toolbox Best Practices.
Adopting the recommended toolbox structure would make packaging as an .mltbx easier by clearly separating distributable toolbox content from tests, development tools, and repository configuration.
Because this is a MathWorks-maintained repository, it could also serve as a practical example of the toolboxdesign recommendations for a toolbox containing a public MATLAB API, internal implementation code, and a Python dependency.
Preparing the repo for .mltbx based distribution would also provide users with a simpler installation and upgrade path than cloning the repository and manually adding it to the MATLAB path, and it would make it easier for other tools, i.e MatNWB to add the toolbox as a dependency.
What restructuring would mean for this repository:
Step 1: Move all root-level .m files and the PythonModule into a toolbox folder
Step 2: Add buildfile.m, toolbox packaging.prj file (optional/later)
New repository structure after reorganisation:
MATLAB-support-for-Zarr-files/
├── .github/
├── doc/
├── test/
├── toolbox/
│ ├── PythonModule/
│ │ ├── requirements.txt
│ │ └── ZarrPy.py
│ ├── Zarr.m
│ ├── ZarrDatatype.m
│ ├── readZattrs.m
│ ├── zarrcreate.m
│ ├── zarrinfo.m
│ ├── zarrread.m
│ ├── zarrwrite.m
│ └── zarrwriteatt.m
├── .codespellrc
├── .gitignore
├── buildfile.m # Proposed
├── codecov.yml
├── license.txt
├── README.md
├── SECURITY.md
└── <project-name>.prj # Proposed packaging/project file
Restructure repository based on the MATLAB Toolbox Best Practices.
Adopting the recommended toolbox structure would make packaging as an .mltbx easier by clearly separating distributable toolbox content from tests, development tools, and repository configuration.
Because this is a MathWorks-maintained repository, it could also serve as a practical example of the toolboxdesign recommendations for a toolbox containing a public MATLAB API, internal implementation code, and a Python dependency.
Preparing the repo for .mltbx based distribution would also provide users with a simpler installation and upgrade path than cloning the repository and manually adding it to the MATLAB path, and it would make it easier for other tools, i.e MatNWB to add the toolbox as a dependency.
What restructuring would mean for this repository:
Step 1: Move all root-level .m files and the PythonModule into a toolbox folder
Step 2: Add buildfile.m, toolbox packaging.prj file (optional/later)
New repository structure after reorganisation: