Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

616 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mip

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.

Install

From inside MATLAB:

eval(webread('https://mip.sh/install.txt'))

Quick tour

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 environment

Run mip help for the full command list, or see mip.sh/docs.

Concepts

  • 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.yaml describing 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.

Publishing a package or channel

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.

Authors

Dan Fortunato and Jeremy Magland Center for Computational Mathematics, Flatiron Institute

License

Apache 2.0. See LICENSE.

About

pip-style package manager for matlab

Resources

Stars

17 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages