NI Package Management

Showing results for 
Search instead for 
Did you mean: 

Introduction to NIPM Packages

This document is part of the NI Package Management Portal.


Introduction to NI Package Manager (NIPM) Packages


What is an NI Package Manager (NIPM) Package?

An NIPM package file is a .nipkg file, as shown below.

nipkg file.png



An NIPM package has the following:

  • Installation files—An NIPM package installs files to their specified destinations on the target computer
    nipkg - installation files.png

  • Metadata—An NIPM package contains metadata, such as version, description, release notes, category, maintainer, and more.  You can define a package's metadata, view the metadata, and search/filter packages using the metadata.
    nipkg - metadata.png

  • Dependencies—An NIPM package can have defined dependencies. Let’s say Package A v2.0 is dependent on Package B v3.0 and Package C v4.0. If you try to install Package A v2.0, then NIPM knows that it must first ensure that Package B v3.0 and Package C v4.0 are installed first.
    In the example below, the Acme Filter Test package can depend on specific versions of both user-created packages and NI-provided packages (e.g. NI-DAQmx 18.0, LabVIEW 2018 Run-Time Engine, etc).
    nipkg - dependencies.png


In the following example, imagine you have a componentized LabVIEW application that consists of the following components:

  • Main EXE (built using the LabVIEW Application (EXE) build specification)
  • Plug-ins (e.g. modules, hardware abstraction layer instruments, packed project libraries, etc)
  • Required NI software (e.g. NI-VISA Run-Time, NI-SCOPE Run-Time, LabVIEW 2018 Run-Time Engine)

Now, you want to distribute these components using NIPM packages. You can build a package for each component and define the dependencies as shown below.

User-created packages in blue. NI software packages in yellow.User-created packages in blue. NI software packages in yellow.

You might even want to create a higher-level package that make more sense to your end-users who will be performing the installation. For example, your end-user might prefer to just select their Test Station and Device-Under-Test (DUT) and trust that all the necessary software will get installed.

Higher-level user-created package.Higher-level user-created package.


Next: Introduction to NIPM Feeds