Package Manager Comparison

From LabVIEW Wiki
Jump to: navigation, search

This is the comparison of package management solutions in the LabVIEW community.

Characteristic VI Package Manager (Community Non-Commercial, Free Commercial, Pro $599) NI Package Manager G Package Manager (GPM)
Installs With LabVIEW Yes Yes No
Created By JKI National Instruments MGI (Moore Good Ideas)
Year Released 2006 2017 2018
Open Source No No Yes
Language Written In G C# G
Free To Install Yes (Community & Free) Yes Yes
API Yes (Community & Pro) Yes Yes
Local repository management1 Yes (Pro) Yes Yes
Supports multiple LabVIEW versions from a single package Yes No Yes
Natively supports mass compile after install Yes No Yes
Scope of package installation2 LabVIEW IDE or OS File System OS File System Per Project5
Supports LabVIEW NXG No Yes No
Integrates Into LabVIEW IDE8 Yes No No
Integrates Into LabVIEW NXG IDE9 No Yes No
Create palettes as a part of the package creation Yes No No
Supports Installation to symbolic paths (user.lib) Yes No N/A6
Support Structure Free & Community or Paid Direct NI Forums GitLab Issue Tracking and Wiki10
Supports Pre Build Step Yes, G Code (Community & Pro) Yes - via Source Distribution, G Code No
Supports Post Build Step Yes, G Code (Community & Pro) Yes - via Source Distribution, G Code No
Supports Pre Install Step Yes, G Code (Community & Pro) Yes - via exe/bat (Advanced: must pack the package) No
Supports Post Install Step Yes, G Code (Community & Pro) Yes - via exe/bat (Configurable from LabVIEW IDE) No
Supports Pre Uninstall Step Yes, G Code (Community & Pro) Yes - via exe/bat (Configurable from LabVIEW IDE) No
Supports Post Uninstall Step Yes, G Code (Community & Pro) Yes - via exe/bat (Advanced: must pack the package) No
Supports N post install/pre uninstall steps No Yes No
Supports N Post Install All steps No Yes No
Supports Automatic Dependency Scanning4 Yes (Community & Pro) No Yes
Has a dedicated package manager application Yes Yes Yes
Packages Searchable via Web Page Yes No Yes
Has a community led, ungated repository of packages12 No No Yes
Can list packages created by other package managers as dependencies7 No No No
Supports 64 bit without manual intervention?3 Yes Yes No
Supports offline\copies of repositories11 Yes (Pro) Yes


Detail Number Additional Information
1 Repository types: A global repository is accessible to anyone. A local repository is created by an individual (company, etc.) and hosted on a local server.
2 Scope of Package Installation: determines if multiple versions of a package are allowed or if you may have only one version of a package.
3 GPM can place files anywhere. However, as of 0.2.0-35, GPackages installed for LabVIEW 64 bit will open, but cant find linked VIs. The GPackage(s) directories must be mass compiled to allow LabVIEW to relink the VIs to eachother.
4 Example
5 LabVIEW IDE Coming Soon
6 Coming Soon
7 Only packages of the same type can be listed as dependencies. For example, a VI Package can only depend on other VI Packages. A VI Package cannot depend on a NI Package.
8 There is no user experience to find, install, upgrade, remove, or autodetect packages from within the LabVIEW IDE.
9 NI Package manager is integrated into the NXG IDE so that the user may find the package responsible for installing missing gvis without leaving the IDE.
10 GPM is open source. The community can contribute to fix issues, add features and make support better.
11 For some organizations, a connection to the internet is not allowed. This feature allows you to internet-based repositories and host them locally for your organization.
12 A community package repository is not governed or gated by any organization. Community members are free to upload/download packages without oversight.

External links