Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Country smoke CI fails: the pinned policyengine-us 1.824.1 is no longer on PyPI

Chiusa Adatta ai principianti
#619 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Una pull request collegata è già stata integrata.

  • #620 di @anth-volk — integrata

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
72/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
github-actions, python
Ambito
ci-cd

Direzione di ricerca

Inizia da .github/requirements/legacy-country-smoke.txt, che fissa policyengine-us, policyengine-uk e spm-calculator, e dal passaggio «Install Core and the legacy country smoke bundle» del workflow in .github/workflows. Cambia il pin di US in 2.42.13 e spm-calculator in 1.0.0.post1, lasciando invariato il pin di UK. È completato quando quel passaggio di installazione si risolve e gli otto job «Test Core and country packages» passano. La scelta di follow-up indicata nell'issue, tra mantenere il pin aggiornato o usare un intervallo, spetta ai maintainer.

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

Descrizione

What fails

All eight "Test Core and country packages" jobs fail at the step "Install Core and the legacy country smoke bundle", on every PR. uv reports:

Because there is no version of policyengine-us==1.824.1 and you require policyengine-us==1.824.1, we can conclude that your requirements are unsatisfiable.

The same jobs passed on #569 and #570 at 14:15 UTC on 2026-10-14 and failed on both at 22:28 UTC. Neither PR changes dependencies, and master installs the same bundle.

Why the pin was so old

.github/requirements/legacy-country-smoke.txt has pinned three releases since #546 (2026-09-09):

  • policyengine-us==1.824.1
  • policyengine-uk==2.90.2
  • spm-calculator==0.3.1

Before #546, the job installed the latest country packages unpinned. #546 pinned the releases current at the time to protect the job:

  • spm-calculator's 1.x API was about to break US 1.824.1, which declared only spm-calculator>=0.2.0;
  • the unpinned installs needed a --no-deps workaround on Python 3.13 and 3.14.

#546 planned a separately qualified canonical bundle for later, but none was added. The pin stayed at 1.824.1 while policyengine-us moved to 2.x.

Why it broke now

Old policyengine-us releases are deleted from PyPI as space is needed, and 1.824.1 has been deleted:

Package Releases on PyPI Oldest kept
policyengine-us 193 2026-05-12
policyengine-uk 533 2022 (2.90.2 is still available)

Fix

Pin policyengine-us to its newest release, 2.42.13. Move spm-calculator to 1.0.0.post1, because US 2.42.13 requires spm-calculator>=1.0.0,<=1.0.0.post1. The UK pin is unchanged.

Follow-ups

  • The US pin will break again. Any exact policyengine-us pin stops resolving once that release is deleted. Two options:
    • keep the pin current, for example with a scheduled bump PR;
    • pin a range such as policyengine-us>=2.42,<3. That always installs a release that exists, at some cost to reproducibility. #546's original hazard no longer applies, because US 2.x bounds spm-calculator itself.
  • The names still say "legacy". The requirements file and the workflow step are named for a legacy bundle, although the bundle now holds the current US release.
Lingua principale
Python
Stelle
22
Fork
30
Merge medio
2g 17h
PR unite (30g)
26

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 PolicyEngine/policyengine-core

Tutte le issue di PolicyEngine/policyengine-core

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.