A package manager for MATLAB.
mip installs MATLAB packages from channel repositories, resolves their
dependencies, and manages your path.
Status: early stage, under active development. Expect occasional breaking changes before the first stable release.
Docs and command reference: mip.sh.
From inside MATLAB:
eval(webread('https://mip.sh/install.txt'))mip avail % list packages available in the default channel
mip install chebfun % install a package and its dependencies
mip load chebfun % add it to the MATLAB path
mip list % show installed / loaded packages
mip unload chebfun % remove from path
mip uninstall chebfun % remove the package (prunes orphaned deps)Install several at once, ask for a specific version, or install from a local directory:
mip install chebfun chunkie % install multiple packages
mip install chunkie % automatically installs dependencies
mip install kdtree % automatically installs MEX files
mip install chebfun@1.2.0 % request version 1.2.0
mip install --channel user/repo pkg % install from a channel
mip install ./my-package % local install
mip install -e ./my-package % editable install (pip -e style)Give a project or an experiment its own isolated package set with an environment (like a Python venv or a conda env):
mip env create scratch % create a named environment
mip activate scratch % point the session at it
mip install chebfun % installs into the active environment
mip deactivate % back to the global root
mip env create % or: create a local ./.mip environmentRun mip help for the full command list, or see
mip.sh/docs.
- Channel: a package repository hosted on GitHub Pages. The default is
mip-org/core. Anyone can publish their own channel. - Package: a MATLAB library with a
mip.yamldescribing its sources, build steps, and dependencies. Packages can ship pre-compiled MEX binaries per architecture so users don't have to compile anything locally.
For the rest — version selection, dependency pruning, editable installs, channel layout — see mip.sh/docs.
See Hosting a Channel. The easiest way to start a new channel is to copy a maintained example — mip-example (a single package) or mip-hello (a few packages) — both kept current with the build system.
Dan Fortunato and Jeremy Magland Center for Computational Mathematics, Flatiron Institute
Apache 2.0. See LICENSE.