Suggest the nearest version that has a wheel (--suggest)

Aperta
#20 4 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@moelomda ci sta già lavorando.

Dal 10/11/2026.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
55/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python
Ambito
cli, devtools

Direzione di ricerca

Read the linked wheelgap roadmap discussion for context, then inspect Target.accepts, check.wheel_tags, and the fake_pypi tests. Implement the network lookup of PyPI releases and check compatible wheels, skipping yanked files and pre-releases unless the pinned version is a pre-release. Done means the nearest qualifying newer version appears after --explain blocks and in --json, with tests covering multiple fake releases; discuss the output format in the issue first.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement help wanted roadmap

🗺️ Roadmap, ongoing (platforms and inputs): nearest version with a wheel. This issue is one step of the wheelgap roadmap. Read that discussion for the bigger picture and where this fits, and ask questions about this step here.

When a pinned version has a gap, the most useful next step is often "upgrade to X, which has the wheel". For example, foo 1.2 builds from source on musl-aarch64, but foo 1.4 ships musllinux_1_2_aarch64 wheels.

Proposal: with --suggest (it needs the network), for each gap look at the package's other releases on PyPI and report the nearest newer version that has a compatible wheel for every target where the pinned one doesn't:

foo 1.2.0 on musl-aarch64: ● source
  → foo 1.4.0 has a wheel for this target

What to do

  • The JSON API's https://pypi.org/pypi/<name>/json lists every release's files under releases, so one request per gap package is enough.
  • Reuse Target.accepts and check.wheel_tags. Skip yanked files and pre-releases unless the pinned version is itself a pre-release.
  • Show it in the table output after the --explain blocks, and as "suggest": {"<target>": "<version>"} in --json.
  • Tests with fake_pypi, extended to return several releases.

Labelled help wanted: it's a medium-sized feature, and the output format is worth discussing here first.

Lingua principale
Python
Stelle
0
Fork
1
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

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 patrickballard/wheelgap

Tutte le issue di patrickballard/wheelgap

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.