Skip to content

Install vhlab-toolbox-python from a GitHub archive URL instead of git+ - #12

Merged
stevevanhooser merged 1 commit into
mainfrom
use-archive-url-for-vhlab-toolbox
Oct 14, 2026
Merged

stevevanhooser merged 1 commit into
mainfrom
use-archive-url-for-vhlab-toolbox

Conversation

@stevevanhooser

@stevevanhooser stevevanhooser commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

What

Switches the vhlab-toolbox-python dependency from a git+ URL to a GitHub archive (zip) URL in both places that declare it (they mirror each other):

  • pyproject.toml
  • requirements.txt (what CI installs from)
vhlab-toolbox-python @ https://github.com/VH-Lab/vhlab-toolbox-python/archive/refs/heads/main.zip

Why

We are building a double-click NDI installer based on uv tool install. uv (and pip) shell out to a system git for git+ URLs, and many end users (especially on Windows/macOS) have no git. Archive URLs are fetched over plain HTTPS, so git is no longer needed.

⚠️ Merge back-to-back with the companion NDI-python PR

When two packages depend on the same package by direct URL, uv/pip require the URL strings to be identical. ndi and vhlab-library-python both depend on vhlab-toolbox-python, so the companion PR makes NDI-python use exactly the same string: Waltham-Data-Science/NDI-python#326

Until both are merged, installing ndi fails with a conflicting-URL error for vhlab-toolbox-python. Whichever one merges first breaks NDI's install until the other merges, so please merge them back-to-back.

Note on caching

uv caches archive URLs, so updating an existing install later to pick up new main commits needs --reinstall / --refresh (e.g. uv tool install --reinstall ...).

Testing

  • ruff check vhlib/ tests/: passes.
  • Checked that the new requirement parses, and that its URL is byte-identical to the one in the companion NDI-python PR.
  • Not tested locally: this sandbox's network proxy returns HTTP 403 for github.com/.../archive/... downloads, so pip install -r requirements.txt stopped at the download step (pip parsed the requirement fine) and the test suite could not run against the new install. This PR relies on this repo's CI for the real install + test run.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UMLSmPQyLVBfBC52mCahmk

uv and pip shell out to a system git for git+ URLs; archive URLs are
fetched over plain HTTPS, so end users no longer need git installed.
The URL string must match NDI-python's exactly, or resolution fails
with a conflicting-URL error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UMLSmPQyLVBfBC52mCahmk
@stevevanhooser
stevevanhooser merged commit e12de70 into main Oct 14, 2026
4 checks passed
@stevevanhooser
stevevanhooser deleted the use-archive-url-for-vhlab-toolbox branch October 14, 2026 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants