You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Country smoke CI fails: the pinned policyengine-us 1.824.1 is no longer on PyPI #619
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. Pin the legacy country bundle in Core smoke CI #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.
Activity