Create and Manage Packages
You can use the MATLAB® Package Manager to create packages. You can also modify packages and manage their folders and dependencies.
Create A New Package
You can create a new package using the mpmcreate
        function. For example, to create a package named MyPackage. Specify the
        package root folder. Any folders within the specified root folder become member folders of
        the new package. If the specified location does not exist, the function creates a new folder
        and an empty package. If the root folder does not contain a resources
        folder the function creates one. The function adds the package definition file mpackage.json
        to the resources folder.
pkg = mpmcreate("MyPackage","C:\MyCode\MyPackage");
When you create a package using mpmcreate, the package is
          installed in place. In other words, the installed package files and
        folders are located in the specified folder, not in the default installation area. 
Newly created packages have their Editable property set to
          true. So, you can change package properties, and the package definition
        file updates accordingly.
Install Package In Editable Mode
By default, installed packages are not editable. If you want to be able to modify an
        installed package, specify the Editable name-value argument as true when
        you install the package using the mpminstall
        function. Alternatively, if you specify Authoring=true, then the function
        installs the package in place with the Editable property set to
          true.
pkg = mpminstall("MyPackage",Authoring=true);For additional information about finding and installing packages, see Find and Install Packages.
When you make changes to an installed package, it is recommended that you update the
        version of the package to support backward compatibility. When installing a package, the
          mpminstall
        function copies the metadata stored in the package definition file
          mpackage.json and stores it. Changes to
          mpackage.json do not affect installed packages unless the package is in
        editable mode. 
Edit Package Information
A package must be in editable mode for MATLAB to recognize changes to the information stored in its package definition file
        and member folders. By default, packages are created in editable mode. Uninstalled packages
        are in editable mode except when they are in a repository. That is, the
          Editable property of uninstalled packages is always
          true, except for packages in repositories. The
          Editable property of uninstalled packages in a repository is always
          false. Packages are not installed in editable mode by default. However,
        you can specify a package to be editable when you install it with mpminstall by
        specifying the Authoring name-value argument as
        true.
When a package is in editable mode, the package definition file can change when you
        change the properties of the matlab.mpm.Package object corresponding to that package. Use mpmlist to
        create a matlab.mpm.Package object for an installed package you would like to modify. 
pkg = mpmlist("MyPackage");For uninstalled packages, use matlab.mpm.Package and specify the package root folder.
pkg = matlab.mpm.Package("C:\MyCode\MyPackage")pkg = 
  Package with properties:
   Package Definition
                     Name: "MyPackage"
              DisplayName: "MyPackage"
                  Version: 1.0.0 (1×1 Version)
                  Summary: ""
              Description: ""
                 Provider: Email (1×1 Provider)
                  Folders: [PackageApp    functions] (1×2 PackageFolder)
             Dependencies: ""
     ReleaseCompatibility: "*"
              FormerNames: ""
                       ID: "4ca03e45-70d0-44b3-b0e5-ac18cf32d534"
   Package Installation
                Installed: 1
                 Editable: 0
    InstalledAsDependency: 0
              PackageRoot: "C:\MyCode\MyPackage"
    InstalledDependencies: ""
      MissingDependencies: ""
   Repository
               Repository: [0×0 Repository]
  help MyPackage
The MATLAB Package Manager automatically updates the package definition file
          mpackage.json according to the changes you make to the package object
        properties. For example, add a description to MyPackage by editing the
          Description property on the package object
        pkg.
pkg.Description = "This is my first package"pkg = 
  Package with properties:
   Package Definition
                     Name: "MyPackage"
              DisplayName: "MyPackage"
                  Version: 1.0.0 (1×1 Version)
                  Summary: ""
              Description: "This is my first Package"
                 Provider: Email (1×1 Provider)
                  Folders: [PackageApp    functions] (1×2 PackageFolder)
             Dependencies: ""
     ReleaseCompatibility: "*"
              FormerNames: ""
                       ID: "4ca03e45-70d0-44b3-b0e5-ac18cf32d534"
   Package Installation
                Installed: 1
                 Editable: 0
    InstalledAsDependency: 0
              PackageRoot: "C:\MyCode\MyPackage"
    InstalledDependencies: ""
      MissingDependencies: ""
   Repository
               Repository: [0×0 Repository]
  help MyPackage
Manage Package Code and Subfolders
You can add code to a package by placing the files in the root folder or in subfolders.
        Then, add subfolders to a package as member folders using the addFolder
        function so that the MATLAB Package Manager updates the package definition file accordingly. 
For example, create a subfolder in MyPackage named
          NewFolder and add it to the package.
mkdir("MyPackage/NewFolder") addFolder(pkg,"NewFolder")
You can remove member folders from the package and its definition file by using the
          removeFolder
        function. The function removes the folder from mpackage.json but does not
        delete the folder or its contents. Subfolders in a package that are not included in the
        package definition file are not added to the path when the package is installed.
Manage Package Dependencies
Package code must be contained within the package root folder to be part of the package.
        However, some packages depend on code in other packages. These other packages are called
        dependencies. You can add dependencies to a package using the addDependency
        function, and the MATLAB Package Manager updates the package definition file accordingly.
        When installing a package, the MATLAB Package Manager also installs package dependencies by
        default.
For example, add the package MyOtherPackage as a dependency of
          MyPackage.
addDependency(pkg,"MyOtherPackage")You can remove dependencies from a package and its definition file by using the
          removeDependency function. The function removes dependencies from the package
        but does not uninstall them. You can update the version of an existing dependency by using
        the updateDependency function.
If you want to make MyPackage available to other users, add it to a
        repository. For more information about sharing packages, see Distribute Packages Using Folder-Based Repositories.
See Also
Objects
Functions
- mpackage.json|- mpmcreate|- mpminstall|- mpmuninstall|- addFolder|- removeFolder|- addDependency|- removeDependency|- updateDependency