Skip to content

Conversation

@tomasanchez
Copy link
Owner

This pull request introduces significant changes to the project's dependency management, build system, and tooling configuration. It replaces poetry with uv for dependency and environment management, updates the build system to use hatchling, and transitions from multiple linting and formatting tools to ruff. Additionally, it restructures the Dockerfile and introduces a docker-compose.yaml file for containerized development. Below is a summary of the most important changes:

Dependency Management and Build System

  • Replaced poetry with uv for dependency management, updated all related commands in the Makefile and README.md, and removed poetry configuration from pyproject.toml. ([[1]](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R20-R56), [[2]](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L251-R260), [[3]](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711L1-R81))
  • Updated the build system to use hatchling instead of poetry-core. ([pyproject.tomlL1-R81](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711L1-R81))

Tooling and Linting

  • Replaced individual tools (black, flake8, isort, mypy, etc.) with ruff for linting and formatting, and updated the pyproject.toml configuration accordingly. ([[1]](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-63a9c44a44acf85fea213a857769990937107cf072831e1a26808cfde9d096b9L2-R17), [[2]](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711L47-R95))
  • Removed .flake8, .isort.cfg, and mypy.ini configuration files as they are no longer needed. ([[1]](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-6951dbb399883798a226c1fb496fdb4183b1ab48865e75eddecf6ceb6cf46442L1-L5), [[2]](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-730b8e060115cfb91c9a1599ca59e8b034543b1842ff0a31f0275154c39da0e7L1-L2), [[3]](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-6f2d4ba9ca9a357d31014946667b7bed1bfdbc6d2530afc77778fa0a36bee457L1-L3))

Docker and Containerization

  • Refactored the Dockerfile to use uv for dependency management and introduced a multi-stage build process. ([[1]](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557L1-R1), [[2]](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557L11-R43))
  • Added a docker-compose.yaml file for containerized development with live-reloading support. ([docker-compose.yamlR1-R20](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-3fde9d1a396e140fefc7676e1bd237d67b6864552b6f45af1ebcc27bcd0bb6e9R1-R20))

Workflow and CI Updates

  • Updated the GitHub Actions workflow to use Python 3.11 and the uv dependency manager. ([.github/workflows/build.ymlL29-R40](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-5c3fa597431eda03ac3339ae6bf7f05e1a50d6fc7333679ec38e21b337cb6721L29-R40))

Version and Metadata Updates

  • Bumped the project version from 0.0.1 to 1.0.0 in pyproject.toml and src/template/version.py. ([[1]](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711L1-R81), [[2]](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-41d0dd2ef8b3bfeb1fc7c5d8ed3cf76e19e4fc11b3e604531658b2a7ccc2fadfL5-R5))

tomasanchez and others added 2 commits June 14, 2025 20:54
deprecated poetry, linters and formatters removed all unused configuration files.

Signed-off-by: tsanchez <v-tsanchez@acvauctions.com>
switch to Python 3.11, improve caching, and refine Makefile targets

Signed-off-by: tsanchez <v-tsanchez@acvauctions.com>
@tomasanchez tomasanchez requested a review from Copilot June 15, 2025 00:05
@tomasanchez tomasanchez merged commit 1cdd812 into develop Jun 15, 2025
2 checks passed
Copy link
Contributor

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 PR modernizes the project’s dependency management, build system, and development tooling by replacing Poetry with uv, switching to Hatchling for builds, consolidating linting with ruff, and enhancing Docker support.

  • Updated dependency management and build configuration in pyproject.toml
  • Refactored Dockerfile for multi-stage builds and uv integration
  • Revised Makefile and documentation to reflect the new tooling

Reviewed Changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/template/version.py Updated application version to 1.0.0
pyproject.toml Replaced Poetry configuration with uv and Hatchling; updated ruff
mypy.ini, .flake8, .isort.cfg Removed obsolete configuration files
docker-compose.yaml Introduced containerized development with live-reloading support
README.md Updated instructions to use uv instead of Poetry
Makefile Modified commands to align with new dependency and linting tools
Dockerfile Refactored for uv; implemented multi-stage build process
.python-version Set Python version to 3.11.4
.pre-commit-config.yaml Updated hooks to reflect new tooling setup
.github/workflows/build.yml Updated workflow to use Python 3.11 and new uv installation
Comments suppressed due to low confidence (1)

Dockerfile:8

  • The environment variable 'PYTHOPNUNBUFFERED' is likely a typo; it should be 'PYTHONUNBUFFERED' to ensure proper unbuffered output.
     PYTHOPNUNBUFFERED=1 \

line-length = 120
target-version = ['py310']
include = '\.pyi?$'
target-version = "py310"
Copy link

Copilot AI Jun 15, 2025

Choose a reason for hiding this comment

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

Since the project and CI workflow now target Python 3.11, it is recommended to update the Ruff target-version from 'py310' to 'py311'.

Suggested change
target-version = "py310"
target-version = "py311"

Copilot uses AI. Check for mistakes.
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.

3 participants