Skip to content

Commit a2c997b

Browse files
committed
chore: type version registry metadata
1 parent e665b62 commit a2c997b

2 files changed

Lines changed: 35 additions & 3 deletions

File tree

projects/policyengine-api-simulation/src/modal/utils/update_version_registry.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,33 @@
2424
import argparse
2525
import modal
2626
from packaging.version import InvalidVersion, Version
27+
from typing import TypedDict
2728

2829
POLICYENGINE_VERSION_DICT_NAME = "simulation-api-policyengine-versions"
2930
US_VERSION_DICT_NAME = "simulation-api-us-versions"
3031
UK_VERSION_DICT_NAME = "simulation-api-uk-versions"
3132
APP_RELEASE_BUNDLES_DICT_NAME = "simulation-api-app-release-bundles"
3233

3334

35+
class CountryBundleMetadata(TypedDict):
36+
country: str
37+
model_package_name: str
38+
model_version: str
39+
data_package_name: str
40+
data_version: str
41+
default_dataset: str
42+
default_dataset_uri: str
43+
dataset_uris: dict[str, str]
44+
dataset_aliases: dict[str, str]
45+
46+
47+
class AppReleaseBundleMetadata(TypedDict):
48+
app_name: str
49+
policyengine_version: str
50+
us: CountryBundleMetadata
51+
uk: CountryBundleMetadata
52+
53+
3454
def _is_newer_version(candidate: str, current: str | None) -> bool:
3555
"""Return True when ``candidate`` should replace ``current`` as 'latest'.
3656
@@ -116,7 +136,7 @@ def update_version_dict(
116136
)
117137

118138

119-
def _country_bundle_metadata(country: str) -> dict:
139+
def _country_bundle_metadata(country: str) -> CountryBundleMetadata:
120140
from policyengine_api_simulation.release_bundle import (
121141
DATASET_ALIASES,
122142
get_country_release_bundle,
@@ -140,7 +160,7 @@ def build_app_release_bundle_metadata(
140160
*,
141161
app_name: str,
142162
policyengine_version: str,
143-
) -> dict:
163+
) -> AppReleaseBundleMetadata:
144164
return {
145165
"app_name": app_name,
146166
"policyengine_version": policyengine_version,

projects/policyengine-api-simulation/tests/test_update_version_registry.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,23 @@ def test_put_app_release_bundle_metadata_records_app_and_py_version_aliases(
140140
patched_modal,
141141
monkeypatch,
142142
):
143-
def fake_country_bundle_metadata(country: str) -> dict:
143+
def fake_country_bundle_metadata(
144+
country: str,
145+
) -> registry.CountryBundleMetadata:
144146
return {
145147
"country": country,
148+
"model_package_name": (
149+
"policyengine-us" if country == "us" else "policyengine-uk"
150+
),
146151
"model_version": "1.0.0" if country == "us" else "2.0.0",
152+
"data_package_name": (
153+
"policyengine-us-data"
154+
if country == "us"
155+
else "policyengine-uk-data"
156+
),
147157
"data_version": "3.0.0" if country == "us" else "4.0.0",
158+
"default_dataset": "default",
159+
"default_dataset_uri": f"hf://datasets/policyengine/{country}/default",
148160
"dataset_uris": {"default": f"hf://datasets/policyengine/{country}"},
149161
"dataset_aliases": {"alias": "default"},
150162
}

0 commit comments

Comments
 (0)