All Projects → mobeets → Mpm

mobeets / Mpm

Licence: mit
Simple Matlab package management inspired by pip

Programming Languages

matlab
3953 projects

Projects that are alternatives of or similar to Mpm

Luarocks
LuaRocks is the package manager for the Lua programming language.
Stars: ✭ 2,324 (+4050%)
Mutual labels:  package-manager, package-management
choco
Chocolatey - the package manager for Windows
Stars: ✭ 8,643 (+15333.93%)
Mutual labels:  package-manager, package-management
Habitat
Modern applications with built-in automation
Stars: ✭ 2,334 (+4067.86%)
Mutual labels:  package-manager, package-management
Qdd
Download JavaScript Dependencies, really fast
Stars: ✭ 47 (-16.07%)
Mutual labels:  package-manager, package-management
cpm
🌵 A wrapper for package managers to make them consistent for those of us who are lazy.
Stars: ✭ 52 (-7.14%)
Mutual labels:  package-manager, package-management
Core Plans
Core Habitat Plan definitions
Stars: ✭ 129 (+130.36%)
Mutual labels:  package-manager, package-management
libdnf
Package management library.
Stars: ✭ 157 (+180.36%)
Mutual labels:  package-manager, package-management
Pkgtop
Interactive package manager and resource monitor designed for the GNU/Linux.
Stars: ✭ 222 (+296.43%)
Mutual labels:  package-manager, package-management
awesome-package-manager
☘ Awesome package manager resources
Stars: ✭ 87 (+55.36%)
Mutual labels:  package-manager, package-management
jean
Bored from installing tiny shell scripts and .dotfiles manually? Huh! Missing Shell Package Manager For Linux
Stars: ✭ 21 (-62.5%)
Mutual labels:  package-manager, package-management
Bpkg
Lightweight bash package manager
Stars: ✭ 1,601 (+2758.93%)
Mutual labels:  package-manager, package-management
Conan Center Index
Recipes for the ConanCenter repository
Stars: ✭ 310 (+453.57%)
Mutual labels:  package-manager, package-management
Alire
Command-line tool from the Alire project and supporting library
Stars: ✭ 108 (+92.86%)
Mutual labels:  package-manager, package-management
Sampctl
The Swiss Army Knife of SA:MP - vital tools for any server owner or library maintainer.
Stars: ✭ 149 (+166.07%)
Mutual labels:  package-manager, package-management
Scarf
An experimental prototype of a package manager and packaging ecosystem. Currently being rebuilt.
Stars: ✭ 108 (+92.86%)
Mutual labels:  package-manager, package-management
nix-portable
Nix - Static, Permissionless, Installation-free, Pre-configured
Stars: ✭ 356 (+535.71%)
Mutual labels:  package-manager, package-management
basalt
The rock-solid Bash package manager
Stars: ✭ 16 (-71.43%)
Mutual labels:  package-manager, package-management
Patch Package
Fix broken node modules instantly 🏃🏽‍♀️💨
Stars: ✭ 6,062 (+10725%)
Mutual labels:  package-manager, package-management
Qpmx
A frontend for qpm, to provide source and build caching
Stars: ✭ 13 (-76.79%)
Mutual labels:  package-manager
Dnf
Package manager based on libdnf and libsolv. Replaces YUM.
Stars: ✭ 838 (+1396.43%)
Mutual labels:  package-manager

Matlab Package Manager (mpm)

A simple package manager for Matlab (inspired by pip). Downloads packages from Matlab Central's File Exchange, GitHub repositories, or any other url pointing to a .zip file.

Quickstart

Download/clone this repo and add it to your Matlab path (using addpath). Now try the following:

  • mpm install [package-name]: install package by name
  • mpm uninstall [package-name]: remove package, if installed
  • mpm search [package-name]: search for package given name (checks Github and Matlab File Exchange)
  • mpm freeze: lists all packages currently installed
  • mpm init: adds all installed packages to path (run when Matlab starts up)

More details

Install a single package

Install (searches FileExchange and Github):

>> mpm install export_fig

When installing, mpm checks for a file in the package called install.m, which it will run after confirming (or add --force to auto-confirm). It also checks for a file called pathlist.m which tells it which paths (if any) to add.

Install a Github release (by tag, branch, or commit)

By tag:

>> mpm install matlab2tikz -t 1.0.0

By branch:

>> mpm install matlab2tikz -t develop

By commit:

>> mpm install matlab2tikz -t ca56d9f

Uninstall

>> mpm uninstall matlab2tikz

When uninstalling, mpm checks for a file in the package called uninstall.m, which it will run after confirming (or add --force to auto-confirm).

Search without installing:

>> mpm search export_fig

Install from a url:

>> mpm install covidx -u https://www.mathworks.com/matlabcentral/fileexchange/76213-covidx

OR:

>> mpm install export_fig -u https://github.com/altmany/export_fig.git

(Note that when specifying Github repo urls you must add the '.git' to the url.)

Install local package:

>> mpm install my_package -u path/to/package --local

The above will copy path/to/package into the default install directory. To skip the copy, add -e to the above command.

Overwrite existing packages:

>> mpm install matlab2tikz --force

Install/uninstall packages in a specific directory:

>> mpm install matlab2tikz -d /Users/mobeets/mypath

Note that the default installation directory is mpm-packages/.

Environments ("Collections")

mpm has rudimentary support for managing collections of packages. To specify which collection to act on, use -c [collection_name]. Default collection is "default".

>> mpm install cbrewer -c test
Using collection "test"
Collecting 'cbrewer'...
   Found url: https://www.mathworks.com/matlabcentral/fileexchange/58350-cbrewer2?download=true
   Downloading https://www.mathworks.com/matlabcentral/fileexchange/58350-cbrewer2?download=true...
>> mpm init -c test
Using collection "test"
   Adding to path: /Users/mobeets/code/mpm/mpm-packages/mpm-collections/test/cbrewer
   Added paths for 1 package(s).

Installing multiple packages from file

>> mpm install -i /Users/mobeets/example/requirements.txt

Specifying a requirements file lets you install or search for multiple packages at once. See 'requirements-example.txt' for an example. Make sure to provide an absolute path to the file!

To automatically confirm installation without being prompted, set --approve. Note that this is only available when installing packages from file.

What it does

By default, mpm installs all Matlab packages to the directory mpm-packages/. (You can edit mpm_config.m to specify a custom default installation directory.)

If you restart Matlab, you'll want to run mpm init to re-add all the folders in the installation directory to your Matlab path. Better yet, just run mpm init from your Matlab startup script.

Troubleshooting

Because there's no standard directory structure for a Matlab package, automatically adding paths can get a bit messy. When mpm downloads a package, it adds a single folder within that package to your Matlab path. If there are no *.m files in the package's base directory, it looks in folders called 'bin', 'src', 'lib', or 'code' instead. You can specify the name of an internal directory by passing in an -n or internaldir argument. To install a package without modifying any paths, set --nopaths. Or to add all subfolders in a package to the path, set --allpaths.

Mpm keeps track of the packages it's downloaded in a file called mpm.mat, within each installation directory.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].