Skip to content

lvpm 0.2.0

Choose a tag to compare

@Flydroid Flydroid released this 23 Sep 12:15
· 15 commits to main since this release
564886b

Second release of lvpm, an open-source package manager for LabVIEW packages.

What's in the box

lvpm.exe and the two licences. Unzip anywhere and put the folder on your
PATH — or let the install script do it:

irm https://raw.githubusercontent.com/Flydroid/lvpm/main/scripts/install.ps1 -OutFile install.ps1
.\install.ps1

The relink VI is no longer a companion file: it is embedded in the
executable and written out to a temporary path when it is needed, so the
binary you run no longer depends on a source checkout beside it. It is
still saved for LabVIEW 2020, so any LabVIEW from 2020 on can load it.

New since 0.1.0-alpha.1

  • Per-project dependencies (venvs). lvpm venv create makes a .project
    venv mounted through LVAddons, so a project's packages live beside the
    project instead of in the LabVIEW installation. lvpm launch starts a
    LabVIEW that sees it.
  • lvpm.toml, lvpm's own manifest, with a [sources] table and version
    constraints. Any command run at or below it picks it up, and lvpm install
    with no arguments installs the whole list as one plan with one relink pass.
  • Headless LabVIEW for containers and CI. Handshake-based readiness
    instead of a fixed wait, and relink and hooks are off by default in a
    headless run rather than silently starting a LabVIEW. --relink and
    --hooks turn them back on.
  • Upgrades. Installing over an installed package upgrades it; a
    downgrade is refused unless you pass --allow-downgrade.
  • lvpm uninstall --all removes every package in the target.
  • Palette and menu refresh after install, uninstall and hooks, and
    lvpm refresh to do it on its own.
  • lvpm start starts the selected LabVIEW and waits until its VI Server
    answers; lvpm run-hooks reruns a PostInstall hook that failed during
    install.
  • app-probe joins the vi-probe / vi-run / vi-save VI Server
    primitives, and all of them talk to the venv's LabVIEW when a venv is in
    effect.
  • An install script that verifies the download's SHA-256 before it
    extracts anything, and a contributor setup guide.

Fixes

  • A number inside a package name is no longer read as the package version.
  • Files that Replace Mode = If Newer left alone are now recorded in the
    install manifest, so uninstall accounts for them.
  • The relink VI is bundled with the application rather than looked up on disk.

Verifying the download

The zip's SHA-256 is recorded by GitHub as the asset digest and shipped in
SHA256SUMS. The install script checks both. By hand:

Get-FileHash -Algorithm SHA256 .\lvpm-0.2.0-windows-x64.zip
07c3a9d09b233657cdadd1320ae64f5272925e16effc0858c17af2a2ad96050b

Known limitations

  • LabVIEW must be running for lvpm to relink; lvpm starts it when it is not,
    except in a headless run.
  • In LabVIEW 2026 the relink VI is initially blocked because it comes from an
    untrusted source.
  • Hook VIs' own error out is not read back. No mass compile. Windows only;
    Linux target detection exists but is untested.

See the README for the full list. Not affiliated with JKI or NI.