From 158817f83ce2e089057275732642233995a2ee0e Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 1 Jul 2026 08:54:08 +0200 Subject: [PATCH] Default US metadata to Populace --- .../populace-default-dataset.changed.md | 1 + policyengine_api/country.py | 8 +++++- tests/unit/services/test_metadata_service.py | 25 ++++++++++++++++++- 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 changelog.d/populace-default-dataset.changed.md diff --git a/changelog.d/populace-default-dataset.changed.md b/changelog.d/populace-default-dataset.changed.md new file mode 100644 index 000000000..c9d7d22f8 --- /dev/null +++ b/changelog.d/populace-default-dataset.changed.md @@ -0,0 +1 @@ +Default US economy metadata to the certified Populace dataset while keeping CPS and enhanced CPS as explicit non-default legacy options. diff --git a/policyengine_api/country.py b/policyengine_api/country.py index e671a3b63..2d978da26 100644 --- a/policyengine_api/country.py +++ b/policyengine_api/country.py @@ -198,11 +198,17 @@ def build_microsimulation_options(self) -> dict: dict(name=2022, label="2022"), ] datasets = [ + dict( + name="default", + label="Populace", + title="Certified Populace dataset", + default=True, + ), dict( name="cps", label="CPS", title="Current Population Survey", - default=True, + default=False, ), dict( name="enhanced_cps", diff --git a/tests/unit/services/test_metadata_service.py b/tests/unit/services/test_metadata_service.py index 255c90189..e356edf94 100644 --- a/tests/unit/services/test_metadata_service.py +++ b/tests/unit/services/test_metadata_service.py @@ -1,6 +1,5 @@ import pytest from policyengine_api.services.metadata_service import MetadataService -from policyengine_api.country import COUNTRIES class TestMetadataService: @@ -118,6 +117,30 @@ def test_verify_metadata_for_given_country( assert "datasets" in metadata["economy_options"] assert isinstance(metadata["economy_options"]["datasets"], list) + def test_us_default_dataset_is_certified_populace(self): + """US metadata should select the bundle-resolved Populace dataset by default.""" + service = MetadataService() + metadata = service.get_metadata("us") + + datasets = metadata["economy_options"]["datasets"] + default_datasets = [dataset for dataset in datasets if dataset.get("default")] + + assert default_datasets == [ + { + "name": "default", + "label": "Populace", + "title": "Certified Populace dataset", + "default": True, + } + ] + assert any( + dataset["name"] == "cps" and not dataset["default"] for dataset in datasets + ) + assert any( + dataset["name"] == "enhanced_cps" and not dataset["default"] + for dataset in datasets + ) + @pytest.mark.parametrize( "country_id, expected_types", [