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

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

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

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.

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