Skip to content

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

Closed

Description

@anth-volk

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. 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions