Skip to content

VIPP 0.13.0a6

Release: public v0.13.0a6 GitHub alpha pre-release and PyPI package

VIPP 0.13.0a6 makes everyday workflow editing much less laborious and makes GPU readiness much easier to understand. You can reuse nodes and connected parts of a graph, place a processing step before an existing tunnel without rebuilding the surrounding workflow, and see one clear GPU setup action instead of interpreting a long diagnostic report.

This alpha also handles more real microscope collections: Imaris .ims files can use the shared microscope-reader path, a batch can treat the separate series inside one container as separate items, and missing acquisition facts can be recorded without altering the pixels.

Features added

Faster graph editing and reuse

  • Select several nodes, move or delete them together, and copy and paste a connected graph fragment. Pasted nodes receive new identities while retaining their internal connections, relevant tunnels, notes, positions, and settings.
  • Use Paste Values to transfer settings between nodes representing the exact same operation. VIPP validates the transfer first, applies it as one change, and lets you undo it once.
  • Insert a compatible node before a tunnel from the tunnel menu, by dropping a palette item on the tunnel, or by dragging a loose node onto it. Existing subscribers remain attached to the same named tunnel.
  • Open Graph Editing Acceptance Check from the examples to try these actions without first preparing images or building a workflow.

Clearer GPU setup and qualification

Compute Doctor 2.0 separates three questions that used to be easy to confuse:

  1. Can CUDA and the GPU really run?
  2. Is the optional cuCIM add-on usable?
  3. How many of VIPP's 13 reviewed GPU regions can this installation actually use?

The window presents those three short results and one recommended next step. Technical evidence remains available under Show advanced details, and a privacy-redacted support report can be saved without including workflow names, local paths, credentials, or raw machine fingerprints.

For developers and release qualification, one reusable admission runner now checks every public GPU implementation against its CPU result, difficult inputs, metadata, unchanged inputs, memory, cancellation, cleanup, fallback, provenance, and transfer-inclusive timing contract. This makes it harder for an accelerated implementation to look ready because only its easiest case passed.

Image series and microscope metadata

  • Imaris .ims files are available through the same optional microscope/BioIO source path as other supported proprietary containers.
  • A multi-series TIFF, NPZ, Zarr, LIF, IMS, or other inspectable container can expand into clearly named batch items. The chosen series is retained in browsing, output names, manifests, and provenance.
  • Set Microscope Metadata records up to three channel emission wavelengths, objective numerical aperture, and immersion refractive index when a reader cannot recover them reliably. It preserves the image pixels and existing values unless the user deliberately supplies a replacement.

These source improvements incorporate and harden community contributions from Tom Naber in pull requests 8, 10, and 13.

Installation and release qualification

  • Clean wheel and source-archive installations are checked across Windows, Linux, and macOS on supported Python versions, including packaged resources, command-line entry points, a small CPU calculation, and structured Compute Doctor output.
  • A weekly Windows canary can reproduce the published no-wheel cuCIM bundle. A separately protected, explicitly enabled Windows CUDA worker is required for the lengthy real build and GPU probes; a skipped private worker is not recorded as a pass.
  • The exact a6 cuCIM ZIP has a checksum-first, Extract All, then Install VIPP cuCIM.cmd route. It builds the pinned source on each user's computer; VIPP still does not publish or redistribute the resulting wheel.
  • A public Windows installer field checklist records fresh CPU and CUDA setup, unusual account paths, rollback, repair, uninstall, and a novice first workflow without marking unperformed checks as successful.

Bug fixes

  • CPU and Prefer GPU now both ignore deliberately loose graph fragments whose required upstream chain does not reach an image source. This lets the graph editing example calculate its valid branch while leaving demonstration fragments uncalculated.

Install or upgrade

For most Windows testers, use the checksum-verified unsigned installer from the installation guide. To upgrade a dedicated manual environment instead:

python -m pip install --upgrade "napari[pyqt6]>=0.6" "napari-vipp==0.13.0a6"

For the separate native-Windows CUDA 13 environment:

python -m pip install --upgrade "napari[pyqt6]>=0.6" "napari-vipp[gpu-cuda13]==0.13.0a6"
vipp-compute-doctor --track cuda13

