Skip to content

chore: manage the package entirely with uv - #78

Merged
noel merged 2 commits into
datacoves:mainfrom
GClunies:chore/envrc-uv-sync
Sep 23, 2026
Merged

noel merged 2 commits into
datacoves:mainfrom
GClunies:chore/envrc-uv-sync

Conversation

@GClunies

@GClunies GClunies commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

What

Remove the last pip-era tooling so uv owns the whole package lifecycle: environment, editable install, build, and publish.

Area Before After
Dev environment (.envrc) pip show / pip install -e ".[dev]" guard uv sync
make install-dev rm -rf *.egg-info workaround for pip installs uv sync
make submit / release workflow twine upload uv publish
Dev dependencies build, twine removed (uv build and uv publish replace them)
CI packaging check uv build + twine check uv build + wheel-content asserts

Why

The project already used uv.lock, [dependency-groups], and uv run everywhere. The remaining pip and twine references were leftovers that pulled in a dozen transitive dependencies and could recreate stale egg-info metadata that shadowed the uv-managed install.

twine check only validated README rendering for PyPI. The README is Markdown with the content type set by hatchling, so the check always passed. The wheel-content asserts are the part that catches real packaging regressions.

Verified

  • uv sync installs snowcap editable (uv pip show snowcap reports the repo as the editable location).
  • make package builds the sdist and wheel.
  • uv publish --help confirms UV_PUBLISH_USERNAME / UV_PUBLISH_PASSWORD. The release workflow maps the existing PyPI secrets to them.
  • The publish path itself runs on the next release.

@GClunies GClunies changed the title chore(dev): manage the direnv environment with uv sync instead of pip chore: manage the package entirely with uv Sep 18, 2026
Replace twine upload with uv publish, remove the build dev dependency that
uv build superseded, and drop the egg-info cleanup that only mattered for
pip editable installs. twine stays for the metadata check in CI.
@noel
noel merged commit 08d428e into datacoves:main Sep 23, 2026
6 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