pip-style package manager for MATLAB packages
Project description
mip-client
⚠️ Warning: This project is at a very early stage of development and is subject to breaking changes.
A simple pip-style package manager for MATLAB packages.
Installation
Install the package using pip:
pip install mip-package-manager
Or install from source:
# First, clone the repository
git clone https://github.com/mip-org/mip-client.git
cd mip-client
# Then, install the package
pip install -e .
To set up the MATLAB integration, run:
mip setup
This command will create the necessary directories and files in ~/.mip/matlab for MATLAB integration.
Then add ~/.mip/matlab to your MATLAB path permanently. You can do this in MATLAB:
addpath('~/.mip/matlab')
savepath
Alternatively, you can add this to your MATLAB startup.m file (typically located at ~/Documents/MATLAB/startup.m):
addpath('~/.mip/matlab')
Note: After upgrading to a new version of mip, run mip setup to ensure you have the latest MATLAB integration.
Usage
Install a package
Either from the command line or from within MATLAB, run:
mip install package_name
Downloads and installs a package to ~/.mip/packages/package_name.
Currently, the supported packages are:
- export_fig
- chebfun
- surfacefun - depends on chebfun
- FLAM
- kdtree - however, Linux MEX files are not yet provided
- fmm2d - however, only Linux MEX files are currently provided
Using packages in MATLAB
After setting up the MATLAB path and installing packages, you can import them in MATLAB:
% Import a package (adds it to the path for the current session)
mip.import('package_name')
% or
mip import package_name
% Now you can use the package functions
List installed packages
mip list
Shows all currently installed packages.
Uninstall a package
mip uninstall package_name
Removes an installed package after confirmation. Also removes any packages that depend on it.
Internal Package Structure
- Packages are stored in
~/.mip/packages/ - Each package is extracted from a zip (.mhl) file into its own directory
- Each package has a
mip.jsonfile containing metadata and asetup.mthat gets called on import - The
+mipMATLAB namespace is installed in~/.mip/matlab/+mip/
Example
# Install a package
mip install surfacefun
# List installed packages
mip list
# Use in MATLAB
matlab
>> mip import surfacefun
>> % Now use the toolbox functions
# Uninstall
mip uninstall surfacefun
How to add new packages
For now mip supports a very limited set of packages, which are built as part of this repository. To add a new package, you should submit a pull request to https://github.com/mip-org/mip-core.
Requirements
- Python 3.6+
- MATLAB
Authors
Jeremy Magland and Dan Fortunato - Center for Computational Mathematics, Flatiron Institute
License
Apache License 2.0
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mip_package_manager-0.1.3.tar.gz.
File metadata
- Download URL: mip_package_manager-0.1.3.tar.gz
- Upload date:
- Size: 16.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6af8c009f9fa202099ce66f2f5109f6f1d48e8db3122bab0f4540050f9bd5ed
|
|
| MD5 |
2731861863fd9aee6594068bb8837fd7
|
|
| BLAKE2b-256 |
c53b88a1c8d94dcfd76e08edca27da555c2297d9967acc82365214426689b8dd
|
Provenance
The following attestation bundles were made for mip_package_manager-0.1.3.tar.gz:
Publisher:
publish.yml on mip-org/mip-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mip_package_manager-0.1.3.tar.gz -
Subject digest:
d6af8c009f9fa202099ce66f2f5109f6f1d48e8db3122bab0f4540050f9bd5ed - Sigstore transparency entry: 716317834
- Sigstore integration time:
-
Permalink:
mip-org/mip-client@797e49aa01c55d850dcff206c8912c63632fda81 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mip-org
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@797e49aa01c55d850dcff206c8912c63632fda81 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mip_package_manager-0.1.3-py3-none-any.whl.
File metadata
- Download URL: mip_package_manager-0.1.3-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d905cd845389b23c748844d0540eff8a9dfa90dada6d724fa0b160af868f0e06
|
|
| MD5 |
9f2960c6d89ef4f546351f54b410fca4
|
|
| BLAKE2b-256 |
5196af499df00476960c2257ec80441d829474adf752f7a9baa5d99f2bbb6435
|
Provenance
The following attestation bundles were made for mip_package_manager-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on mip-org/mip-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mip_package_manager-0.1.3-py3-none-any.whl -
Subject digest:
d905cd845389b23c748844d0540eff8a9dfa90dada6d724fa0b160af868f0e06 - Sigstore transparency entry: 716317849
- Sigstore integration time:
-
Permalink:
mip-org/mip-client@797e49aa01c55d850dcff206c8912c63632fda81 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mip-org
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@797e49aa01c55d850dcff206c8912c63632fda81 -
Trigger Event:
push
-
Statement type: