Skip to the content.

Janklab is a suite of free and open source programming libraries for Matlab. It contains general-purpose programming utilities, advanced HTML email generation, and more.

Janklab’s approach is to try to treat Matlab as a serious programming language, instead of as an overgrown interactive calculator. It’s written from the perspective of a software developer with a background in more mainstream programming languages, but some parts of it are intended for easy use by typical Matlab users.

Janklab is a project of Andrew Janke.


All the Janklab libraries are licensed under the business-friendly Apache or BSD 3-Clause licenses. It’s fine to use Janklab in commercial or proprietary software, and they play well with other Matlab open source projects and File Exchange submissions.

(Except for ExportMlx, which uses a special MathWorks-specific BSD License variant. See its web page for details.)

Component Libraries

The various Janklab libraries have dependencies on and are bundled with various other open source libraries. See individual library documentation for details.

More Documentation

Development and Support

Janklab development is hosted on GitHub. You can file bug reports or feature requests as issues on the library-specific GitHub repo.

Everything in Janklab is in either the experimental or beta stage of development. Use caution!

Support for Janklab is free, and is on an as-available/best-effort/if-I-feel-like-it basis. You might also try dropping by the Matlab Discord, where I and several other Matlab experts hang out; it’s a great place to get Matlab help.

Lots of Janklab is built on other open source projects, and a lot of it takes the form of Matlab binding layers for FLOSS libraries in other languages. Thanks to all the other FLOSS developers out there!


I spent about ten years building Matlab platforms in the financial sector, with a focus on data analysis, “productionization”, and integrating Matlab with other systems and languages. During that time I developed some strong opinions about what you needed to add to Matlab to make it a decent development environment. And when I had some time off, I decided to Do It Right and build out some utilities based on what I had learned, but with modern Matlab coding practices.

After that, I did some consulting writing Matlab programs for people, and decided to collect all my various utility code in one place, so I didn’t have to spend client time rewriting this “base layer” for every project. I open sourced it to formalize the license my clients received this common code under, and to have something of a public portfolio for myself, since all my prior finance work was highly proprietary.

About Andrew

Andrew Janke has about twenty years of industry experience building software platforms, with much of that involving Matlab. He started out in the weather software industry, and then got recruited by a Citadel Investments and spent 15 years in finance, working closely with traders and quants to develop analytical and trading platforms.

Andrew is currently Director of Quantitative Systems at Demex Technologies.