Merged
Conversation
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>
Contributor
There was a problem hiding this comment.
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" |
There was a problem hiding this comment.
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" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant changes to the project's dependency management, build system, and tooling configuration. It replaces
poetrywithuvfor dependency and environment management, updates the build system to usehatchling, and transitions from multiple linting and formatting tools toruff. Additionally, it restructures theDockerfileand introduces adocker-compose.yamlfile for containerized development. Below is a summary of the most important changes:Dependency Management and Build System
poetrywithuvfor dependency management, updated all related commands in theMakefileandREADME.md, and removedpoetryconfiguration frompyproject.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))hatchlinginstead ofpoetry-core. ([pyproject.tomlL1-R81](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711L1-R81))Tooling and Linting
black,flake8,isort,mypy, etc.) withrufffor linting and formatting, and updated thepyproject.tomlconfiguration 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)).flake8,.isort.cfg, andmypy.iniconfiguration 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
Dockerfileto useuvfor 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))docker-compose.yamlfile 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
uvdependency manager. ([.github/workflows/build.ymlL29-R40](https://github.com/tomasanchez/cosmic-fastapi/pull/1/files#diff-5c3fa597431eda03ac3339ae6bf7f05e1a50d6fc7333679ec38e21b337cb6721L29-R40))Version and Metadata Updates
0.0.1to1.0.0inpyproject.tomlandsrc/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))