Dependency management & package manager like pip in ML
You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
3 votes
Share a link to this question
- ML projects
- ML toolboxes
- several mpm versions
This command is not supported when the packages feature is not enabled. Start MATLAB with the -packages command line switch.

1 Comment
Accepted Answer
5 votes
15 Comments
- It’s pretty simple to put an mltbx in a NuGet package, I don’t know of anyone making an mltbx be a NuGet package.
- NuGet packages can have dependencies and pull them in automatically.
- There is no requirement in .NET for one version of any given library, so it makes no effort to resolve dependency ranges.
- NuGet will allow you to search packages and pull the mltbx files, plus dependencies, into a folder, but can’t install them.
- You need to write a bunch of MATLAB code to take the folder of mltbxs and install them (and with dependencies, work out which ones to install)
- And more code to avoid downloading everything every time.
- Having the packages zipped and a kind of index file would already improve the file system based repository.
- Being able to locate and access the repository on an web-based server is the main missing feature for us to use the MPM on our company network.
- Having the installed packages show up in the Add-on of similar list
- Having apps in the package being installed, like when they are packaged in a Toolbox
- Could you elaborate on why packages being zipped would be an improvement? And what benefits you'd expect from an index file?
- Can you say any more about what your web-based repository might look like? e.g. are you using something like sharepoint or s3 to host web-accessible files, or something like Artifactory for managing artifacts accessible via a URL endpoint?
- Installed packages will be integrated with the list of add-ons starting in R2025a
- Installing apps, like we do with toolbox: Good suggestion. I'll pass this along to the team.
- Semantically: a package ("an object or group of objects wrapped in paper or plastic, or packed in a box") is typically something wrapped in an enclosure, to protect it during transport.
- Practically: the package content in the repository is both transmitted over time (the storage function of the repository) and transmitted over space (to client machines); in both cases a zipped container has the obvious benefits of size reduction and integrity control.
- Scalability: imagine a repository with 1000 packages with each e.g. 100 versions. Without an index of some kind, worst case mpmsearch or mpminstall have to read 100000 files to find the single package you are looking for. And then again for the dependencies.
- As mentioned earlier, we have a Sonatype Nexus repository for storing our binary packages and as gateway for onlie repositories. It is similar to Artifactory. It supports a large number of package formats and companion transfer protocols, among which NuGet (for .NET and Powershell) , PyPi (for Python), and so on.
- It also supports "raw" files, meaning that you download the files simply via their "folder" URL on the server. That method can be used for MATLAB Toolboxes: dependent toolboxes can be automatically installed via a web URL.
More Answers (0)
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)