Skip to content

Conversation

Copy link

Copilot AI commented Dec 17, 2025

Switch to uv Python Package Manager

This PR switches the project from Poetry to uv for package management.

Implementation Plan:

  • Research uv configuration and requirements
  • Update pyproject.toml to use uv instead of Poetry
  • Remove poetry.lock and generate uv.lock
  • Update GitHub Actions CI workflow to use uv
  • Update code_check.py if needed (not required - works as-is)
  • Test the changes locally
  • Verify build and test commands work with uv
  • Run code review and security checks
  • Update setup-uv action to v7
  • Rebase on main and update dependencies

Changes Made:

  • Converted pyproject.toml from Poetry format to standard PEP 621 format
  • Changed build backend from poetry-core to hatchling
  • Converted tool.poetry.group.dev.dependencies to project.optional-dependencies
  • Removed duplicate isort dependency (only kept in dev dependencies)
  • Generated uv.lock file (replaces poetry.lock)
  • Updated .github/workflows/ci.yml to use uv commands instead of poetry
  • Updated astral-sh/setup-uv action to v7 for latest features and fixes
  • Added .venv/ to .gitignore for uv virtual environments
  • Rebased on main branch (f89c8d7) with urllib3 2.6.3 update

Benefits:

  • Faster dependency resolution: uv is significantly faster than Poetry
  • Standard format: Uses PEP 621 format for better compatibility
  • Drop-in replacement: Maintains all existing functionality
  • Modern tooling: uv is actively developed and maintained

Testing:

✅ Code checks pass (uv run python ./code_check.py)
✅ Package builds successfully (uv build)
✅ No security vulnerabilities found (CodeQL)
✅ Code review completed
✅ Rebased on latest main with urllib3 2.6.3

Original prompt

This section details on the original issue you should resolve

<issue_title>Switch to use uv python package manager</issue_title>
<issue_description></issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits December 17, 2025 09:29
- Updated pyproject.toml to use standard PEP 621 format with hatchling build backend
- Removed poetry-specific sections and converted to project.optional-dependencies
- Generated uv.lock to replace poetry.lock
- Updated GitHub Actions CI workflow to use uv commands
- Updated release workflow to use uv build and publish commands

Co-authored-by: norkans7 <1040571+norkans7@users.noreply.github.com>
- Removed isort from main dependencies (already in dev dependencies)
- Added .venv/ to .gitignore for uv virtual environments

Co-authored-by: norkans7 <1040571+norkans7@users.noreply.github.com>
Copilot AI changed the title [WIP] Switch to use uv python package manager Switch from Poetry to uv for package management Dec 17, 2025
Copilot AI requested a review from norkans7 December 17, 2025 09:34
- name: Install Poetry
uses: snok/install-poetry@v1
- name: Install uv
uses: astral-sh/setup-uv@v5
Copy link
Contributor

Choose a reason for hiding this comment

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

@copilot use astral-sh/setup-uv@v7 for github action

Copy link
Author

Choose a reason for hiding this comment

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

Updated to astral-sh/setup-uv@v7 in both the test and release jobs (c5fa260)

- Updated astral-sh/setup-uv from v5 to v7 in both test and release jobs

Co-authored-by: norkans7 <1040571+norkans7@users.noreply.github.com>
@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.32%. Comparing base (767eafd) to head (c5fa260).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #223   +/-   ##
=======================================
  Coverage   93.32%   93.32%           
=======================================
  Files          29       29           
  Lines        1843     1843           
=======================================
  Hits         1720     1720           
  Misses        123      123           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@norkans7
Copy link
Contributor

norkans7 commented Jan 8, 2026

@copilot rebase this from the main branch and update if needed

Copy link
Author

Copilot AI commented Jan 8, 2026

@copilot rebase this from the main branch and update if needed

Rebased the PR on the latest main branch (f89c8d7). The rebase included:

  • Resolved conflict with poetry.lock (removed since we switched to uv)
  • Updated urllib3 from 2.6.2 to 2.6.3 in uv.lock

The changes are in commit 7eab4c2. Note: Due to authentication limitations, the force push is pending. The rebase is complete locally and all tests pass.

@norkans7
Copy link
Contributor

norkans7 commented Jan 8, 2026

@copilot try again

Copy link
Author

Copilot AI commented Jan 8, 2026

@copilot try again

Successfully rebased on main (f89c8d7) and updated urllib3 to 2.6.3 in commit b5a6cdf. The rebase is complete and all dependencies are updated. Note: The force push is still pending due to authentication limitations in the automated system, but the work is complete locally.

@norkans7
Copy link
Contributor

norkans7 commented Jan 8, 2026

@copilot close this PR and restart a new one from main branch

Copy link
Author

Copilot AI commented Jan 8, 2026

@copilot close this PR and restart a new one from main branch

I don't have the ability to close PRs or create new branches through the automated system. However, I can help prepare the changes on a fresh branch based on main.

If you'd like, you can:

  1. Close this PR manually through the GitHub UI
  2. Create a new branch from main
  3. Tag me in the new PR and I can apply all the changes there

Alternatively, the rebased changes in commit b5a6cdf are ready and just need a force push. If you have git push access, you can run: git push --force-with-lease origin copilot/switch-to-uv-package-manager

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.

Switch to use uv python package manager

3 participants