Skip to content

[codex] Migrate project tooling to uv#122

Merged
ItayTheDar merged 2 commits into
mainfrom
Itay-Dar/migrate-to-uv
May 7, 2026
Merged

[codex] Migrate project tooling to uv#122
ItayTheDar merged 2 commits into
mainfrom
Itay-Dar/migrate-to-uv

Conversation

@ItayTheDar

Copy link
Copy Markdown
Contributor

Summary

  • Migrate package metadata from Poetry-specific tables to PEP 621 with Hatchling as the build backend.
  • Replace Poetry usage in tests, docs, release, beta release, and publishing workflows with uv.
  • Keep library-style behavior by ignoring uv.lock, while documenting uv development/build commands.

Impact

  • Contributors can use uv sync, uv run, and uv build for local development.
  • GitHub Actions now install uv, build artifacts with uv build, validate them with Twine, smoke-test wheel/sdist artifacts, and publish with uv publish.
  • Runtime nest.__version__ is aligned with the published package version during releases.

Validation

  • git diff --check
  • uv sync --no-dev --group test
  • uv run pytest tests (22 passed, 1 existing pytest collection warning)
  • uv sync --no-dev --group build
  • uv build --sdist --wheel
  • uv run twine check dist/*
  • UV_PUBLISH_USERNAME=__token__ UV_PUBLISH_PASSWORD=dummy-token uv publish --dry-run
  • isolated wheel and sdist import smoke tests
  • CLI smoke test from built wheel
  • uv sync --no-dev --group docs
  • uv run mkdocs build --clean
  • actionlint on all workflows

Notes

  • Real PyPI/TestPyPI upload still depends on the existing GitHub secrets being valid: RELEASE_GIT_TOKEN, PYPI_API_USER, PYPI_API_TOKEN, TEST_PYPI_API_USER, and TEST_PYPI_API_TOKEN.

@ItayTheDar ItayTheDar marked this pull request as ready for review May 7, 2026 18:08
@ItayTheDar ItayTheDar merged commit a15d5af into main May 7, 2026
30 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.

1 participant