🚚 Migrate from Poetry to uv#21
Open
ThatXliner wants to merge 4 commits into
Open
Conversation
Poetry's lockfile and proprietary [tool.poetry] metadata tied the project to a single tool. Move to standard PEP 621 metadata so any PEP 517 frontend works, and adopt uv for fast, reproducible resolution. Rewrite metadata under [project], move dev deps to [dependency-groups], switch the build backend to uv_build (flat layout via module-root = ""), and replace poetry.lock with uv.lock. Keep dependency bounds equivalent to the former caret constraints; pin click below 8.2 since typer 0.9's CliRunner(mix_stderr=...) was removed there. Read the version from the [project] table in the version test. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The workflows installed Poetry and Poe to drive tests, lints, and builds. Replace them with astral-sh/setup-uv plus uv sync / uv run / uv build, and inline the former poe tasks as direct uv run commands. The test matrix now pins interpreters by writing .python-version. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CONTRIBUTING and the README badge still told contributors to install Poetry and Poe. Update the dev setup, format, and lint commands to uv run, and swap the Poetry badge for the uv badge. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The click<8.2 pin only existed so typer 0.9's CliRunner(mix_stderr=...) kept working. typer 0.16 removed that parameter (click 8.2 separates stderr by default) and bundles rich/shellingham without the [all] extra since 0.12. Require typer>=0.16.0, drop the explicit click constraint and the [all] extra, and call CliRunner() without mix_stderr in the tests. Co-Authored-By: Claude Opus 4.8 (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.
Switches the project from Poetry to uv.
Note
Stacked on #20 — review/merge that first. Base will retarget to `main` once #20 lands.
Changes
Notes
Verification
Clean-env `uv sync --frozen`: ruff + black + isort + mypy --strict clean; 20/20 tests; sdist + wheel build with `py.typed` and all modules, `idae` entrypoint works.
🤖 Generated with Claude Code