Jump to content

Package Manager Comparison: Difference between revisions

From LabVIEW Wiki
DerekT (talk | contribs)
Fixed GPM Items.
No edit summary
 
(24 intermediate revisions by 7 users not shown)
Line 3: Line 3:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Characteristic !! [https://vipm.jki.net/ VI Package Manager (Free)] !! [https://vipm.jki.net/ VI Package Manager (Pro $599/user/year)] !! [https://www.ni.com/en-us/support/downloads/ni-package-manager.html NI Package Manager] !! [https://gpackage.io/ G Package Manager (GPM)]
! Characteristic !! [[VI Package Manager]] (Community Non-Commercial, Free Commercial, Pro $599) !! [[NI Package Manager]] !! [[G Package Manager]] ([[GPM]])
|-
|-
| Installs With LabVIEW || Yes || No || Yes || No
| Installs With LabVIEW || Yes || Yes || No
|-
|-
| Created By|| JKI || JKI || National Instruments || MGI (Moore Good Ideas)
| Created By|| JKI || National Instruments || MGI (Moore Good Ideas)
|-
|-
| Year Released || ? || ? || ? || 2018
| Year Released || 2006 || 2017 || 2018
|-
|-
| Open Source || No || No || No || Yes
| Open Source || No || No || Yes
|-
|-
| Language Written In || G  || G || C# || G
| Language Written In || G || C# || G
|-
|-
| Free To Install || Yes || Yes Trial || Yes || Yes
| Free To Install || Yes (Community & Free) || Yes || Yes
|-
|-
| API || No || Yes || Yes || Yes
| API || Yes (Community & Pro) || Yes || Yes
|-
|-
| Local repository management<sup>1</sup> || No || Yes || Yes || Yes
| Local repository management<sup>1</sup> || Yes (Pro) || Yes || Yes
|-
|-
| Supports multiple LabVIEW versions from a single package || Yes || Yes || No || Yes
| Supports multiple LabVIEW versions from a single package || Yes || No || Yes
|-
|-
| Natively supports mass compile after install || Yes || Yes || No || Yes
| Natively supports mass compile after install || Yes || No || Yes
|-
|-
| Scope of package installation<sup>2</sup> || LabVIEW IDE || LabVIEW IDE || LabVIEW IDE || Per Project<sup>5</sup>
| Scope of package installation<sup>2</sup> || LabVIEW IDE or OS File System || OS File System || Per Project<sup>5</sup>
|-
|-
| Supports LabVIEW NXG || No || No || Yes || No
| Supports LabVIEW NXG || No || Yes || No
|-
|-
| Create pallets as a part of the package creation || Yes || Yes || No || No
| Integrates Into LabVIEW IDE<sup>8</sup> || Yes || No || No
|-
|-
| Supports Installation to symbolic paths (user.lib) || Yes || Yes || No || N/A<sup>6</sup>
| Integrates Into LabVIEW NXG IDE<sup>9</sup> || No || Yes || No
|-
|-
| Supports Local and Global repositories<sup>3</sup> || Yes || Yes || Yes || Yes
| Create palettes as a part of the package creation || Yes || No || No
|-
|-
| Support Structure || [https://forums.jki.net/forum/5-vi-package-manager-vipm/ JKI online support] || [https://forums.jki.net/forum/5-vi-package-manager-vipm/ JKI online support] || [https://forums.ni.com/t5/NI-Package-Manager-NIPM/bd-p/1023 NI Forums] || ?
| Supports Installation to symbolic paths (user.lib) || Yes || No || N/A<sup>6</sup>
|-
|-
| Supports Pre Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?
| Support Structure || [https://forums.jki.net/forum/5-vi-package-manager-vipm/ Free & Community] or Paid Direct || [https://forums.ni.com/t5/NI-Package-Manager-NIPM/bd-p/1023 NI Forums] || [https://gitlab.com/mgi/gpm/gpm/wikis/home GitLab Issue Tracking and Wiki]<sup>10</sup>
|-
|-
| Supports Post Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?
| Supports Pre Build Step || Yes, G Code (Community & Pro) || Yes - via Source Distribution, G Code || No
|-
|-
| Supports Pre Install Step || Yes, G Code || Yes, G Code || No || ?
| Supports Post Build Step || Yes, G Code (Community & Pro) || Yes - via Source Distribution, G Code || No
|-
|-
| Supports Post Install Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?
| Supports Pre Install Step || Yes, G Code (Community & Pro) || Yes - via exe/bat (Advanced: must [https://forums.ni.com/t5/NI-Package-Management/Manually-Pack-and-Unpack-Packages/ta-p/3956905 pack the package]) || No
|-
|-
| Supports Pre Uninstall Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?
| Supports Post Install Step || Yes, G Code (Community & Pro) || Yes - via exe/bat (Configurable from LabVIEW IDE)|| No
|-
|-
| Supports Post Uninstall Step || Yes, G Code || Yes, G Code || No || ?
| Supports Pre Uninstall Step || Yes, G Code (Community & Pro) || Yes - via exe/bat (Configurable from LabVIEW IDE)|| No
|-
|-
| Supports N post install/pre uninstall steps || No || No || Yes || ?
| Supports Post Uninstall Step || Yes, G Code (Community & Pro) || Yes - via exe/bat (Advanced: must [https://forums.ni.com/t5/NI-Package-Management/Manually-Pack-and-Unpack-Packages/ta-p/3956905 pack the package]) || No
|-
|-
| Supports N Post Install All steps|| No || No || Yes || ?
| Supports N post install/pre uninstall steps || No || Yes || No
|-
|-
| Supports Automatic Dependency Scanning<sup>4</sup> || No || Yes || No || Yes
| Supports N Post Install All steps|| No || Yes || No
|-
|-
| Has a dedicated package manager application || Yes || Yes || Yes || Yes
| Supports Automatic Dependency Scanning<sup>4</sup> || Yes (Community & Pro) || No || Yes
|-
|-
| Packages Searchable via Web Page || Yes || Yes || No || Yes
| Has a dedicated package manager application || Yes || Yes || Yes
|-
|-
| Has a community repository of packages || No || No || No || Yes
| Packages Searchable via Web Page || Yes || No || Yes
|-
|-
| Can list packages created by other package managers as dependencies<sup>7</sup> || No || No || No || No
| Has a community led, ungated repository of packages<sup>12</sup> || No || No || Yes
|-
| Can list packages created by other package managers as dependencies<sup>7</sup> || No || No || No
|-
| Supports 64 bit without manual intervention?<sup>3</sup> || Yes || Yes || No
|-
| Supports offline\copies of repositories<sup>11</sup> || Yes (Pro) ||  || Yes
|}
|}


Line 73: Line 79:
| 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.  
| 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 || Example
| 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
| 4 || Example
Line 82: Line 88:
|-
|-
| 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.  
| 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==
* [https://vipm.jki.net VI Package Manager]
* [https://www.ni.com/en-us/support/downloads/ni-package-manager.html NI Package Manager]
* [https://gpackage.io G Package Manager]
[[Category:Code distribution]]

Latest revision as of 15:32, 28 August 2020

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