Skip to content

Rename the PyPI distribution from hud-python to hud#490

Merged
jdchawla29 merged 2 commits into
mainfrom
rename/pypi-hud
Jul 14, 2026
Merged

Rename the PyPI distribution from hud-python to hud#490
jdchawla29 merged 2 commits into
mainfrom
rename/pypi-hud

Conversation

@lorenss-m

@lorenss-m lorenss-m commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

We now own the hud name on PyPI. The import (import hud) and the CLI (hud) have always been hud — this makes the distribution name match. Follows the standard PEP 423 rename pattern (publish under the new name; old name becomes a forwarding shim).

  • pyproject.toml: distribution renamed to hud, version bumped to 0.6.9 (first release under the new name; must sort above every published hud-python release so bare installs of the old name resolve to the shim).
  • New shim/: an empty hud-python metapackage that depends on hud>=0.6.9,<0.7, with pass-through extras (hud-python[robot] -> hud[robot], etc.) and the same console scripts so uv tool install/upgrade hud-python keeps producing working executables.
  • release.yml publishes both packages in lockstep.
  • hud/__init__.py warns at import when a pre-rename hud-python (<0.6.9) is installed alongside hud: both ship the same top-level hud package and installers silently overwrite each other (nondeterministically under uv parallel installs).
  • Self-references updated: CLI version check (PyPI URL + upgrade commands), hud init project template, optional-extra error messages/docstrings, cookbook pyprojects (tool.uv.sources key must match the new name), README/docs install commands.
  • GitHub repo URLs are untouched (repo keeps its name); docs pages that reference the repo path are unchanged.

Migration notes (for the release announcement)

  • pip install -U hud-python is safe and moves users onto the shim.
  • Users installing hud into an env that already has old hud-python should pip uninstall hud-python first (the import-time warning also says this).
  • PyPI side before tagging a release: the hud project has one foreign release (0.3b2 from 2016, previous owner) that should be deleted, and the publish token must cover both projects.

Test plan

  • uv build + uv build shim produce hud-0.6.9 and hud_python-0.6.9 artifacts
  • Scratch venv: installing the shim wheel pulls hud, import hud works, hud --version reports 0.6.9, no legacy warning fires (shim >= 0.6.9)
  • ruff check / ruff format --check clean
  • Targeted tests pass (hud/agents/tests/test_base.py extras-error regex, integrations/tests/test_harbor.py)
  • Full suite/pyright: remaining failures reproduce identically on clean origin/main on Windows (pytest capture teardown noise, POSIX-only os.killpg/SIGKILL pyright errors) — pre-existing, unrelated
  • After merge: create the GitHub release and confirm both packages publish; verify pip install hud and pip install hud-python on PyPI

Note

Medium Risk
Release and install paths change (two PyPI projects, version ordering for shim resolution); runtime behavior is mostly unchanged aside from a new import warning for mixed legacy installs.

Overview
Renames the PyPI distribution from hud-python to hud (version 0.6.9); import hud and the hud CLI are unchanged.

Adds a shim/ metapackage that still publishes as hud-python, depends on hud>=0.6.9, forwards optional extras and console scripts, and is built/published alongside hud in release.yml.

On import, hud warns when a pre-0.6.9 hud-python install is present alongside hud (both ship the same top-level package). Docs, cookbooks, hud init template, CLI PyPI version check, and install/extra error strings now say hud instead of hud-python.

Reviewed by Cursor Bugbot for commit c9e82f9. Bugbot is set up for automated code reviews on this repo. Configure here.

The import name and CLI were always hud; now the package name matches.
hud-python becomes an empty shim that depends on hud (with pass-through
extras and entry points), published in lockstep by the release workflow
so existing installs, lockfiles, and uv tool setups keep working.
hud/__init__ warns when a pre-rename hud-python sits alongside hud,
since both ship the same top-level package and overwrite each other.

Co-authored-by: Cursor <cursoragent@cursor.com>
@mintlify

mintlify Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
hud 🟢 Ready View Preview Jul 14, 2026, 6:05 PM

Co-authored-by: Cursor <cursoragent@cursor.com>
@mintlify

mintlify Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
hud 🟡 Building Jul 14, 2026, 6:04 PM

@lorenss-m lorenss-m requested a review from jdchawla29 July 14, 2026 23:54

@jdchawla29 jdchawla29 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@jdchawla29 jdchawla29 merged commit bd1ed9a into main Jul 14, 2026
10 checks passed
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