Project Template for MATLAB

A template for creating repos for Matlab library and application projects
57 Downloads
Updated 12 Sep 2021
MatlabProjectTemplate is a template for creating Matlab library and application projects. It defines a "standard" project structure that should be suitable for many projects, including those intended for redistribution / open source.
Why does this exist? Because it's kind of a pain to create new Matlab software development projects. Just have a look at File Exchange: most of the projects there use "just a pile of M-files and maybe a README" as their project structure. That's not great for nontrivial projects.
MatlabProjectTemplate is suitable for both libraries and applications, and includes coding and organizational conventions that make it safe to use this project's code in a Matlab environment that uses code from other projects, too.
Features:
MatlabProjectTemplate supports the following features. You don't _have_ to use any of them; you can just ignore the ones you don't care about. But they're there if you need them!
* Collaboration between multiple developers
* Building Matlab Toolboxes
* Matlab Continuous Integration and unit tests
* Distribution as both plain zip files and Matlab Toolbox `.mltbx` files
* Using ("vendoring") third-party Java JAR and Matlab libraries
* Custom Java code
* Automatic library initialization
* Logging, in an SLF4M/SLF4J/Log4j-compatible manner
About
MatlabProjectTemplate is authored by Andrew Janke (https://apjanke.net). The project home page is https://matlabprojecttemplate.janklab.net. For support, post an Issue on the GitHub repo.
MatlabProjectTemplate is part of the Janklab suite of libraries for Matlab. See http://janklab.net.

Cite As

Andrew Janke (2024). Project Template for MATLAB (https://github.com/janklab/MatlabProjectTemplate/releases/tag/v0.4.2), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2019b
Compatible with R2019b and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Mcode/+mypackage

Mcode/+mypackage/+examples

Mcode/+mypackage/+internal

Mcode/+mypackage/+internal/+util

Mcode/+mypackage/+internal/+util/private

Mcode/+mypackage/+logger

Mcode/+mypackage/+logger/+internal

Mcode/+mypackage/+logger/+internal/private

Mcode/+mypackage/+logger/private

Mcode/+mypackage/+test

Mcode/+mypackage/private

dev-kit

dev-kit/private

dev-kit/util-shims

doc/examples

docs

docs-src-gh-pages

docs-src-gh-pages-raw

docs-src-jekyll

docs-src-mkdocs

docs/examples

examples

Version Published Release Notes
0.4.2

See release notes for this release on GitHub: https://github.com/janklab/MatlabProjectTemplate/releases/tag/v0.4.2

0.4.1

See release notes for this release on GitHub: https://github.com/janklab/MatlabProjectTemplate/releases/tag/v0.4.1

0.4.0

See release notes for this release on GitHub: https://github.com/janklab/MatlabProjectTemplate/releases/tag/v0.4.0

0.3.5

See release notes for this release on GitHub: https://github.com/janklab/MatlabProjectTemplate/releases/tag/v0.3.5

0.3.4

See release notes for this release on GitHub: https://github.com/janklab/MatlabProjectTemplate/releases/tag/v0.3.4

0.3.3

See release notes for this release on GitHub: https://github.com/janklab/MatlabProjectTemplate/releases/tag/v0.3.3

0.3.2

See release notes for this release on GitHub: https://github.com/janklab/MatlabProjectTemplate/releases/tag/v0.3.2

0.2.2

See release notes for this release on GitHub: https://github.com/janklab/MatlabProjectTemplate/releases/tag/v0.2.2

0.2.1.0

See release notes for this release on GitHub: https://github.com/janklab/MatlabProjectTemplate/releases/tag/v0.2.1

0.2.0

See release notes for this release on GitHub: https://github.com/janklab/MatlabProjectTemplate/releases/tag/v0.2.0

0.1.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.