-
Notifications
You must be signed in to change notification settings - Fork 28
Switch to use uv python package manager #115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: ci-containers
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## ci-containers #115 +/- ##
==============================================
Coverage 99.79% 99.79%
==============================================
Files 9 9
Lines 1451 1451
==============================================
Hits 1448 1448
Misses 3 3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR migrates the project from Poetry to uv as the Python package manager, modernizing the dependency management and build system configuration. The changes replace Poetry-specific configurations with standard PEP 517/518 build system declarations and PEP 735 dependency groups, while updating the CI workflow to use uv commands.
Key Changes:
- Replaced Poetry with hatchling as the build backend and uv for dependency management
- Migrated from Poetry's lock file format to uv's lock file format
- Updated GitHub Actions CI workflow to use uv commands instead of Poetry
Reviewed changes
Copilot reviewed 2 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| uv.lock | New lock file generated by uv containing all dependency specifications and metadata |
| pyproject.toml | Migrated from Poetry configuration to standard PEP 517/518 format with hatchling build backend and PEP 735 dependency groups |
| poetry.lock | Removed Poetry lock file (no longer needed) |
| .github/workflows/ci.yml | Updated CI workflow to install and use uv instead of Poetry for all package management operations |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.github/workflows/ci.yml
Outdated
|
|
||
| - name: Initialize environment | ||
| run: poetry install | ||
| run: uv sync --locked --all-extras --dev |
Copilot
AI
Dec 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The command uses both "--all-extras" and "--dev" flags, but the project doesn't define any optional dependencies (extras) in pyproject.toml - only a "dev" dependency group. The "--all-extras" flag is unnecessary here. Additionally, "--dev" is deprecated in favor of dependency groups. The command should be simplified to "uv sync --locked" or explicitly use "uv sync --locked --all-groups" if you want to be explicit about syncing all dependency groups.
| run: uv sync --locked --all-extras --dev | |
| run: uv sync --locked --all-groups |
30f4d89 to
d92f8cf
Compare
c01d370 to
61bd1ce
Compare
| name = "rapidpro-python" | ||
| version = "2.21.0" | ||
| description = "Python client library for the RapidPro API" | ||
| authors = [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
migrated using uvx migrate-to-uv
There was a problem hiding this 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 2 out of 4 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| poetry build | ||
| poetry config pypi-token.pypi ${{ secrets.PYPI_TOKEN }} | ||
| poetry publish | ||
| python -m pip install -U pip uv |
Copilot
AI
Dec 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The release job installs uv via pip but doesn't use the setup-uv action like the test job does. For consistency and to follow best practices, consider using the astral-sh/setup-uv action here as well. If uv is installed via pip, there may be potential version mismatches or unexpected behavior compared to using the official setup action. Additionally, the release job might benefit from running 'uv sync --locked' before building to ensure a consistent build environment.
652391e to
375dfdb
Compare
migrated using
uvx migrate-to-uv