mathworks / mathworks/MATLAB-support-for-Zarr-files
Suggestion: Restructure project based on MATLAB Toolbox Best Practices
Nobody has claimed this yet.
- Dominant language
- MATLAB
- Stars
- 19
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the root-level MATLAB files, the PythonModule directory, and the existing test and documentation directories against the proposed toolbox layout. Determine the changes needed to add buildfile.m and an optional toolbox packaging project file. Done means distributable MATLAB and Python content is under toolbox while tests, documentation, and repository configuration remain separated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- matlab, python
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100