Preserve the previous environment and original workflow, batch, output, and provenance files. Open a duplicate, recalculate it on CPU, compare the results that matter, and only then re-enable Automatic or Prefer GPU. Generated Python and saved batch runners remain tied to the VIPP version that created them and should be regenerated and revalidated.

The workflow remains schema 4 and the batch configuration/manifest remains schema 3. The new graph-editing, diagnostic, and source-item improvements do not embed calculated pixels or tables in workflow JSON.

Release verification

The source-current engineering check completed 4,572 tests, with 5 documented skips, 2 documented expected failures, and no failures. On the Windows RTX 5090 reference environment, Compute Doctor admitted all 13 of 13 reviewed GPU regions and the strict quick admission run passed 130 of 130 checks across all 16 executable implementation owners. Clean wheel and source archive installs also passed on fresh local environments.

The final clean-tag RTX 5090 run then passed the strict full GPU admission profile for 16 of 16 executable owners, spanning 13 public implementations and all 10 contract facets. Its aggregate evidence SHA-256 is 44bd66033afedcbece8d8746e1779d833af2897ac230adc4e8a98d7847f7f56c.

These checks qualify the source candidate; they do not replace testing the downloaded release on another computer. Fresh-account CUDA installation, account paths containing spaces or non-ASCII characters, interrupted/network rollback, an RTX 40-series system, native Linux CUDA, and a novice installation remain field evidence to collect. Use the checklist above and leave anything not tried as not run.

The release application commit is 859738a28354981ba784d9e49a04cb6e1158a79f. The graph-editing and Priority 1 work reached main through pull request #18, and the immutable release finalization followed through pull request #19. The annotated v0.13.0a6 tag resolves to the final application commit. The exact-source CI run passed package quality and the full CPython 3.12/3.13 matrix on Windows, Linux, and macOS.

The clean tagged wheel and source archive passed Twine inspection. The Windows finalizer's fail-closed source, wheel, frozen-payload, byte-identity, manifest, signature, and checksum checks qualified these exact files. The public GitHub pre-release contains exactly these seven assets, and every published SHA-256 digest matches this table:

Artifact SHA-256
napari_vipp-0.13.0a6-py3-none-any.whl cfd90d096199899077729e55051b0b904cd4393ae66a183521665567ff1ff1f3
napari_vipp-0.13.0a6.tar.gz 21b0ea3e40bcbc203be2604176332c14370458866cd019edf6f2729a88fdf25b
napari-vipp-cucim-installer-0.13.0a6-windows.zip 65d6cff2944c61d0850e091af3d8fe81a9866214d5d19b06d6a1af33f2b6bc47
VIPP-Setup-0.13.0a6-Windows-x86_64-UNSIGNED.exe 12cca5260314ed6d5371849e47df61738f067976471fb8a05b81b900b96921bc
VIPP-Setup-0.13.0a6-Windows-x86_64-UNSIGNED-release.json 152f252dc5bc87ef1ab31d90e20f4007f6d7e3284f6cb5ce10523740852a0035
VIPP-Setup-0.13.0a6-Windows-x86_64-THIRD-PARTY-NOTICES.txt 95ca668d0977be347ab39af820f97652ed3565ed7ea4218205bb3a716a847e2d
SHA256SUMS-Windows-0.13.0a6.txt b45e739d28c0b6e29074db2e02dcc1e450bb7a0d25a302dbd4ee8babbbb369b8

The Windows executable is deliberately not Authenticode-signed. Independent Windows inspection returned NotSigned, with no signer or timestamp certificate. The release manifest binds the installer to the exact tag, application commit, and wheel above. The filename without -UNSIGNED remains reserved for a future valid, timestamped Authenticode build.

Publication verified

The GitHub pre-release is public with exactly seven assets and matching digests. The PyPI release is public; its wheel and source-archive SHA-256 values match the corresponding GitHub assets. The numbered-manual deployment workflow succeeded, and the 0.13.0a6 home page, installation page, and Windows field checklist returned HTTP 200.

Publication does not replace the separate Windows field checks. No unperformed external fresh-machine or novice check is counted as a pass.

Historical 0.13.0a5 source, installer, and artifact evidence remains recorded unchanged in the a5 release notes.