requires-python pins a single patch release (>=3.14.5,<3.14.6), making `make test-py-uv` unrunnable

Ouverte Adaptée aux débutants
#13,681 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
72/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
docker, python

Piste de recherche

Commencez par la ligne 4 de pyproject.toml et comparez sa plage de versions Python avec le chemin make test-py-uv documenté dans AGENTS.md et CLAUDE.md. Reproduisez l’échec avec uv run --with-requirements requirements_test.txt pytest openlibrary/tests/core/ -q, puis vérifiez que la contrainte choisie autorise la commande de test locale tout en préservant la configuration Docker dans docker/Dockerfile.olbase.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Problem

pyproject.toml line 4 pins:

requires-python = ">=3.14.5,<3.14.6"

That range admits exactly one release, 3.14.5. On a machine without that precise patch version, uv refuses to build an environment at all:

$ uv run --with-requirements requirements_test.txt pytest openlibrary/tests/core/test_acquisitions_weave.py -q
error: No interpreter found for Python >=3.14.5, <3.14.6 in managed installations or search path
Why it is not just a local setup issue

AGENTS.md / CLAUDE.md names this the preferred way to run the Python tests:

make test-py-uv # Python tests (preferred — runs outside Docker with uv)

So the documented fast path is the one that breaks, and it breaks in a way that is easy to misread as a broken local install rather than as a repository constraint.

The version is not obtainable

On the machine where this was hit (macOS arm64, uv 0.10.10):

  • installed: 3.14.4 and 3.14.6 — both outside the range
  • uv python list --all-versions offers for download: 3.14.0, 3.14.1, 3.14.2, 3.14.3 — all outside the range

3.14.5 is available by neither route, so there is no local action that satisfies the pin. The only remaining way to run the tests is Docker, which is substantially slower and, on a machine already hosting many per-worktree stacks, not always possible.

Reproduction
uv run --with-requirements requirements_test.txt pytest openlibrary/tests/core/ -q

on any host lacking exactly CPython 3.14.5.

Suggested direction

Widening the upper bound (e.g. >=3.14.5,<3.15) would restore the documented path. Deliberately not opening a PR for it: the pin was presumably narrowed on purpose, and whoever chose it should decide whether the reason still holds. Filing so the cost is visible — the docker/Dockerfile.olbase base image is python:3.14.5-slim-trixie, so CI and the containers are unaffected and this only bites local non-Docker development.

Found while setting up a worktree for #13395.

Langage dominant
Python
Étoiles
6.7k
Forks
2k
Merge moyen
2 j 12 h
PR mergées (30 j)
121

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de internetarchive/openlibrary

Toutes les issues de internetarchive/openlibrary

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.