Skip to content

Conversation

@dividedmind
Copy link
Contributor

This commit migrates the project's dependency management and build system from Poetry to uv and Hatchling.

This change significantly speeds up dependency installation and testing, providing a more efficient development workflow.

Key changes include:

  • pyproject.toml is now configured for Hatchling and uv.
  • GitHub Actions workflows have been updated to use astral-sh/setup-uv.
  • tox.ini is reconfigured to use tox-uv for test environments.
  • README.md has been updated with new setup and usage instructions.
  • Obsolete Poetry and pyenv files (tool-versions.example, etc.) have been removed.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Migrates the project’s Python packaging and dependency workflow from Poetry to uv + Hatchling, updating local tooling and CI/release automation accordingly.

Changes:

  • Replaces Poetry configuration with PEP 621 [project] metadata and Hatchling build settings in pyproject.toml.
  • Updates tox and GitHub Actions to use uv (including tox-uv) instead of Poetry.
  • Removes legacy requirements/tool-version files and refreshes developer docs for uv-based workflows.

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tox.ini Switches tox to tox>=4 + tox-uv, installs project as editable with extras=test, and removes Poetry commands.
tool-versions.example Removes obsolete Python version pinning example.
requirements-test.txt Removes legacy test requirements file (replaced by pyproject extras/tox).
requirements-dev.txt Removes legacy dev requirements file (replaced by pyproject extras/tox).
pyproject.toml Converts Poetry config to [project] + Hatchling build config; defines test/dev optional dependencies.
pylintrc Removes suggestion-mode setting.
ci/scripts/build_with_uv.sh Replaces Poetry build invocation with uv build.
README.md Updates setup/lint/test instructions to use uv.
.releaserc.yml Updates release build script to use the uv-based build script.
.gitignore Ignores uv.lock and *.sqlite3.
.github/workflows/release.yml Installs uv in release workflow (replacing prior Poetry-based setup step).
.github/actions/setup/action.yml Composite action now installs uv and tox tooling via uv tool install.
Comments suppressed due to low confidence (2)

ci/scripts/build_with_uv.sh:8

  • Using $* here will perform word-splitting and can corrupt arguments that contain spaces (and it also drops original argument boundaries). Prefer passing through arguments as "$@" so flags/values are forwarded safely.
    ci/scripts/build_with_uv.sh:17
  • Same argument-forwarding issue here: $* can break when any argument contains whitespace. Use "$@" to forward the original argument list safely.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

This commit migrates the project's dependency management and build
system from Poetry to uv and Hatchling.

This change significantly speeds up dependency installation and testing,
providing a more efficient development workflow.

Key changes include:
- `pyproject.toml` is now configured for Hatchling and uv.
- GitHub Actions workflows have been updated to use `astral-sh/setup-uv`.
- `tox.ini` is reconfigured to use `tox-uv` for test environments.
- `README.md` has been updated with new setup and usage instructions.
- Obsolete Poetry and pyenv files (`tool-versions.example`, etc.) have
  been removed.
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 11 out of 12 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (2)

ci/scripts/build_with_uv.sh:8

  • uv build $* will perform word-splitting and glob expansion, which can corrupt arguments (e.g., paths with spaces) and changes behavior vs. the caller’s intent. Use "$@" when forwarding command arguments (both here and the non-exec invocation below).
    ci/scripts/build_with_uv.sh:16
  • This second uv build $* has the same argument-forwarding problem as the earlier exec line; $* will split/expand unexpectedly. Use "$@" when passing through arguments.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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