Package Manager Comparison
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. |