Open
Conversation
Replaces Poetry with uv for Python dependency management. Converts pyproject.toml to PEP 621 format, regenerates the lockfile, and updates the Dockerfiles, entrypoint, and CI workflows to use uv. greenlet is now a declared dependency (previously added ad-hoc in CI). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Addresses SonarCloud hotspots by pinning astral-sh/setup-uv to its commit SHA. Drops Python 3.10/3.11 from the tests matrix — they never satisfied requires-python = ">=3.12,<3.13" and were silently failing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
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.



Summary
pyproject.tomlfrom[tool.poetry]layout to PEP 621[project]+[dependency-groups]poetry.lock→uv.lock)entrypoint.sh, and thetests/checksworkflows to useuv sync/uv rungreenletto a first-class dependency (previously injected viapoetry add greenletin CI)tests.ymlmatrix — they never satisfiedrequires-python = ">=3.12,<3.13"and were silently failing under the old Poetry configastral-sh/setup-uvto a commit SHA (SonarCloud hotspot)Notes
[tool.uv] package = false— we don't build/publishord_appas a wheel;uv syncinstalls only dependencies, matching the previouspoetry install --no-rootbehavior.^x.y.z) to PEP 440 ranges (>=x.y.z,<next).python = "~3.12"becamerequires-python = ">=3.12,<3.13".UV_PROJECT_ENVIRONMENT=/usr/localsouvicorn/alembicland onPATH, lettingentrypoint.shandsupervisord.confcall them directly (no wrapper needed).Dockerfile.singleusesuv sync --no-devfor production;Dockerfile(dev image) syncs the full env including thedevgroup.Test plan
uv sync --frozensucceeds locallyuv run ruff check ord_app/passesdocker build -f Dockerfile .succeeds; resulting image hasuvicorn/alembiconPATHandimport ord_app, fastapi, sqlalchemy, alembicworksdocker build -f Dockerfile.single .succeeds; resulting image hasuvicorn/alembiconPATH, imports work, andpytestis correctly absent (--no-dev)uv run pytype -j autopasses in CIuv run alembic upgrade headsucceeds in CI against Postgresuv run pytest -vv --cov=ord_apppasses in CI🤖 Generated with Claude Code