diff --git a/changelog.d/bump-country-pins.fixed.md b/changelog.d/bump-country-pins.fixed.md new file mode 100644 index 00000000..804ecd51 --- /dev/null +++ b/changelog.d/bump-country-pins.fixed.md @@ -0,0 +1 @@ +Bump pinned country-model versions in `[us]`, `[uk]`, and `[dev]` extras, and the corresponding bundled release manifests, to versions that support Python 3.9, include the breakdown-range fixes required by the stricter validator in policyengine-core 3.24.0+, and ship with policyengine-core>=3.24.1. Previously `policyengine-us==1.602.0` and `policyengine-uk==2.74.0` were stale pins that no longer installed cleanly under modern core. Data-package pins (`policyengine-us-data==1.73.0`, `policyengine-uk-data==1.40.4`) are unchanged — the bumped model versions read the same dataset artefacts as before. diff --git a/pyproject.toml b/pyproject.toml index bc5034b3..a620f96b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,12 +31,12 @@ dependencies = [ [project.optional-dependencies] uk = [ - "policyengine_core>=3.23.6", - "policyengine-uk==2.74.0", + "policyengine_core>=3.24.1", + "policyengine-uk==2.88.0", ] us = [ - "policyengine_core>=3.23.6", - "policyengine-us==1.602.0", + "policyengine_core>=3.24.1", + "policyengine-us==1.647.0", ] dev = [ "pytest", @@ -48,9 +48,9 @@ dev = [ "build", "pytest-asyncio>=0.26.0", "ruff>=0.9.0", - "policyengine_core>=3.23.6", - "policyengine-uk==2.74.0", - "policyengine-us==1.602.0", + "policyengine_core>=3.24.1", + "policyengine-uk==2.88.0", + "policyengine-us==1.647.0", "towncrier>=24.8.0", "mypy>=1.11.0", "pytest-cov>=5.0.0", diff --git a/src/policyengine/data/release_manifests/uk.json b/src/policyengine/data/release_manifests/uk.json index 90cc1cc1..1ef3a800 100644 --- a/src/policyengine/data/release_manifests/uk.json +++ b/src/policyengine/data/release_manifests/uk.json @@ -5,7 +5,7 @@ "policyengine_version": "3.4.0", "model_package": { "name": "policyengine-uk", - "version": "2.74.0" + "version": "2.88.0" }, "data_package": { "name": "policyengine-uk-data", @@ -24,8 +24,8 @@ "certification": { "compatibility_basis": "exact_build_model_version", "data_build_id": "policyengine-uk-data-1.40.4", - "built_with_model_version": "2.74.0", - "certified_for_model_version": "2.74.0", + "built_with_model_version": "2.88.0", + "certified_for_model_version": "2.88.0", "certified_by": "policyengine.py bundled manifest" }, "default_dataset": "enhanced_frs_2023_24", diff --git a/src/policyengine/data/release_manifests/us.json b/src/policyengine/data/release_manifests/us.json index 20526da9..f4815645 100644 --- a/src/policyengine/data/release_manifests/us.json +++ b/src/policyengine/data/release_manifests/us.json @@ -5,7 +5,7 @@ "policyengine_version": "3.4.0", "model_package": { "name": "policyengine-us", - "version": "1.602.0" + "version": "1.647.0" }, "data_package": { "name": "policyengine-us-data", @@ -24,8 +24,8 @@ "certification": { "compatibility_basis": "exact_build_model_version", "data_build_id": "policyengine-us-data-1.73.0", - "built_with_model_version": "1.602.0", - "certified_for_model_version": "1.602.0", + "built_with_model_version": "1.647.0", + "certified_for_model_version": "1.647.0", "certified_by": "policyengine.py bundled manifest" }, "default_dataset": "enhanced_cps_2024", diff --git a/tests/test_models.py b/tests/test_models.py index 146e8532..fbc613d2 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -29,7 +29,7 @@ def test_has_release_manifest_metadata(self): assert uk_latest.release_manifest is not None assert uk_latest.release_manifest.country_id == "uk" assert uk_latest.model_package.name == "policyengine-uk" - assert uk_latest.model_package.version == "2.74.0" + assert uk_latest.model_package.version == "2.88.0" assert uk_latest.data_package.name == "policyengine-uk-data" assert uk_latest.data_package.version == "1.40.4" assert ( @@ -113,7 +113,7 @@ def test_has_release_manifest_metadata(self): assert us_latest.release_manifest is not None assert us_latest.release_manifest.country_id == "us" assert us_latest.model_package.name == "policyengine-us" - assert us_latest.model_package.version == "1.602.0" + assert us_latest.model_package.version == "1.647.0" assert us_latest.data_package.name == "policyengine-us-data" assert us_latest.data_package.version == "1.73.0" assert ( diff --git a/tests/test_release_manifests.py b/tests/test_release_manifests.py index 35c6e17b..8550b582 100644 --- a/tests/test_release_manifests.py +++ b/tests/test_release_manifests.py @@ -49,7 +49,7 @@ def test__given_us_manifest__then_has_pinned_model_and_data_packages(self): assert manifest.country_id == "us" assert manifest.policyengine_version == "3.4.0" assert manifest.model_package.name == "policyengine-us" - assert manifest.model_package.version == "1.602.0" + assert manifest.model_package.version == "1.647.0" assert manifest.data_package.name == "policyengine-us-data" assert manifest.data_package.version == "1.73.0" assert manifest.data_package.repo_id == "policyengine/policyengine-us-data" @@ -60,8 +60,8 @@ def test__given_us_manifest__then_has_pinned_model_and_data_packages(self): assert manifest.certified_data_artifact.dataset == "enhanced_cps_2024" assert manifest.certification is not None assert manifest.certification.data_build_id == "policyengine-us-data-1.73.0" - assert manifest.certification.built_with_model_version == "1.602.0" - assert manifest.certification.certified_for_model_version == "1.602.0" + assert manifest.certification.built_with_model_version == "1.647.0" + assert manifest.certification.certified_for_model_version == "1.647.0" def test__given_uk_manifest__then_has_pinned_model_and_data_packages(self): manifest = get_release_manifest("uk") @@ -71,7 +71,7 @@ def test__given_uk_manifest__then_has_pinned_model_and_data_packages(self): assert manifest.country_id == "uk" assert manifest.policyengine_version == "3.4.0" assert manifest.model_package.name == "policyengine-uk" - assert manifest.model_package.version == "2.74.0" + assert manifest.model_package.version == "2.88.0" assert manifest.data_package.name == "policyengine-uk-data" assert manifest.data_package.version == "1.40.4" assert ( @@ -84,8 +84,8 @@ def test__given_uk_manifest__then_has_pinned_model_and_data_packages(self): assert manifest.certified_data_artifact.dataset == "enhanced_frs_2023_24" assert manifest.certification is not None assert manifest.certification.data_build_id == "policyengine-uk-data-1.40.4" - assert manifest.certification.built_with_model_version == "2.74.0" - assert manifest.certification.certified_for_model_version == "2.74.0" + assert manifest.certification.built_with_model_version == "2.88.0" + assert manifest.certification.certified_for_model_version == "2.88.0" def test__given_us_dataset_name__then_resolves_to_versioned_hf_url(self): resolved = resolve_dataset_reference("us", "enhanced_cps_2024")