uv: check the pinned uv version

Aperta
#63 2 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@LUCA0765 ci sta già lavorando.

Dal 13/11/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

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.
Lingua principale
Python
Stelle
2
Fork
3
Merge medio
10h 51m
PR unite (30g)
40

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Evalogical-Inc/devReady

Tutte le issue di Evalogical-Inc/devReady

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.