uv: check the pinned uv version

Open
#63 2 comments 0 reactions 1 assignee View on GitHub

Maintainers usually reply within 1 day

@LUCA0765 is already working on this.

Since Nov 13, 2026.

Assessment

This issue has not been assessed yet.

Description

enhancement good first issue

Problem: uv is a documented way to install and run DevReady, and a repo with uv.lock or a required-version pin expects a compatible uv. Today a missing or too-old uv is invisible: uvx fails with its own error, or resolves a different version than the project expects.

Do:

  • Trigger the check only when the project declares uv:
    • uv.lock exists, or
    • pyproject.toml has a [tool.uv] required-version, or
    • uv.toml has required-version.
  • Read the pin with a line-based literal parse (the TOML may be hostile; never echo it). required-version accepts a spec such as >=0.4 — reuse versions.py.
  • uv.lock without a pin means "uv should be installed" (any version); missing uv is a warn, not a fail, because the repo can still be used with pip/pipx.
  • New ids: uv.version (tool missing/too old), project.uv.required (declared spec) — or one id if that reads better, following the existing naming rules in docs/checks.md.
  • Add explain.py and docs/checks.md rows, a CHANGELOG line, unit tests (present/missing/too old, hostile TOML), and mention it in the README check list.

Done when:

  • A repo with uv.lock and no uv on PATH gets one warn with an install suggestion.
  • A required-version mismatch shows both the parsed installed version and the declared spec.
  • A project with neither file gets no new result.
  • pytest, ruff check and ruff format --check pass.

Notes:

  • Needs a quick decision in the PR: one id vs. two. Keep the TOOLS list unchanged (uv is not checked for every project).
  • No network: DevReady never asks uv for the latest version.
Dominant language
Python
Stars
2
Forks
3
Avg merge
10h 51m
Merged PRs (30d)
40

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Evalogical-Inc/devReady

All issues in Evalogical-Inc/devReady

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.