Package Manager Comparison: Difference between revisions
Appearance
No edit summary |
ChrisCilino (talk | contribs) No edit summary |
||
(21 intermediate revisions by 6 users not shown) | |||
Line 3: | Line 3: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Characteristic !! [[VI Package Manager]] (Free | ! Characteristic !! [[VI Package Manager]] (Community Non-Commercial, Free Commercial, Pro $599) !! [[NI Package Manager]] !! [[G Package Manager]] ([[GPM]]) | ||
|- | |- | ||
| Installs With LabVIEW || Yes | | Installs With LabVIEW || Yes || Yes || No | ||
|- | |- | ||
| Created By | | Created By|| JKI || National Instruments || MGI (Moore Good Ideas) | ||
|- | |- | ||
| Year Released || | | Year Released || 2006 || 2017 || 2018 | ||
|- | |- | ||
| Open Source | | Open Source || No || No || Yes | ||
|- | |- | ||
| Language Written In | | Language Written In || G || C# || G | ||
|- | |- | ||
| Free To Install || Yes | | Free To Install || Yes (Community & Free) || Yes || Yes | ||
|- | |- | ||
| API | | API || Yes (Community & Pro) || Yes || Yes | ||
|- | |- | ||
| Local repository management<sup>1</sup> | | Local repository management<sup>1</sup> || Yes (Pro) || Yes || Yes | ||
|- | |- | ||
| Supports multiple LabVIEW versions from a single package | | Supports multiple LabVIEW versions from a single package || Yes || No || Yes | ||
|- | |- | ||
| Natively supports mass compile after install | | Natively supports mass compile after install || Yes || No || Yes | ||
|- | |- | ||
| Scope of package installation<sup>2</sup> || LabVIEW IDE || | | Scope of package installation<sup>2</sup> || LabVIEW IDE or OS File System || OS File System || Per Project<sup>5</sup> | ||
|- | |- | ||
| Supports LabVIEW NXG | | Supports LabVIEW NXG || No || Yes || No | ||
|- | |- | ||
| Integrates Into | | Integrates Into LabVIEW IDE<sup>8</sup> || Yes || No || No | ||
|- | |- | ||
| Integrates Into | | Integrates Into LabVIEW NXG IDE<sup>9</sup> || No || Yes || No | ||
|- | |- | ||
| Create | | Create palettes as a part of the package creation || Yes || No || No | ||
|- | |- | ||
| Supports Installation to symbolic paths (user.lib) | | Supports Installation to symbolic paths (user.lib) || Yes || No || N/A<sup>6</sup> | ||
|- | |- | ||
| | | 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 Pre Build Step || Yes, G Code (Community & Pro) || Yes - via Source Distribution, G Code || No | ||
|- | |- | ||
| Supports | | Supports Post Build Step || Yes, G Code (Community & Pro) || Yes - via Source Distribution, G Code || No | ||
|- | |- | ||
| Supports | | 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 | | Supports Post Install Step || Yes, G Code (Community & Pro) || Yes - via exe/bat (Configurable from LabVIEW IDE)|| No | ||
|- | |- | ||
| Supports | | Supports Pre Uninstall Step || Yes, G Code (Community & Pro) || Yes - via exe/bat (Configurable from LabVIEW IDE)|| No | ||
|- | |- | ||
| Supports | | 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 | | Supports N post install/pre uninstall steps || No || Yes || No | ||
|- | |- | ||
| Supports N | | Supports N Post Install All steps|| No || Yes || No | ||
|- | |- | ||
| Supports | | Supports Automatic Dependency Scanning<sup>4</sup> || 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 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 77: | 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 || | | 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 90: | Line 92: | ||
|- | |- | ||
| 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. | | 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== | ==External links== | ||
Line 95: | Line 103: | ||
* [https://www.ni.com/en-us/support/downloads/ni-package-manager.html NI Package Manager] | * [https://www.ni.com/en-us/support/downloads/ni-package-manager.html NI Package Manager] | ||
* [https://gpackage.io G 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. |