Skip to content

chore: convert score_tools into a uv workspace - #17

Merged
MaximilianSoerenPollak merged 1 commit into
mainfrom
uv-workspace
Aug 28, 2026
Merged

MaximilianSoerenPollak merged 1 commit into
mainfrom
uv-workspace

Conversation

@AlexanderLanin

Copy link
Copy Markdown
Member

Why

score_tools currently builds one combined Python package out of cr_checker and repo_policy_sync. That makes it hard to add a new, independently reusable component later: every component would be forced to share one dependency list and one wheel, even if it needs none of the others' dependencies.

What

Converts the repo into a uv workspace: the root pyproject.toml becomes a virtual workspace root, and cr_checker and repo_policy_sync each get their own real pyproject.toml with their own dependencies and build config. Everything still shares one .venv and one uv.lock, so day-to-day commands (uv run pytest, uv run ruff, IDE integration) work exactly as before.

This is a pure packaging change — no source code, tests, or behavior changed. CI now builds and smoke-tests each package's wheel separately instead of one combined wheel.

As a side effect of splitting the dependency list per package, pydantic and bazel-runfiles were dropped: neither is used anywhere in the codebase.

This is the first of two stacked PRs; the second will add a new repo_cache component on top of this workspace structure.

Split the single flat pyproject.toml into a uv workspace with
cr_checker and repo_policy_sync as independent packages, each with
its own pyproject.toml and dependencies. The root pyproject.toml is
now a virtual workspace root (package = false) sharing one venv and
lockfile.

This is a pure packaging change with no functional or behavioral
changes to either component. It also lays the groundwork for adding
further independently-installable components to this repo.

While splitting dependencies per package, dropped pydantic and
bazel-runfiles from the root dependency list: neither is imported
anywhere in the codebase, so they were dead weight that predated
this change.

CI now builds and smoke-tests each package's wheel separately instead
of one combined wheel.
@MaximilianSoerenPollak
MaximilianSoerenPollak merged commit 61d7fc4 into main Aug 28, 2026
5 checks passed
@MaximilianSoerenPollak
MaximilianSoerenPollak deleted the uv-workspace branch August 28, 2026 11:25
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