Skip to content

feature: migrate to uv#24

Merged
heinrich10 merged 1 commit intomainfrom
feat/migrate_to_uv
Jan 4, 2026
Merged

feature: migrate to uv#24
heinrich10 merged 1 commit intomainfrom
feat/migrate_to_uv

Conversation

@heinrich10
Copy link
Owner

What?

This pull request modernizes the Python project setup and CI workflow by switching from Poetry to PEP 621 (pyproject.toml) and Hatch, updating dependency management, and streamlining the linting and testing process. The CI pipeline now uses uv for faster dependency installation and leverages poethepoet for task orchestration. These changes improve maintainability, reproducibility, and developer experience.

Project configuration and dependency management:

  • Migrated from Poetry to PEP 621-compliant pyproject.toml, using Hatch as the build backend; dependencies and dev dependencies are now specified in PEP 621 format.
  • Added .python-version to pin Python version to 3.12.12 for consistent local and CI environments.

Continuous Integration (CI) workflow improvements:

  • Updated GitHub Actions workflow to use newer versions of actions/checkout and actions/setup-python, install dependencies with uv, and run linting/testing via poethepoet tasks instead of Poetry.

Linting and type-checking configuration:

  • Added .flake8 config file to standardize linting rules, exclusions, and reporting options.
  • Consolidated linting and type-checking commands into poethepoet tasks in pyproject.toml for easier local and CI usage.

Minor code cleanup:

  • Removed an unnecessary blank line in pyfastapi/repositories/person.py for code tidiness.

Why?

using uv will streamline all my python projects

How?

uvx migrate-to-uv tool and some manual tweaks

Testing?

still the same coverage

Anything Else?

also update the github actions to use uv

@github-actions
Copy link

github-actions bot commented Jan 4, 2026

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
784 764 97% 0% 🟢

New Files

No new covered files...

Modified Files

File Coverage Status
pyfastapi/repositories/person.py 100% 🟢
TOTAL 100% 🟢

updated for commit: 5181700 by action🐍

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

This pull request modernizes the Python project by migrating from Poetry to uv with PEP 621-compliant configuration. The migration includes updating the build system to Hatch, consolidating linting and testing tasks with poethepoet, and streamlining the CI workflow to use uv for faster dependency management.

Key changes:

  • Migrated from Poetry to PEP 621 format with Hatch as the build backend
  • Updated GitHub Actions workflow to use newer action versions and uv for dependency installation
  • Added .flake8 configuration file and poethepoet task definitions

Reviewed changes

Copilot reviewed 5 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pyproject.toml Migrated from Poetry format to PEP 621 standard with Hatch build backend, added poethepoet tasks for linting and testing
.python-version Added file to pin Python version to 3.12.12 for consistent environments
.github/workflows/python-app.yml Updated to use actions/checkout@v4, actions/setup-python@v6, added uv installation and replaced Poetry commands with poe tasks
.flake8 Added configuration file with standardized linting rules and exclusions
uv.lock Generated lock file with complete dependency tree
pyfastapi/repositories/person.py Removed unnecessary blank line for code cleanliness

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

@heinrich10 heinrich10 merged commit 2111877 into main Jan 4, 2026
7 checks passed
@heinrich10 heinrich10 deleted the feat/migrate_to_uv branch January 4, 2026 16:20
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.

2 participants