diff --git a/.github/bump_version.py b/.github/bump_version.py index 391c64dc..433c5426 100644 --- a/.github/bump_version.py +++ b/.github/bump_version.py @@ -1,5 +1,6 @@ """Infer semver bump from towncrier fragment types and update version.""" +import json import re import subprocess import sys @@ -116,41 +117,53 @@ def update_file(path: Path, new_version: str): print(f" Updated {path}") -def sync_release_manifest_versions(manifest_dir: Path, new_version: str): - if not manifest_dir.exists(): - return - - for manifest_path in sorted(manifest_dir.glob("*.json")): - country_id = manifest_path.stem - text = manifest_path.read_text() - updated = text - updated, bundle_id_replacements = re.subn( - r'("bundle_id"\s*:\s*")[^"]+(")', - rf"\g<1>{country_id}-{new_version}\g<2>", - updated, - count=1, +def validate_vendored_bundle_version(repo_root: Path, new_version: str): + bundle_path = repo_root / "src" / "policyengine" / "data" / "bundle.json" + if not bundle_path.exists(): + print( + f"Could not find vendored bundle manifest at {bundle_path}", + file=sys.stderr, ) - updated, policyengine_version_replacements = re.subn( - r'("policyengine_version"\s*:\s*")[^"]+(")', - rf"\g<1>{new_version}\g<2>", - updated, - count=1, + sys.exit(1) + + bundle = json.loads(bundle_path.read_text()) + bundle_version = bundle.get("bundle_version") + policyengine_version = (bundle.get("policyengine") or {}).get("version") + if bundle_version != new_version or policyengine_version != new_version: + print( + "Vendored bundle version must be updated before bumping " + "policyengine.py: " + f"expected {new_version}, got bundle_version={bundle_version}, " + f"policyengine.version={policyengine_version}", + file=sys.stderr, ) - missing_fields = [] - if bundle_id_replacements == 0: - missing_fields.append("bundle_id") - if policyengine_version_replacements == 0: - missing_fields.append("policyengine_version") - if missing_fields: - print( - f"Could not update {manifest_path}: missing fields " - f"{', '.join(missing_fields)}", - file=sys.stderr, - ) - sys.exit(1) - if updated != text: - manifest_path.write_text(updated) - print(f" Updated {manifest_path}") + sys.exit(1) + + +def vendored_bundle_matches(repo_root: Path, new_version: str) -> bool: + bundle_path = repo_root / "src" / "policyengine" / "data" / "bundle.json" + if not bundle_path.exists(): + return False + bundle = json.loads(bundle_path.read_text()) + return ( + bundle.get("bundle_version") == new_version + and (bundle.get("policyengine") or {}).get("version") == new_version + ) + + +def vendor_matching_bundle(repo_root: Path, new_version: str): + if vendored_bundle_matches(repo_root, new_version): + return + subprocess.run( + [ + sys.executable, + str(repo_root / ".github" / "vendor_release_bundle.py"), + "--version", + new_version, + ], + cwd=repo_root, + check=True, + ) def main(): @@ -158,7 +171,6 @@ def main(): pyproject = root / "pyproject.toml" changelog = root / "CHANGELOG.md" changelog_dir = root / "changelog.d" - manifest_dir = root / "src" / "policyengine" / "data" / "release_manifests" current = get_current_version(pyproject, changelog, root) bump = infer_bump(changelog_dir) @@ -166,8 +178,9 @@ def main(): print(f"Version: {current} -> {new} ({bump})") + vendor_matching_bundle(root, new) + validate_vendored_bundle_version(root, new) update_file(pyproject, new) - sync_release_manifest_versions(manifest_dir, new) if __name__ == "__main__": diff --git a/.github/check_bundle_consistency.py b/.github/check_bundle_consistency.py new file mode 100644 index 00000000..e80e96a2 --- /dev/null +++ b/.github/check_bundle_consistency.py @@ -0,0 +1,500 @@ +from __future__ import annotations + +import argparse +import hashlib +import json +import re +import sys +import tarfile +from pathlib import Path +from typing import Any + +import tomllib + +REPO_ROOT = Path(__file__).resolve().parents[1] +PYPROJECT = REPO_ROOT / "pyproject.toml" +VENDORED_BUNDLE_ROOT = REPO_ROOT / "src" / "policyengine" / "data" +BUNDLE_PATH = VENDORED_BUNDLE_ROOT / "bundle.json" +COUNTRY_BUNDLE_ROOT = VENDORED_BUNDLE_ROOT +COUNTRY_MANIFEST_ROOT = ( + REPO_ROOT / "src" / "policyengine" / "data" / "release_manifests" +) + + +def main() -> int: + parser = argparse.ArgumentParser( + description="Validate that policyengine.py is synchronized with its bundle." + ) + parser.add_argument( + "--release-bundle", + type=Path, + help="Optional bundle.json downloaded from the matching bundle release.", + ) + parser.add_argument( + "--release-asset-dir", + type=Path, + help=( + "Optional directory containing all policyengine-bundles GitHub " + "release assets for this version." + ), + ) + parser.add_argument( + "--require-certified", + action="store_true", + help=( + "Require release-grade bundle evidence: digest, full validation, " + "and no skipped or failed validation checks." + ), + ) + args = parser.parse_args() + + errors = check_bundle_consistency( + args.release_bundle, + args.release_asset_dir, + require_certified=args.require_certified, + ) + if errors: + print("\n".join(f"- {error}" for error in errors), file=sys.stderr) + return 1 + print("bundle consistency ok") + return 0 + + +def check_bundle_consistency( + release_bundle: Path | None = None, + release_asset_dir: Path | None = None, + *, + require_certified: bool = False, +) -> list[str]: + errors: list[str] = [] + bundle = _load_json(BUNDLE_PATH) + pyproject_version = _pyproject_version(PYPROJECT) + if bundle.get("bundle_version") != pyproject_version: + errors.append( + "Vendored bundle_version must match pyproject version: " + f"{bundle.get('bundle_version')} != {pyproject_version}." + ) + if bundle.get("policyengine", {}).get("version") != pyproject_version: + errors.append("Vendored policyengine package pin must match pyproject version.") + + extras = _optional_dependency_pins(PYPROJECT) + for profile in ("us", "uk"): + errors.extend(_check_profile_extra(bundle, extras, profile)) + errors.extend(_check_dev_extra(bundle, extras)) + errors.extend(_check_vendored_bundle_files(bundle)) + errors.extend(_check_country_manifests(bundle)) + if require_certified: + errors.extend(_check_certified_bundle(bundle)) + if release_bundle is not None: + errors.extend(_check_release_bundle(bundle, _load_json(release_bundle))) + if release_asset_dir is not None: + errors.extend( + _check_release_asset_dir( + bundle, + release_asset_dir, + ) + ) + return errors + + +def _check_profile_extra( + bundle: dict[str, Any], + extras: dict[str, dict[str, str]], + profile: str, +) -> list[str]: + expected = _expected_profile_pins(bundle, profile) + actual = extras.get(profile, {}) + errors = [] + for package_name, expected_version in expected.items(): + actual_version = actual.get(_normalized_package_name(package_name)) + if actual_version != expected_version: + errors.append( + f"[{profile}] must pin {package_name}=={expected_version}; " + f"got {actual_version or 'missing'}." + ) + return errors + + +def _check_dev_extra( + bundle: dict[str, Any], + extras: dict[str, dict[str, str]], +) -> list[str]: + expected: dict[str, str] = {} + for profile in ("us", "uk"): + expected.update(_expected_profile_pins(bundle, profile)) + actual = extras.get("dev", {}) + errors = [] + for package_name, expected_version in expected.items(): + actual_version = actual.get(_normalized_package_name(package_name)) + if actual_version != expected_version: + errors.append( + f"[dev] must pin {package_name}=={expected_version}; " + f"got {actual_version or 'missing'}." + ) + return errors + + +def _check_country_manifests(bundle: dict[str, Any]) -> list[str]: + errors = [] + for country_id, country_bundle_path in bundle.get("countries", {}).items(): + country_bundle_file = COUNTRY_BUNDLE_ROOT / country_bundle_path + country_manifest_file = COUNTRY_MANIFEST_ROOT / f"{country_id}.json" + if not country_bundle_file.is_file(): + errors.append(f"{country_bundle_path} is missing.") + continue + if not country_manifest_file.is_file(): + errors.append(f"release_manifests/{country_id}.json is missing.") + continue + country_bundle = _load_json(country_bundle_file) + country_manifest = _load_json(country_manifest_file) + if country_bundle.get("bundle_version") != bundle.get("bundle_version"): + errors.append( + f"{country_bundle_path} bundle_version does not match bundle." + ) + if country_manifest.get("policyengine_version") != bundle.get("bundle_version"): + errors.append( + f"release_manifests/{country_id}.json policyengine_version " + "does not match bundle." + ) + _compare_country_field( + errors, + country_id, + country_manifest, + country_bundle, + "model_package", + ) + _compare_country_field( + errors, + country_id, + country_manifest, + country_bundle, + "data_package", + ) + if country_manifest.get("default_dataset") != country_bundle.get( + "default_dataset" + ): + errors.append(f"{country_id} default_dataset does not match bundle.") + return errors + + +def _check_vendored_bundle_files(bundle: dict[str, Any]) -> list[str]: + errors = [] + for relative_path in sorted(_bundle_referenced_paths(bundle)): + path = VENDORED_BUNDLE_ROOT / relative_path + if not path.is_file(): + errors.append( + f"Vendored bundle references {relative_path}, but the file is missing." + ) + return errors + + +def _compare_country_field( + errors: list[str], + country_id: str, + country_manifest: dict[str, Any], + country_bundle: dict[str, Any], + field_name: str, +) -> None: + manifest_package = country_manifest.get(field_name, {}) + bundle_package = country_bundle.get(field_name, {}) + for key in ("name", "version"): + if manifest_package.get(key) != bundle_package.get(key): + errors.append( + f"{country_id} {field_name}.{key} does not match bundle: " + f"{manifest_package.get(key)} != {bundle_package.get(key)}." + ) + + +def _check_release_bundle( + vendored_bundle: dict[str, Any], + release_bundle: dict[str, Any], +) -> list[str]: + errors = [] + for field_name in ("bundle_version",): + if vendored_bundle.get(field_name) != release_bundle.get(field_name): + errors.append( + f"Vendored {field_name} does not match bundle release asset: " + f"{vendored_bundle.get(field_name)} != {release_bundle.get(field_name)}." + ) + if vendored_bundle.get("bundle_digest") != release_bundle.get("bundle_digest"): + if vendored_bundle.get("bundle_digest") or release_bundle.get("bundle_digest"): + errors.append( + "Vendored bundle_digest does not match bundle release asset: " + f"{vendored_bundle.get('bundle_digest')} != " + f"{release_bundle.get('bundle_digest')}." + ) + return errors + + +def _check_release_asset_dir( + vendored_bundle: dict[str, Any], + release_asset_dir: Path, +) -> list[str]: + version = str(vendored_bundle.get("bundle_version")) + archive_path = release_asset_dir / f"policyengine-bundle-{version}.tar.gz" + checksum_path = archive_path.with_suffix(archive_path.suffix + ".sha256") + summary_path = release_asset_dir / f"policyengine-bundle-{version}.json" + bundle_path = release_asset_dir / f"bundle-{version}.json" + report_path = release_asset_dir / f"validation-report-{version}.json" + + errors = [] + expected_assets = [ + archive_path, + checksum_path, + summary_path, + bundle_path, + report_path, + ] + for path in expected_assets: + if not path.is_file(): + errors.append(f"Bundle release asset is missing: {path.name}.") + if errors: + return errors + + release_bundle = _load_json(bundle_path) + errors.extend(_check_release_bundle(vendored_bundle, release_bundle)) + errors.extend( + _check_release_summary( + vendored_bundle=vendored_bundle, + summary=_load_json(summary_path), + archive_path=archive_path, + checksum_path=checksum_path, + ) + ) + errors.extend(_check_release_validation_report(vendored_bundle, report_path)) + errors.extend(_check_release_archive(vendored_bundle, archive_path)) + return errors + + +def _check_release_summary( + *, + vendored_bundle: dict[str, Any], + summary: dict[str, Any], + archive_path: Path, + checksum_path: Path, +) -> list[str]: + errors = [] + for field_name in ("bundle_version",): + if vendored_bundle.get(field_name) != summary.get(field_name): + errors.append( + f"Vendored {field_name} does not match bundle release summary: " + f"{vendored_bundle.get(field_name)} != {summary.get(field_name)}." + ) + if vendored_bundle.get("bundle_digest") != summary.get("bundle_digest"): + if vendored_bundle.get("bundle_digest") or summary.get("bundle_digest"): + errors.append( + "Vendored bundle_digest does not match bundle release summary: " + f"{vendored_bundle.get('bundle_digest')} != " + f"{summary.get('bundle_digest')}." + ) + if summary.get("archive") != archive_path.name: + errors.append( + "Bundle release summary archive does not match expected asset name: " + f"{summary.get('archive')} != {archive_path.name}." + ) + + archive_sha256 = _sha256_file(archive_path) + if summary.get("archive_sha256") != archive_sha256: + errors.append( + "Bundle release summary archive_sha256 does not match archive bytes: " + f"{summary.get('archive_sha256')} != {archive_sha256}." + ) + checksum = _read_checksum(checksum_path) + if checksum != archive_sha256: + errors.append( + "Bundle release archive checksum file does not match archive bytes: " + f"{checksum} != {archive_sha256}." + ) + return errors + + +def _check_release_validation_report( + vendored_bundle: dict[str, Any], + report_path: Path, +) -> list[str]: + report_reference = vendored_bundle.get("validation_report") + if not isinstance(report_reference, str): + return ["Vendored bundle does not define validation_report."] + vendored_report_path = VENDORED_BUNDLE_ROOT / report_reference + if not vendored_report_path.is_file(): + return [f"Vendored validation report is missing: {report_reference}."] + release_report = _load_json(report_path) + vendored_report = _load_json(vendored_report_path) + if release_report != vendored_report: + return ["Release validation report does not match vendored validation report."] + return [] + + +def _check_release_archive( + vendored_bundle: dict[str, Any], + archive_path: Path, +) -> list[str]: + version = str(vendored_bundle.get("bundle_version")) + archive_root = f"policyengine-bundle-{version}" + expected_members = { + str(Path(archive_root) / relative_path) + for relative_path in _bundle_referenced_paths(vendored_bundle) + } + expected_members.add(str(Path(archive_root) / "bundle.json")) + + errors = [] + with tarfile.open(archive_path) as archive: + names = set(archive.getnames()) + missing = sorted(expected_members - names) + if missing: + errors.append( + "Bundle release archive is missing referenced files: " + + ", ".join(missing) + + "." + ) + for member_path in sorted(expected_members.intersection(names)): + member = archive.extractfile(member_path) + if member is None: + errors.append(f"Bundle release archive {member_path} is not a file.") + continue + member_bytes = member.read() + relative_path = Path(member_path).relative_to(archive_root).as_posix() + vendored_path = _vendored_bundle_member_path(relative_path) + if not vendored_path.is_file(): + errors.append( + f"Vendored file is missing for archive member {member_path}." + ) + continue + vendored_bytes = vendored_path.read_bytes() + if member_bytes != vendored_bytes: + errors.append( + "Bundle release archive member does not match vendored file: " + f"{member_path}." + ) + if relative_path == "bundle.json": + archive_bundle = json.loads(member_bytes.decode()) + errors.extend(_check_release_bundle(vendored_bundle, archive_bundle)) + return errors + + +def _vendored_bundle_member_path(relative_path: str) -> Path: + if relative_path == "bundle.json": + return BUNDLE_PATH + return VENDORED_BUNDLE_ROOT / relative_path + + +def _check_certified_bundle(bundle: dict[str, Any]) -> list[str]: + errors = [] + digest = bundle.get("bundle_digest") + if not isinstance(digest, str) or not digest.startswith("sha256:"): + errors.append( + "Certified bundle must define bundle_digest starting with sha256:." + ) + report_reference = bundle.get("validation_report") + if not isinstance(report_reference, str): + return errors + ["Certified bundle must define validation_report."] + report_path = VENDORED_BUNDLE_ROOT / report_reference + if not report_path.is_file(): + return errors + [ + f"Certified bundle validation report is missing: {report_reference}." + ] + report = _load_json(report_path) + if report.get("status") != "passed": + errors.append( + "Certified bundle validation report status must be passed: " + f"{report.get('status')}." + ) + metadata = report.get("metadata", {}) + if metadata.get("validation_scope") != "full": + errors.append( + "Certified bundle validation report must have validation_scope='full': " + f"{metadata.get('validation_scope')}." + ) + for check in report.get("checks", []): + if check.get("status") in {"failed", "skipped"}: + errors.append( + "Certified bundle validation report contains a " + f"{check.get('status')} check: {check.get('name')}." + ) + return errors + + +def _bundle_referenced_paths(bundle: dict[str, Any]) -> set[str]: + paths = set() + paths.update(str(path) for path in bundle.get("countries", {}).values()) + validation_report = bundle.get("validation_report") + if isinstance(validation_report, str): + paths.add(validation_report) + for profile in bundle.get("profiles", {}).values(): + for target in profile.get("install_targets", {}).values(): + for field_name in ("constraints", "lockfile"): + path = target.get(field_name) + if isinstance(path, str): + paths.add(path) + return paths + + +def _expected_profile_pins(bundle: dict[str, Any], profile: str) -> dict[str, str]: + package_names = bundle["profiles"][profile]["packages"] + expected = {} + for package_name in package_names: + if package_name == "policyengine": + continue + version = bundle["packages"][package_name].get("version") + if version: + expected[package_name] = version + return expected + + +def _optional_dependency_pins(pyproject: Path) -> dict[str, dict[str, str]]: + pyproject_data = tomllib.loads(pyproject.read_text()) + optional_dependencies = pyproject_data.get("project", {}).get( + "optional-dependencies", {} + ) + extras: dict[str, dict[str, str]] = {} + for extra_name, dependencies in optional_dependencies.items(): + extras[extra_name] = {} + for dependency in dependencies: + pin = _exact_dependency_pin(dependency) + if pin is not None: + package_name, version = pin + extras[extra_name][_normalized_package_name(package_name)] = version + return extras + + +def _exact_dependency_pin(dependency: str) -> tuple[str, str] | None: + requirement = dependency.split(";", 1)[0].strip() + match = re.match(r"^([A-Za-z0-9_.-]+)\s*==\s*([^,\s]+)$", requirement) + if match is None: + return None + return match.group(1), match.group(2) + + +def _pyproject_version(pyproject: Path) -> str: + match = re.search( + r'^version\s*=\s*"([^"]+)"', + pyproject.read_text(), + re.MULTILINE, + ) + if not match: + raise ValueError("Could not find pyproject version.") + return match.group(1) + + +def _normalized_package_name(package_name: str) -> str: + return re.sub(r"[-_.]+", "-", package_name).lower() + + +def _load_json(path: Path) -> dict[str, Any]: + return json.loads(path.read_text()) + + +def _sha256_file(path: Path) -> str: + hasher = hashlib.sha256() + with path.open("rb") as file: + for chunk in iter(lambda: file.read(1024 * 1024), b""): + hasher.update(chunk) + return hasher.hexdigest() + + +def _read_checksum(path: Path) -> str: + return path.read_text().split()[0] + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/.github/vendor_release_bundle.py b/.github/vendor_release_bundle.py new file mode 100644 index 00000000..e9be3dea --- /dev/null +++ b/.github/vendor_release_bundle.py @@ -0,0 +1,346 @@ +from __future__ import annotations + +import argparse +import json +import re +import shutil +import sys +import tarfile +import tempfile +import urllib.request +from pathlib import Path +from typing import Any + +BUNDLE_REPOSITORY = "PolicyEngine/policyengine-bundles" +BUNDLE_ARCHIVE_URL = ( + "https://github.com/" + + BUNDLE_REPOSITORY + + "/releases/download/v{version}/policyengine-bundle-{version}.tar.gz" +) +REPO_ROOT = Path(__file__).resolve().parents[1] +DATA_ROOT = REPO_ROOT / "src" / "policyengine" / "data" +PYPROJECT = REPO_ROOT / "pyproject.toml" +MICRODATA_KIND = "microdata" + + +def main() -> int: + parser = argparse.ArgumentParser( + description="Vendor a released policyengine-bundles archive into .py." + ) + parser.add_argument("--version", required=True) + parser.add_argument( + "--archive", + type=Path, + help="Optional local policyengine-bundle-{version}.tar.gz archive.", + ) + args = parser.parse_args() + + with tempfile.TemporaryDirectory() as temp_dir: + temp_root = Path(temp_dir) + archive_path = ( + args.archive or temp_root / f"policyengine-bundle-{args.version}.tar.gz" + ) + if args.archive is None: + _download_bundle_archive(args.version, archive_path) + bundle_root = _extract_bundle_archive(archive_path, temp_root, args.version) + _vendor_bundle(bundle_root, DATA_ROOT, PYPROJECT) + + print(f"Vendored policyengine bundle {args.version}.") + return 0 + + +def _download_bundle_archive(version: str, destination: Path) -> None: + url = BUNDLE_ARCHIVE_URL.format(version=version) + request = urllib.request.Request(url, headers={"User-Agent": "policyengine.py"}) + destination.parent.mkdir(parents=True, exist_ok=True) + with urllib.request.urlopen(request, timeout=120) as response: + with destination.open("wb") as file: + shutil.copyfileobj(response, file) + + +def _extract_bundle_archive( + archive_path: Path, + temp_root: Path, + version: str, +) -> Path: + extract_root = temp_root / "bundle" + extract_root.mkdir() + with tarfile.open(archive_path) as archive: + _validate_archive_members(archive, extract_root) + archive.extractall(extract_root) + + expected_root = extract_root / f"policyengine-bundle-{version}" + if expected_root.is_dir(): + return expected_root + roots = [path for path in extract_root.iterdir() if path.is_dir()] + if len(roots) == 1: + return roots[0] + raise ValueError(f"Could not find bundle root in {archive_path}.") + + +def _validate_archive_members(archive: tarfile.TarFile, extract_root: Path) -> None: + resolved_root = extract_root.resolve() + for member in archive.getmembers(): + destination = (extract_root / member.name).resolve() + if not destination.is_relative_to(resolved_root): + raise ValueError(f"Unsafe path in bundle archive: {member.name!r}.") + + +def _vendor_bundle(bundle_root: Path, data_root: Path, pyproject_path: Path) -> None: + bundle = _load_json(bundle_root / "bundle.json") + _require_bundle_payload(bundle_root, bundle) + + data_root.mkdir(parents=True, exist_ok=True) + _copy_file(bundle_root / "bundle.json", data_root / "bundle.json") + _replace_tree(bundle_root / "countries", data_root / "countries") + _replace_tree(bundle_root / "install", data_root / "install") + _copy_file( + bundle_root / str(bundle["validation_report"]), + data_root / str(bundle["validation_report"]), + ) + _write_release_manifests(bundle, data_root) + _update_pyproject_pins(bundle, pyproject_path) + + +def _require_bundle_payload(bundle_root: Path, bundle: dict[str, Any]) -> None: + for path in [ + "bundle.json", + bundle.get("validation_report"), + "countries", + "install", + ]: + if path is None: + raise ValueError("Bundle manifest does not define validation_report.") + if not (bundle_root / str(path)).exists(): + raise ValueError(f"Bundle archive is missing {path}.") + for relative_path in bundle.get("countries", {}).values(): + if not (bundle_root / str(relative_path)).is_file(): + raise ValueError(f"Bundle archive is missing {relative_path}.") + + +def _replace_tree(source: Path, target: Path) -> None: + if target.exists(): + shutil.rmtree(target) + shutil.copytree(source, target) + + +def _copy_file(source: Path, target: Path) -> None: + target.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(source, target) + + +def _write_release_manifests(bundle: dict[str, Any], data_root: Path) -> None: + manifest_root = data_root / "release_manifests" + manifest_root.mkdir(parents=True, exist_ok=True) + for country_id, country_path in sorted(bundle.get("countries", {}).items()): + country_bundle = _load_json(data_root / str(country_path)) + existing_path = manifest_root / f"{country_id}.json" + existing = _load_json(existing_path) if existing_path.is_file() else {} + manifest = _country_release_manifest( + country_id=country_id, + bundle=bundle, + country_bundle=country_bundle, + existing_manifest=existing, + ) + existing_path.write_text(json.dumps(manifest, indent=2) + "\n") + + +def _country_release_manifest( + *, + country_id: str, + bundle: dict[str, Any], + country_bundle: dict[str, Any], + existing_manifest: dict[str, Any], +) -> dict[str, Any]: + bundle_version = str(bundle["bundle_version"]) + default_dataset = str(country_bundle["default_dataset"]) + datasets = country_bundle.get("datasets", {}) + default_artifact = datasets.get(default_dataset) + if not isinstance(default_artifact, dict): + raise ValueError(f"{country_id} default dataset is not present in bundle.") + + certification = country_bundle.get("certification", {}) + data_package = _data_package_reference(country_bundle) + return { + "schema_version": 1, + "bundle_id": f"{country_id}-{bundle_version}", + "country_id": country_id, + "policyengine_version": bundle_version, + "model_package": _package_version(country_bundle["model_package"]), + "data_package": data_package, + "certified_data_artifact": { + "data_package": { + "name": data_package["name"], + "version": data_package["version"], + }, + "build_id": certification.get("data_build_id"), + "dataset": default_dataset, + "uri": _policyengine_hf_uri(country_bundle, default_artifact), + "sha256": default_artifact.get("sha256"), + }, + "certification": { + "compatibility_basis": certification.get("compatibility_basis"), + "data_build_id": certification.get("data_build_id"), + "built_with_model_version": ( + certification.get("built_with_model_package", {}).get("version") + ), + "certified_for_model_version": ( + certification.get("certified_for_model_package", {}).get("version") + ), + "data_build_fingerprint": certification.get("data_build_fingerprint"), + "certified_by": "policyengine.py bundled manifest", + }, + "default_dataset": default_dataset, + "datasets": _dataset_path_references(country_bundle), + "region_datasets": existing_manifest.get("region_datasets", {}), + } + + +def _package_version(package: dict[str, Any]) -> dict[str, str]: + payload = { + "name": str(package["name"]), + "version": str(package["version"]), + } + for field_name in ("sha256", "wheel_url"): + value = package.get(field_name) + if isinstance(value, str): + payload[field_name] = value + return payload + + +def _data_package_reference(country_bundle: dict[str, Any]) -> dict[str, str]: + data_package = country_bundle["data_package"] + artifact_release = country_bundle.get("artifact_release", {}) + payload = { + "name": str(data_package["name"]), + "version": str(data_package["version"]), + "repo_id": str(data_package["repo_id"]), + "repo_type": str(data_package.get("repo_type", "model")), + "release_manifest_path": str( + data_package.get("release_manifest_path", "release_manifest.json") + ), + } + release_manifest_revision = artifact_release.get("version") + if isinstance(release_manifest_revision, str): + payload["release_manifest_revision"] = release_manifest_revision + return payload + + +def _dataset_path_references( + country_bundle: dict[str, Any], +) -> dict[str, dict[str, str]]: + references = {} + for dataset_name, artifact in country_bundle.get("datasets", {}).items(): + if artifact.get("kind") != MICRODATA_KIND: + continue + path = artifact.get("path") + if isinstance(path, str): + references[dataset_name] = {"path": path} + return references + + +def _policyengine_hf_uri( + country_bundle: dict[str, Any], + artifact: dict[str, Any], +) -> str: + path = artifact.get("path") + if isinstance(path, str): + repo_id = artifact.get("repo_id") or country_bundle["data_package"]["repo_id"] + revision = artifact.get("revision") or country_bundle["data_package"]["version"] + return f"hf://{repo_id}/{path}@{revision}" + + uri = artifact.get("uri") + if isinstance(uri, str): + return _bundle_hf_uri_to_policyengine_uri(uri) + raise ValueError("Data artifact must define path or uri.") + + +def _bundle_hf_uri_to_policyengine_uri(uri: str) -> str: + if not uri.startswith("hf://"): + return uri + remainder = uri.removeprefix("hf://") + first_component, _, rest = remainder.partition("/") + if first_component in {"model", "dataset"}: + remainder = rest + repo_id, separator, revision_and_path = remainder.partition("@") + if not separator: + return uri + revision, separator, path = revision_and_path.partition("/") + if not separator: + return uri + return f"hf://{repo_id}/{path}@{revision}" + + +def _update_pyproject_pins(bundle: dict[str, Any], pyproject_path: Path) -> None: + text = pyproject_path.read_text() + for package_name, package in sorted(bundle.get("packages", {}).items()): + if package_name == "policyengine": + continue + if package.get("role") == "bundle_carrier": + continue + version = package.get("version") + if not isinstance(version, str): + continue + text, replacements = _replace_optional_dependency_pin( + text, + package_name=package_name, + version=version, + ) + if replacements == 0: + raise ValueError(f"Could not find pyproject pin for {package_name}.") + pyproject_path.write_text(text) + + +def _replace_optional_dependency_pin( + text: str, + *, + package_name: str, + version: str, +) -> tuple[str, int]: + normalized_target = _normalized_package_name(package_name) + replacements = 0 + output_lines = [] + in_optional_dependencies = False + for raw_line in text.splitlines(keepends=True): + line = raw_line.strip() + if line == "[project.optional-dependencies]": + in_optional_dependencies = True + output_lines.append(raw_line) + continue + if in_optional_dependencies and line.startswith("["): + in_optional_dependencies = False + if not in_optional_dependencies: + output_lines.append(raw_line) + continue + dependency_match = re.match(r'^(\s*)"([^"]+)"(,?\s*)$', raw_line) + if dependency_match is None: + output_lines.append(raw_line) + continue + indent, dependency, suffix = dependency_match.groups() + dependency_name = _dependency_name(dependency) + if _normalized_package_name(dependency_name) != normalized_target: + output_lines.append(raw_line) + continue + output_lines.append(f'{indent}"{package_name}=={version}"{suffix}') + replacements += 1 + return "".join(output_lines), replacements + + +def _dependency_name(dependency: str) -> str: + requirement = dependency.split(";", 1)[0].strip() + match = re.match(r"^([A-Za-z0-9_.-]+)", requirement) + if match is None: + return requirement + return match.group(1) + + +def _normalized_package_name(package_name: str) -> str: + return re.sub(r"[-_.]+", "-", package_name).lower() + + +def _load_json(path: Path) -> dict[str, Any]: + return json.loads(path.read_text()) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/.github/workflows/pr_code_changes.yaml b/.github/workflows/pr_code_changes.yaml index 6afecf5a..78d9a8dc 100644 --- a/.github/workflows/pr_code_changes.yaml +++ b/.github/workflows/pr_code_changes.yaml @@ -8,6 +8,7 @@ on: - tests/** - .github/** - changelog.d/** + - pyproject.toml workflow_dispatch: jobs: @@ -44,6 +45,16 @@ jobs: run: uv pip install -e .[dev] --system - name: Run mypy (informational) run: mypy src/policyengine || echo "mypy found errors (non-blocking until codebase is clean)" + Bundle-Consistency: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.13' + - name: Check vendored bundle consistency + run: python .github/check_bundle_consistency.py Python-Compat: name: Install + smoke-import (py${{ matrix.python-version }}) runs-on: ubuntu-latest diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml index 5ccaa6e2..fab5643d 100644 --- a/.github/workflows/push.yaml +++ b/.github/workflows/push.yaml @@ -125,6 +125,8 @@ jobs: env: HUGGING_FACE_TOKEN: ${{ secrets.HUGGING_FACE_TOKEN }} run: python scripts/generate_trace_tros.py + - name: Verify vendored bundle consistency + run: python .github/check_bundle_consistency.py --require-certified - name: Update changelog and TROs uses: EndBug/add-and-commit@v9 with: @@ -150,6 +152,29 @@ jobs: run: uv pip install -e .[dev] --system - name: Install policyengine run: uv pip install policyengine --system + - name: Verify matching bundle release assets + run: | + VERSION=$(python .github/fetch_version.py) + ASSET_DIR=/tmp/policyengine-bundle-assets + mkdir -p "$ASSET_DIR" + curl -fsSL \ + -o "${ASSET_DIR}/bundle-${VERSION}.json" \ + "https://github.com/PolicyEngine/policyengine-bundles/releases/download/v${VERSION}/bundle-${VERSION}.json" + curl -fsSL \ + -o "${ASSET_DIR}/validation-report-${VERSION}.json" \ + "https://github.com/PolicyEngine/policyengine-bundles/releases/download/v${VERSION}/validation-report-${VERSION}.json" + curl -fsSL \ + -o "${ASSET_DIR}/policyengine-bundle-${VERSION}.json" \ + "https://github.com/PolicyEngine/policyengine-bundles/releases/download/v${VERSION}/policyengine-bundle-${VERSION}.json" + curl -fsSL \ + -o "${ASSET_DIR}/policyengine-bundle-${VERSION}.tar.gz" \ + "https://github.com/PolicyEngine/policyengine-bundles/releases/download/v${VERSION}/policyengine-bundle-${VERSION}.tar.gz" + curl -fsSL \ + -o "${ASSET_DIR}/policyengine-bundle-${VERSION}.tar.gz.sha256" \ + "https://github.com/PolicyEngine/policyengine-bundles/releases/download/v${VERSION}/policyengine-bundle-${VERSION}.tar.gz.sha256" + python .github/check_bundle_consistency.py \ + --release-asset-dir "$ASSET_DIR" \ + --require-certified - name: Publish a git tag run: ".github/publish-git-tag.sh" - name: Build package @@ -160,10 +185,17 @@ jobs: user: __token__ password: ${{ secrets.PYPI }} skip_existing: true + - name: Write policyengine wheel attestation + run: | + VERSION=$(python .github/fetch_version.py) + python .github/write_policyengine_wheel_attestation.py \ + --version "$VERSION" \ + --output "policyengine-wheel-attestation-${VERSION}.json" - name: Create GitHub Release run: | VERSION=$(python .github/fetch_version.py) gh release create "$VERSION" \ + "policyengine-wheel-attestation-${VERSION}.json" \ --title "v$VERSION" \ --notes "See [CHANGELOG.md](https://github.com/PolicyEngine/policyengine.py/blob/main/CHANGELOG.md) for details." \ --latest diff --git a/.github/write_policyengine_wheel_attestation.py b/.github/write_policyengine_wheel_attestation.py new file mode 100644 index 00000000..050e1730 --- /dev/null +++ b/.github/write_policyengine_wheel_attestation.py @@ -0,0 +1,137 @@ +from __future__ import annotations + +import argparse +import json +import sys +import time +import urllib.parse +import urllib.request +from datetime import UTC, datetime +from pathlib import Path +from typing import Any + +REPO_ROOT = Path(__file__).resolve().parents[1] +BUNDLE_PATH = REPO_ROOT / "src" / "policyengine" / "data" / "bundle.json" +PYPI_PROJECT = "policyengine" +PYPI_JSON_URL = "https://pypi.org/pypi/{name}/{version}/json" + + +def main() -> int: + parser = argparse.ArgumentParser( + description="Write a post-publish attestation for the policyengine wheel." + ) + parser.add_argument("--version", required=True) + parser.add_argument("--output", required=True, type=Path) + parser.add_argument("--retries", type=int, default=12) + parser.add_argument("--sleep-seconds", type=float, default=10.0) + args = parser.parse_args() + + attestation = build_attestation( + version=args.version, + retries=args.retries, + sleep_seconds=args.sleep_seconds, + ) + args.output.write_text(json.dumps(attestation, indent=2, sort_keys=True) + "\n") + print(f"Wrote {args.output}.") + return 0 + + +def build_attestation( + *, + version: str, + retries: int = 12, + sleep_seconds: float = 10.0, +) -> dict[str, Any]: + bundle = json.loads(BUNDLE_PATH.read_text()) + if bundle.get("bundle_version") != version: + raise ValueError( + "Vendored bundle_version does not match attested policyengine version: " + f"{bundle.get('bundle_version')} != {version}." + ) + if (bundle.get("policyengine") or {}).get("version") != version: + raise ValueError( + "Vendored policyengine package version does not match attested version." + ) + + wheel = _fetch_policyengine_wheel(version, retries, sleep_seconds) + return { + "schema_version": 1, + "generated_at": _now_timestamp(), + "source": "pypi", + "bundle": { + "version": bundle["bundle_version"], + "digest": bundle.get("bundle_digest"), + }, + "package": { + "name": PYPI_PROJECT, + "version": version, + "filename": wheel.get("filename"), + "wheel_url": wheel.get("url"), + "sha256": wheel.get("digests", {}).get("sha256"), + "uploaded_at": wheel.get("upload_time_iso_8601"), + }, + } + + +def _fetch_policyengine_wheel( + version: str, + retries: int, + sleep_seconds: float, +) -> dict[str, Any]: + url = PYPI_JSON_URL.format( + name=urllib.parse.quote(PYPI_PROJECT), + version=urllib.parse.quote(version), + ) + last_error: Exception | None = None + for attempt in range(retries): + try: + payload = _load_json_url(url) + wheel = _select_wheel(payload) + sha256 = wheel.get("digests", {}).get("sha256") + if not isinstance(sha256, str) or not sha256: + raise ValueError( + f"PyPI wheel for {PYPI_PROJECT}=={version} has no sha256." + ) + return wheel + except Exception as exc: + last_error = exc + if attempt == retries - 1: + break + time.sleep(sleep_seconds) + raise RuntimeError( + f"Could not attest {PYPI_PROJECT}=={version} from PyPI after " + f"{retries} attempts." + ) from last_error + + +def _load_json_url(url: str) -> dict[str, Any]: + request = urllib.request.Request(url, headers={"User-Agent": "policyengine.py"}) + with urllib.request.urlopen(request, timeout=30) as response: + return json.load(response) + + +def _select_wheel(payload: dict[str, Any]) -> dict[str, Any]: + wheels = [ + item + for item in payload.get("urls", []) + if item.get("packagetype") == "bdist_wheel" + ] + if not wheels: + raise ValueError("No wheel distribution found on PyPI.") + pure_python_wheels = [ + item for item in wheels if "py3-none-any" in str(item.get("filename", "")) + ] + selected = pure_python_wheels or wheels + sha256s = {item.get("digests", {}).get("sha256") for item in selected} + sha256s.discard(None) + if len(sha256s) != 1: + raise ValueError("PolicyEngine wheel selection is ambiguous.") + return selected[0] + + +def _now_timestamp() -> str: + return datetime.now(UTC).replace(microsecond=0).isoformat().replace("+00:00", "Z") + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/README.md b/README.md index d2c144b3..bc09ec7d 100644 --- a/README.md +++ b/README.md @@ -32,32 +32,41 @@ print(us.tax_unit.income_tax, us.household.household_net_income) ```python import policyengine as pe -from policyengine.core import Simulation -from policyengine.outputs.aggregate import Aggregate, AggregateType - -datasets = pe.uk.ensure_datasets( - datasets=["hf://policyengine/policyengine-uk-data/enhanced_frs_2023_24.h5"], - years=[2026], - data_folder="./data", -) -dataset = datasets["enhanced_frs_2023_24_2026"] -simulation = Simulation(dataset=dataset, tax_benefit_model_version=pe.uk.model) -simulation.run() - -agg = Aggregate( - simulation=simulation, - variable="universal_credit", - aggregate_type=AggregateType.SUM, - entity="benunit", -) -agg.run() -print(f"Total UC spending: £{agg.result / 1e9:.1f}bn") +microsim = pe.uk.managed_microsimulation() +print(microsim.policyengine_bundle["runtime_dataset_uri"]) ``` For baseline-vs-reform comparisons, see `pe.uk.economic_impact_analysis` and its US counterpart. +### Reproducible bundle metadata + +Each `policyengine` release vendors the matching bundle manifest, country +manifests, validation report, and profile install constraints/lockfiles. The +bundle pins the human-facing `.py` version to exact direct PolicyEngine-owned +package versions, country data artifacts, and a validation digest. + +The matching `policyengine-bundles` release is created first and treats +`policyengine` as the bundle carrier, so it does not need the future `.py` wheel +hash. During `policyengine.py` versioning, the workflow vendors that bundle; +after PyPI publish, the GitHub release can attach an attestation with the +actual `.py` wheel SHA256. + +```python +import policyengine as pe + +pe.bundle.require_bundle("4.4.2", profile="uk") +print(pe.bundle.get_bundle_digest()) +print(pe.uk.bundle["data_package"]["version"]) +``` + +Use `pe.us.managed_microsimulation()` or `pe.uk.managed_microsimulation()` for +bundle-managed population runs. Direct country constructors, such as +`policyengine_us.Microsimulation`, bypass `.py` bundle enforcement. Set +`POLICYENGINE_BUNDLE_STRICT=1` to hard-fail when installed direct packages do +not match the vendored bundle. + ## Documentation **Core concepts:** @@ -79,11 +88,29 @@ and its US counterpart. pip install policyengine ``` -This installs both UK and US country models. To install only one: +Install a country profile to include the certified direct country dependencies: + +```bash +pip install "policyengine[uk]==4.4.2" # UK model profile +pip install "policyengine[us]==4.4.2" # US model profile +pip install "policyengine[uk,us]==4.4.2" # both country profiles +``` + +For exact transitive reproducibility, install with the matching constraints from +the corresponding `policyengine-bundles` release. Once `policyengine` is +available in the target environment, the bundled helper can run the constrained +install: + +```bash +python -m policyengine.bundle install us +``` + +From outside the target environment, run it with an explicit target interpreter: ```bash -pip install policyengine[uk] # UK model only -pip install policyengine[us] # US model only +uvx --from policyengine==4.4.2 policyengine-bundle install us \ + --python-version 3.14 \ + --target-python .venv/bin/python ``` ### For development diff --git a/changelog.d/bundle-runtime.changed.md b/changelog.d/bundle-runtime.changed.md new file mode 100644 index 00000000..fa9611ad --- /dev/null +++ b/changelog.d/bundle-runtime.changed.md @@ -0,0 +1 @@ +Add bundle runtime metadata, strict bundle validation, release consistency checks, and a bundle-constrained install helper. diff --git a/docs/release-bundles.md b/docs/release-bundles.md index b3e71f9c..04fc104f 100644 --- a/docs/release-bundles.md +++ b/docs/release-bundles.md @@ -56,9 +56,31 @@ It does not define the final supported runtime bundle exposed to users. - runtime bundle certification - user-facing reproducibility boundaries - the supported mapping from `policyengine.py` version to country model version and certified data artifact +- a package-provided installer helper that maps a profile and Python version to the matching bundle constraints +- vendoring the matching `policyengine-bundles` release during the versioning workflow It does not rebuild microdata artifacts. +## Release Ordering + +The bundle repository publishes a pre-release bundle before the matching +`policyengine.py` wheel exists. In that bundle, the `policyengine` package entry +has `role: "bundle_carrier"` and records the human-facing version, but it does +not require a `.py` wheel URL or SHA256. The lockfiles and constraints solve the +downstream runtime packages only. + +When `policyengine.py` merges a release PR, the Versioning job computes the next +Towncrier version, downloads the matching `policyengine-bundles` release archive, +vendors `bundle.json`, country manifests, install targets, and the validation +report, then bumps `pyproject.toml` to the same version. The Publish job verifies +that the vendored files match the corresponding bundle release assets before it +uploads `policyengine` to PyPI. + +After PyPI accepts the wheel, the Publish job writes an optional wheel +attestation asset on the `policyengine.py` GitHub release. That attestation is +the post-publish record of the actual `.py` wheel URL and SHA256; it is not an +input to the pre-release bundle. + ## Two manifest layers The architecture has two manifest layers with different responsibilities. @@ -437,6 +459,46 @@ The target implementation in `policyengine.py` should add: - explicit runtime bundle metadata on simulations, APIs, and app responses - checksum-backed dataset resolution from the certified bundle manifest +## Installing from a bundle + +Country extras remain the convenient install surface: + +```bash +pip install "policyengine[us]==4.4.2" +``` + +That pins the direct PolicyEngine-owned packages recorded in the vendored +bundle. The wheel also vendors the bundle validation report and generated +profile constraints/lockfiles. For exact transitive reproducibility, use the +profile/Python constraints recorded in the matching bundle: + +The one-line helper is available only after `policyengine==` exists. +Before that point, the matching `policyengine-bundles` release can already exist +as a pre-release bundle, but it intentionally does not contain the future +`policyengine` wheel hash. + +```bash +python -m policyengine.bundle constraints-url us +python -m policyengine.bundle install us +``` + +If the helper is run through `uvx` or another isolated tool runner, pass the +target interpreter and Python version explicitly so the install lands in the +intended environment: + +```bash +uvx --from policyengine==4.4.2 policyengine-bundle install us \ + --python-version 3.14 \ + --target-python .venv/bin/python +``` + +The helper constructs an install equivalent to: + +```bash +python -m pip install "policyengine[us]==4.4.2" \ + -c https://raw.githubusercontent.com/PolicyEngine/policyengine-bundles/v4.4.2/bundles/4.4.2/install/us/py314/constraints.txt +``` + ## Why not let `policyengine.py` build all country data directly? Because that would centralise the wrong concerns: diff --git a/pyproject.toml b/pyproject.toml index b7a1ae9c..db0d0042 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,6 +32,7 @@ dependencies = [ [project.scripts] policyengine = "policyengine.cli:main" +policyengine-bundle = "policyengine.bundle_cli:main" [project.optional-dependencies] plotting = [ @@ -41,11 +42,11 @@ graph = [ "networkx>=3.0", ] uk = [ - "policyengine_core>=3.26.1", + "policyengine-core==3.26.1", "policyengine-uk==2.88.14", ] us = [ - "policyengine_core>=3.26.1", + "policyengine-core==3.26.1", "policyengine-us==1.690.7", ] dev = [ @@ -59,7 +60,7 @@ dev = [ "plotly>=5.0.0", "pytest-asyncio>=0.26.0", "ruff>=0.9.0", - "policyengine_core>=3.26.1", + "policyengine-core==3.26.1", "policyengine-uk==2.88.14", "policyengine-us==1.690.7", "towncrier>=24.8.0", diff --git a/src/policyengine/__init__.py b/src/policyengine/__init__.py index 1c4fb0ae..52e7adf2 100644 --- a/src/policyengine/__init__.py +++ b/src/policyengine/__init__.py @@ -31,6 +31,7 @@ import os from importlib.util import find_spec +from policyengine import bundle as bundle from policyengine import outputs as outputs from policyengine.core import Simulation as Simulation @@ -46,4 +47,4 @@ else: # pragma: no cover uk = None # type: ignore[assignment] -__all__ = ["Simulation", "outputs", "uk", "us"] +__all__ = ["Simulation", "bundle", "outputs", "uk", "us"] diff --git a/src/policyengine/bundle.py b/src/policyengine/bundle.py new file mode 100644 index 00000000..880d5334 --- /dev/null +++ b/src/policyengine/bundle.py @@ -0,0 +1,316 @@ +from __future__ import annotations + +import json +import os +import subprocess +import sys +from collections.abc import Callable +from functools import lru_cache +from importlib import metadata +from importlib.resources import files +from pathlib import Path +from typing import Any, Optional + +STRICT_BUNDLE_ENV_VAR = "POLICYENGINE_BUNDLE_STRICT" +TRUTHY_ENV_VALUES = {"1", "true", "yes", "on"} +BUNDLE_REPOSITORY = "PolicyEngine/policyengine-bundles" +BUNDLE_RAW_URL_TEMPLATE = ( + "https://raw.githubusercontent.com/" + + BUNDLE_REPOSITORY + + "/{ref}/bundles/{version}/{path}" +) +PROFILE_EXTRAS = { + "us": "us", + "uk": "uk", + "all": "uk,us", +} +CommandRunner = Callable[[list[str]], None] + + +class BundleMismatchError(RuntimeError): + """Raised when the installed runtime does not match the vendored bundle.""" + + +@lru_cache +def get_bundle_manifest() -> dict[str, Any]: + bundle_path = files("policyengine").joinpath("data", "bundle.json") + if not bundle_path.is_file(): + raise BundleMismatchError("No vendored PolicyEngine bundle manifest found.") + return json.loads(bundle_path.read_text()) + + +def get_bundle_version() -> str: + return str(get_bundle_manifest()["bundle_version"]) + + +def get_bundle_digest() -> Optional[str]: + digest = get_bundle_manifest().get("bundle_digest") + return str(digest) if digest is not None else None + + +def get_profile(profile: str) -> dict[str, Any]: + profiles = get_bundle_manifest().get("profiles", {}) + try: + return profiles[profile] + except KeyError as exc: + raise BundleMismatchError( + f"Unknown PolicyEngine bundle profile: {profile}" + ) from exc + + +def get_country_bundle(country_id: str) -> dict[str, Any]: + manifest = get_bundle_manifest() + country_path = manifest.get("countries", {}).get(country_id) + if not country_path: + raise BundleMismatchError( + f"No country bundle for {country_id!r} in PolicyEngine bundle " + f"{manifest.get('bundle_version')}." + ) + data_root = files("policyengine").joinpath("data") + country_bundle_path = data_root.joinpath(country_path) + if not country_bundle_path.is_file(): + raise BundleMismatchError( + f"Country bundle {country_path!r} is referenced by bundle.json but " + "is not vendored in this policyengine wheel." + ) + return json.loads(country_bundle_path.read_text()) + + +def get_install_target( + profile: str, + python_version: Optional[str] = None, +) -> dict[str, Any]: + resolved_python_version = python_version or current_python_version() + target_key = python_version_key(resolved_python_version) + install_targets = get_profile(profile).get("install_targets", {}) + try: + return install_targets[target_key] + except KeyError as exc: + raise BundleMismatchError( + f"No install target for profile {profile!r} and Python " + f"{resolved_python_version!r} in PolicyEngine bundle " + f"{get_bundle_version()}." + ) from exc + + +def constraints_url( + profile: str, + python_version: Optional[str] = None, + *, + bundle_ref: Optional[str] = None, +) -> str: + """Return the immutable constraints URL for a profile install target.""" + + version = get_bundle_version() + target = get_install_target(profile, python_version) + constraints_path = str(target["constraints"]) + ref = bundle_ref or f"v{version}" + return BUNDLE_RAW_URL_TEMPLATE.format( + ref=ref, + version=version, + path=constraints_path, + ) + + +def install_profile( + profile: str, + python_version: Optional[str] = None, + *, + installer: str = "pip", + target_python: Optional[str] = None, + dry_run: bool = False, + runner: Optional[CommandRunner] = None, +) -> list[str]: + """Install a certified profile using the vendored bundle's constraints.""" + + command = install_command( + profile, + python_version, + installer=installer, + target_python=target_python, + ) + if dry_run: + return command + resolved_runner = runner or _run_command + resolved_runner(command) + return command + + +def install_command( + profile: str, + python_version: Optional[str] = None, + *, + installer: str = "pip", + target_python: Optional[str] = None, +) -> list[str]: + resolved_target_python = target_python or default_target_python() + package_spec = policyengine_package_spec(profile) + constraints = constraints_url(profile, python_version) + if installer == "pip": + return [ + resolved_target_python, + "-m", + "pip", + "install", + package_spec, + "-c", + constraints, + ] + if installer == "uv": + return [ + "uv", + "pip", + "install", + "--python", + resolved_target_python, + package_spec, + "-c", + constraints, + ] + raise BundleMismatchError( + f"Unsupported installer {installer!r}. Expected 'pip' or 'uv'." + ) + + +def policyengine_package_spec(profile: str) -> str: + try: + extra = PROFILE_EXTRAS[profile] + except KeyError as exc: + raise BundleMismatchError( + f"Unknown PolicyEngine bundle profile: {profile}" + ) from exc + return f"policyengine[{extra}]=={get_bundle_version()}" + + +def python_version_key(python_version: str) -> str: + parts = python_version.split(".") + if len(parts) != 2 or not all(part.isdigit() for part in parts): + raise BundleMismatchError( + "Python version must use major.minor form, e.g. '3.13'." + ) + return f"py{parts[0]}{parts[1]}" + + +def current_python_version() -> str: + return f"{sys.version_info.major}.{sys.version_info.minor}" + + +def default_target_python() -> str: + virtual_env = os.environ.get("VIRTUAL_ENV") + if virtual_env: + candidate = _virtualenv_python(Path(virtual_env)) + if candidate.is_file(): + return str(candidate) + return sys.executable + + +def current_profile_summary(profile: Optional[str] = None) -> dict[str, Any]: + manifest = get_bundle_manifest() + resolved_profile = profile or "all" + package_names = _profile_package_names(resolved_profile) + packages = { + package_name: manifest["packages"][package_name] + for package_name in package_names + } + return { + "bundle_version": manifest["bundle_version"], + "bundle_digest": manifest.get("bundle_digest"), + "profile": resolved_profile, + "packages": packages, + "validation_report": manifest.get("validation_report"), + } + + +def require_bundle( + version: Optional[str] = None, + *, + profile: Optional[str] = None, + strict: bool = True, +) -> dict[str, Any]: + """Validate that the installed runtime matches the vendored bundle.""" + + manifest = get_bundle_manifest() + expected_version = version or manifest["bundle_version"] + if manifest["bundle_version"] != expected_version: + raise BundleMismatchError( + "Vendored PolicyEngine bundle version mismatch: " + f"expected {expected_version}, got {manifest['bundle_version']}." + ) + + summary = current_profile_summary(profile) + if not strict: + return summary + + mismatches = [] + installed: dict[str, dict[str, Any]] = {} + for package_name, package in summary["packages"].items(): + expected_package_version = package.get("version") + if expected_package_version is None: + continue + actual_version = _installed_version(package_name) + installed[package_name] = { + "expected": expected_package_version, + "actual": actual_version, + "matches": actual_version == expected_package_version, + } + if actual_version != expected_package_version: + mismatches.append( + f"{package_name}: expected {expected_package_version}, " + f"got {actual_version or 'not installed'}" + ) + + summary["installed_packages"] = installed + if mismatches: + raise BundleMismatchError( + "Installed PolicyEngine packages do not match the vendored bundle " + f"{manifest['bundle_version']} ({summary['profile']}): " + + "; ".join(mismatches) + ) + return summary + + +def strict_bundle_enabled() -> bool: + return os.environ.get(STRICT_BUNDLE_ENV_VAR, "").lower() in TRUTHY_ENV_VALUES + + +def _profile_package_names(profile: str) -> list[str]: + profile_manifest = get_profile(profile) + return list(profile_manifest.get("packages", [])) + + +def _installed_version(package_name: str) -> Optional[str]: + try: + return metadata.version(package_name) + except metadata.PackageNotFoundError: + return None + + +def _run_command(command: list[str]) -> None: + subprocess.run(command, check=True) + + +def _virtualenv_python(virtual_env: Path) -> Path: + if os.name == "nt": + return virtual_env / "Scripts" / "python.exe" + return virtual_env / "bin" / "python" + + +class CurrentBundle: + def as_dict(self) -> dict[str, Any]: + return get_bundle_manifest() + + def __getitem__(self, key: str) -> Any: + return get_bundle_manifest()[key] + + +current = CurrentBundle() + + +def main(argv: Optional[list[str]] = None) -> int: + from policyengine.bundle_cli import main as bundle_cli_main + + return bundle_cli_main(argv) + + +if __name__ == "__main__": # pragma: no cover + raise SystemExit(main()) diff --git a/src/policyengine/bundle_cli.py b/src/policyengine/bundle_cli.py new file mode 100644 index 00000000..3b777a77 --- /dev/null +++ b/src/policyengine/bundle_cli.py @@ -0,0 +1,106 @@ +from __future__ import annotations + +import argparse +import shlex +from typing import Optional, Sequence + +from policyengine.bundle import ( + constraints_url, + current_python_version, + default_target_python, + get_bundle_version, + install_profile, +) + + +def _parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser( + prog="policyengine-bundle", + description="Install PolicyEngine profiles from the vendored bundle.", + ) + subparsers = parser.add_subparsers(dest="command", required=True) + + constraints = subparsers.add_parser( + "constraints-url", + help="Print the constraints URL for a bundle profile and Python version.", + ) + _add_profile_argument(constraints) + _add_python_version_argument(constraints) + + install = subparsers.add_parser( + "install", + help="Install a certified PolicyEngine profile with bundle constraints.", + ) + _add_profile_argument(install) + _add_python_version_argument(install) + install.add_argument( + "--target-python", + default=None, + help=( + "Interpreter to install into. Defaults to the active virtualenv " + "interpreter when VIRTUAL_ENV is set, otherwise this command's " + "Python interpreter." + ), + ) + install.add_argument( + "--installer", + choices=("pip", "uv"), + default="pip", + help="Installer backend to run. Defaults to pip.", + ) + install.add_argument( + "--dry-run", + action="store_true", + help="Print the install command without running it.", + ) + + return parser + + +def _add_profile_argument(parser: argparse.ArgumentParser) -> None: + parser.add_argument( + "profile", + choices=("us", "uk", "all"), + help="Bundle profile to install.", + ) + + +def _add_python_version_argument(parser: argparse.ArgumentParser) -> None: + parser.add_argument( + "--python-version", + default=current_python_version(), + help=( + "Bundle Python major.minor target. Defaults to the Python version " + "running this command." + ), + ) + + +def main(argv: Optional[Sequence[str]] = None) -> int: + args = _parser().parse_args(argv) + if args.command == "constraints-url": + print(constraints_url(args.profile, args.python_version)) + return 0 + if args.command == "install": + target_python = args.target_python or default_target_python() + command = install_profile( + args.profile, + args.python_version, + installer=args.installer, + target_python=target_python, + dry_run=args.dry_run, + ) + if args.dry_run: + print(shlex.join(command)) + else: + print( + "Installed PolicyEngine bundle " + f"{get_bundle_version()} profile {args.profile!r} into " + f"{target_python}." + ) + return 0 + return 1 + + +if __name__ == "__main__": # pragma: no cover + raise SystemExit(main()) diff --git a/src/policyengine/data/bundle.json b/src/policyengine/data/bundle.json new file mode 100644 index 00000000..e759a800 --- /dev/null +++ b/src/policyengine/data/bundle.json @@ -0,0 +1,127 @@ +{ + "bundle_version": "4.4.3", + "countries": { + "uk": "countries/uk.json", + "us": "countries/us.json" + }, + "created_at": "2026-05-11T20:30:42Z", + "metadata": { + "generated_by": "scripts/generate_bundle.py", + "install_artifact_layout": "install/{profile}/{python}/", + "python_platform": "x86_64-manylinux_2_28", + "python_versions": [ + "3.13" + ], + "testing_only": false + }, + "packages": { + "policyengine": { + "name": "policyengine", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/92/f1/1164557ced4db47a9fddf7e5d301a30578de0cb1fb284c5803c238916df7/policyengine-4.4.3.tar.gz", + "sha256": "a12e8ed43a4b0f205d853853ccc678b2b8857381b8111336e711e35d8e6b1336", + "source": "pypi", + "version": "4.4.3", + "wheel_url": "https://files.pythonhosted.org/packages/68/16/f42e21772742c594194b53302e798c83065c45f34df9b04578540488149d/policyengine-4.4.3-py3-none-any.whl" + }, + "policyengine-core": { + "name": "policyengine-core", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/e7/56/666e1e708cbd61078989edc943d5389d45123beb7124a5e3180171656ff6/policyengine_core-3.26.1.tar.gz", + "sha256": "185374b3c1fe13dc951637c49a9853211ca61a8a9971eb9cc4c4b07b1477240a", + "source": "pypi", + "version": "3.26.1", + "wheel_url": "https://files.pythonhosted.org/packages/15/2f/9be635fe4dfb2fe65d200c33695f5a96ef98a2921f06ff6d465384b0e551/policyengine_core-3.26.1-py3-none-any.whl" + }, + "policyengine-uk": { + "name": "policyengine-uk", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/8c/2b/ab82aa30c5d27176fd9d449ff5ed9708d0080b00912f7dc2efa0af0fd87e/policyengine_uk-2.88.14.tar.gz", + "sha256": "ed10005ba7d0c973c0966ebbf7672853fb3caaa0456b8bf485fb13f8c323d975", + "source": "pypi", + "version": "2.88.14", + "wheel_url": "https://files.pythonhosted.org/packages/a3/fc/276fb639a46bda35523329d8968bcc4089fde9e97fab82722c0ec853c6cc/policyengine_uk-2.88.14-py3-none-any.whl" + }, + "policyengine-us": { + "name": "policyengine-us", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/81/df/60548e64a5ccf5f961a45608c2c6744833daf756c1c82d1e59e5bca14850/policyengine_us-1.690.7.tar.gz", + "sha256": "5a7a541efabac98fa069d6845902cf5924c81db67383234b55dcd2b8bfcfc3ca", + "source": "pypi", + "version": "1.690.7", + "wheel_url": "https://files.pythonhosted.org/packages/2a/02/52109bae5f4767237b43bd72ce0bc4edf7925650a788053b2bc168caa5ae/policyengine_us-1.690.7-py3-none-any.whl" + } + }, + "policyengine": { + "name": "policyengine", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/92/f1/1164557ced4db47a9fddf7e5d301a30578de0cb1fb284c5803c238916df7/policyengine-4.4.3.tar.gz", + "sha256": "a12e8ed43a4b0f205d853853ccc678b2b8857381b8111336e711e35d8e6b1336", + "source": "pypi", + "version": "4.4.3", + "wheel_url": "https://files.pythonhosted.org/packages/68/16/f42e21772742c594194b53302e798c83065c45f34df9b04578540488149d/policyengine-4.4.3-py3-none-any.whl" + }, + "profiles": { + "all": { + "countries": [ + "uk", + "us" + ], + "description": "all runtime profile generated from bundle candidate.", + "install_targets": { + "py313": { + "constraints": "install/all/py313/constraints.txt", + "lockfile": "install/all/py313/pylock.toml", + "python_version": "3.13", + "resolver": "uv" + } + }, + "packages": [ + "policyengine", + "policyengine-core", + "policyengine-uk", + "policyengine-us" + ] + }, + "uk": { + "countries": [ + "uk" + ], + "description": "uk runtime profile generated from bundle candidate.", + "install_targets": { + "py313": { + "constraints": "install/uk/py313/constraints.txt", + "lockfile": "install/uk/py313/pylock.toml", + "python_version": "3.13", + "resolver": "uv" + } + }, + "packages": [ + "policyengine", + "policyengine-core", + "policyengine-uk" + ] + }, + "us": { + "countries": [ + "us" + ], + "description": "us runtime profile generated from bundle candidate.", + "install_targets": { + "py313": { + "constraints": "install/us/py313/constraints.txt", + "lockfile": "install/us/py313/pylock.toml", + "python_version": "3.13", + "resolver": "uv" + } + }, + "packages": [ + "policyengine", + "policyengine-core", + "policyengine-us" + ] + } + }, + "schema_version": 1, + "validation_report": "validation-report.json" +} diff --git a/src/policyengine/data/countries/uk.json b/src/policyengine/data/countries/uk.json new file mode 100644 index 00000000..d7ce00b1 --- /dev/null +++ b/src/policyengine/data/countries/uk.json @@ -0,0 +1,170 @@ +{ + "artifact_release": { + "release_manifest_sha256": "31de03e0bedc1ad29d5809fb16ca925f26485c86fc1b14bf911636ebb83863a4", + "release_manifest_uri": "hf://model/policyengine/policyengine-uk-data-private@1.55.5/release_manifest.json", + "repo_id": "policyengine/policyengine-uk-data-private", + "repo_type": "model", + "version": "1.55.5" + }, + "bundle_version": "4.4.3", + "certification": { + "built_with_core_package": { + "name": "policyengine-core", + "resolution_status": "pinned", + "version": "3.26.1" + }, + "built_with_model_package": { + "name": "policyengine-uk", + "resolution_status": "pinned", + "version": "2.88.14" + }, + "certified_by": "policyengine-bundles generator", + "certified_for_core_package": { + "name": "policyengine-core", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/e7/56/666e1e708cbd61078989edc943d5389d45123beb7124a5e3180171656ff6/policyengine_core-3.26.1.tar.gz", + "sha256": "185374b3c1fe13dc951637c49a9853211ca61a8a9971eb9cc4c4b07b1477240a", + "source": "pypi", + "version": "3.26.1", + "wheel_url": "https://files.pythonhosted.org/packages/15/2f/9be635fe4dfb2fe65d200c33695f5a96ef98a2921f06ff6d465384b0e551/policyengine_core-3.26.1-py3-none-any.whl" + }, + "certified_for_model_package": { + "name": "policyengine-uk", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/8c/2b/ab82aa30c5d27176fd9d449ff5ed9708d0080b00912f7dc2efa0af0fd87e/policyengine_uk-2.88.14.tar.gz", + "sha256": "ed10005ba7d0c973c0966ebbf7672853fb3caaa0456b8bf485fb13f8c323d975", + "source": "pypi", + "version": "2.88.14", + "wheel_url": "https://files.pythonhosted.org/packages/a3/fc/276fb639a46bda35523329d8968bcc4089fde9e97fab82722c0ec853c6cc/policyengine_uk-2.88.14-py3-none-any.whl" + }, + "compatibility_basis": "release_manifest_exact_compatibility", + "data_build_fingerprint": "sha256:dff5c5bb976ce254fa965ecfce6a0d84859fe1629a714ae28a79b3075522a0ae", + "data_build_id": "policyengine-uk-data-1.55.5", + "metadata": {} + }, + "core_package": { + "name": "policyengine-core", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/e7/56/666e1e708cbd61078989edc943d5389d45123beb7124a5e3180171656ff6/policyengine_core-3.26.1.tar.gz", + "sha256": "185374b3c1fe13dc951637c49a9853211ca61a8a9971eb9cc4c4b07b1477240a", + "source": "pypi", + "version": "3.26.1", + "wheel_url": "https://files.pythonhosted.org/packages/15/2f/9be635fe4dfb2fe65d200c33695f5a96ef98a2921f06ff6d465384b0e551/policyengine_core-3.26.1-py3-none-any.whl" + }, + "country_id": "uk", + "data_package": { + "name": "policyengine-uk-data", + "release_manifest_path": "release_manifest.json", + "repo_id": "policyengine/policyengine-uk-data-private", + "repo_type": "model", + "version": "1.55.5" + }, + "datasets": { + "enhanced_frs_2023_24": { + "kind": "microdata", + "metadata": { + "repo_type": "model", + "visibility": "private" + }, + "path": "enhanced_frs_2023_24.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-uk-data-private", + "revision": "1.55.5", + "sha256": "1e95dafde7997a24dac1abc122f8e2ebbc8c2d7d36bab8361e628a93401559ce", + "size_bytes": 125428096, + "status": "certified", + "uri": "hf://model/policyengine/policyengine-uk-data-private@1.55.5/enhanced_frs_2023_24.h5" + }, + "enhanced_frs_2023_24_tiny": { + "kind": "microdata", + "metadata": { + "repo_type": "model", + "visibility": "private" + }, + "path": "enhanced_frs_2023_24_tiny.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-uk-data-private", + "revision": "1.55.5", + "sha256": "0ee89bae05a14c3a13515533bdbbd7353cf9e67e78d9edb66db3d765dfc3753a", + "size_bytes": 4635019, + "status": "certified", + "uri": "hf://model/policyengine/policyengine-uk-data-private@1.55.5/enhanced_frs_2023_24_tiny.h5" + }, + "frs_2023_24": { + "kind": "microdata", + "metadata": { + "repo_type": "model", + "visibility": "private" + }, + "path": "frs_2023_24.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-uk-data-private", + "revision": "1.55.5", + "sha256": "a6896c21a5b95a21d354fc8a99f1df135998239a4b9f5d797b5a73b6f001f2eb", + "size_bytes": 29764197, + "status": "certified", + "uri": "hf://model/policyengine/policyengine-uk-data-private@1.55.5/frs_2023_24.h5" + }, + "frs_2023_24_tiny": { + "kind": "microdata", + "metadata": { + "repo_type": "model", + "visibility": "private" + }, + "path": "frs_2023_24_tiny.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-uk-data-private", + "revision": "1.55.5", + "sha256": "342ab1decbb67c009f02f31da0e669917cb97e0b5e00c7692cb52d60780f33ad", + "size_bytes": 3376388, + "status": "certified", + "uri": "hf://model/policyengine/policyengine-uk-data-private@1.55.5/frs_2023_24_tiny.h5" + }, + "local_authority_weights": { + "kind": "weights", + "metadata": { + "repo_type": "model", + "visibility": "private" + }, + "path": "local_authority_weights.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-uk-data-private", + "revision": "1.55.5", + "sha256": "06da23f9c50b47b0f25bb5dde6bcd6d1eac5d3da5703c26aac8b4b10aea6aa12", + "size_bytes": 77053568, + "status": "certified", + "uri": "hf://model/policyengine/policyengine-uk-data-private@1.55.5/local_authority_weights.h5" + }, + "parliamentary_constituency_weights": { + "kind": "weights", + "metadata": { + "repo_type": "model", + "visibility": "private" + }, + "path": "parliamentary_constituency_weights.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-uk-data-private", + "revision": "1.55.5", + "sha256": "2ea0a8ff98b0c3c7f325981d7abf7ee0793728c3b94d6625ff32bee3623f6981", + "size_bytes": 139122848, + "status": "certified", + "uri": "hf://model/policyengine/policyengine-uk-data-private@1.55.5/parliamentary_constituency_weights.h5" + } + }, + "default_dataset": "enhanced_frs_2023_24", + "metadata": { + "input_release_manifest_sha256": "31de03e0bedc1ad29d5809fb16ca925f26485c86fc1b14bf911636ebb83863a4", + "input_release_manifest_uri": "hf://model/policyengine/policyengine-uk-data-private@1.55.5/release_manifest.json" + }, + "model_package": { + "name": "policyengine-uk", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/8c/2b/ab82aa30c5d27176fd9d449ff5ed9708d0080b00912f7dc2efa0af0fd87e/policyengine_uk-2.88.14.tar.gz", + "sha256": "ed10005ba7d0c973c0966ebbf7672853fb3caaa0456b8bf485fb13f8c323d975", + "source": "pypi", + "version": "2.88.14", + "wheel_url": "https://files.pythonhosted.org/packages/a3/fc/276fb639a46bda35523329d8968bcc4089fde9e97fab82722c0ec853c6cc/policyengine_uk-2.88.14-py3-none-any.whl" + }, + "region_datasets": {}, + "schema_version": 1 +} diff --git a/src/policyengine/data/countries/us.json b/src/policyengine/data/countries/us.json new file mode 100644 index 00000000..65b71c31 --- /dev/null +++ b/src/policyengine/data/countries/us.json @@ -0,0 +1,5503 @@ +{ + "artifact_release": { + "release_manifest_sha256": "9f47991b0bb7150c5f65b3b3fa9a11949b03162f047721960dcff46bbaee6536", + "release_manifest_uri": "hf://model/policyengine/policyengine-us-data@3aac4505ec10d31efc1b3799a1e6458a15853ecc/releases/1.110.12/release_manifest.json", + "repo_id": "policyengine/policyengine-us-data", + "repo_type": "model", + "version": "3aac4505ec10d31efc1b3799a1e6458a15853ecc" + }, + "bundle_version": "4.4.3", + "certification": { + "built_with_core_package": { + "name": "policyengine-core", + "resolution_status": "pinned", + "version": "3.26.1" + }, + "built_with_model_package": { + "name": "policyengine-us", + "resolution_status": "pinned", + "version": "1.690.7" + }, + "certified_by": "policyengine-bundles generator", + "certified_for_core_package": { + "name": "policyengine-core", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/e7/56/666e1e708cbd61078989edc943d5389d45123beb7124a5e3180171656ff6/policyengine_core-3.26.1.tar.gz", + "sha256": "185374b3c1fe13dc951637c49a9853211ca61a8a9971eb9cc4c4b07b1477240a", + "source": "pypi", + "version": "3.26.1", + "wheel_url": "https://files.pythonhosted.org/packages/15/2f/9be635fe4dfb2fe65d200c33695f5a96ef98a2921f06ff6d465384b0e551/policyengine_core-3.26.1-py3-none-any.whl" + }, + "certified_for_model_package": { + "name": "policyengine-us", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/81/df/60548e64a5ccf5f961a45608c2c6744833daf756c1c82d1e59e5bca14850/policyengine_us-1.690.7.tar.gz", + "sha256": "5a7a541efabac98fa069d6845902cf5924c81db67383234b55dcd2b8bfcfc3ca", + "source": "pypi", + "version": "1.690.7", + "wheel_url": "https://files.pythonhosted.org/packages/2a/02/52109bae5f4767237b43bd72ce0bc4edf7925650a788053b2bc168caa5ae/policyengine_us-1.690.7-py3-none-any.whl" + }, + "compatibility_basis": "release_manifest_exact_compatibility", + "data_build_fingerprint": "sha256:9961ed1c5d00943a360724da560eee425eb9f99f91896f053dca74724c46e96e", + "data_build_id": "policyengine-us-data-1.110.12", + "metadata": {} + }, + "core_package": { + "name": "policyengine-core", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/e7/56/666e1e708cbd61078989edc943d5389d45123beb7124a5e3180171656ff6/policyengine_core-3.26.1.tar.gz", + "sha256": "185374b3c1fe13dc951637c49a9853211ca61a8a9971eb9cc4c4b07b1477240a", + "source": "pypi", + "version": "3.26.1", + "wheel_url": "https://files.pythonhosted.org/packages/15/2f/9be635fe4dfb2fe65d200c33695f5a96ef98a2921f06ff6d465384b0e551/policyengine_core-3.26.1-py3-none-any.whl" + }, + "country_id": "us", + "data_package": { + "name": "policyengine-us-data", + "release_manifest_path": "releases/1.110.12/release_manifest.json", + "repo_id": "policyengine/policyengine-us-data", + "repo_type": "model", + "version": "1.110.12" + }, + "datasets": { + "cities/NYC": { + "kind": "microdata", + "metadata": {}, + "path": "cities/NYC.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5debadfe8df7ad2f776262e77a400b425db689e7990a10a684682daa9748b74f", + "size_bytes": 173320403, + "status": "certified" + }, + "cps_2024": { + "kind": "microdata", + "metadata": {}, + "path": "cps_2024.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "664088b9b23aee0f1f356ecf7f8d3166a7ff4989d47b498177d961e10b437e13", + "size_bytes": 123582740, + "status": "certified" + }, + "districts/AK-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AK-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "31e79066a0ae6ba20c9045a61cd1ebe64182721dad75473ec45522a65b889b4c", + "size_bytes": 15506660, + "status": "certified" + }, + "districts/AL-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AL-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c684ba0778b42198968d3d1fae848c5f14dfc47ed57ed2861ab1bf95d2d0094f", + "size_bytes": 15179484, + "status": "certified" + }, + "districts/AL-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AL-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5b356c9bc6030b10e19ff554ea7098dbb972c18573daa25f5c8ab98ea2f12955", + "size_bytes": 15389530, + "status": "certified" + }, + "districts/AL-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AL-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5d3f90e1bc7f2b0832e329cace05fa79cf800b9cd0c94370eee0bf52f3040e0a", + "size_bytes": 15089537, + "status": "certified" + }, + "districts/AL-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AL-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f2566c1362db945189541efdabba04aa18daf713906847020a3539327b55d608", + "size_bytes": 15329954, + "status": "certified" + }, + "districts/AL-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AL-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "251d9ece2d943b4cf68510ff222042b71c68b65edf4fa6e38bb50f3634da609b", + "size_bytes": 15427956, + "status": "certified" + }, + "districts/AL-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AL-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2e4ae0e19c59b44205d2ebc368d01cdcb0348691af28c48b3abbbaf095d16d3c", + "size_bytes": 15334162, + "status": "certified" + }, + "districts/AL-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AL-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "774c8a70557272c2caa3c489f93151969f3b8ee5fd15be8f6fab48d26c760677", + "size_bytes": 15229857, + "status": "certified" + }, + "districts/AR-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AR-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d108d5f693427a0fce580c3f43bd939776e9222da81835814b573dd9a7f45fa2", + "size_bytes": 15134592, + "status": "certified" + }, + "districts/AR-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AR-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "1cbad734887871dc515fd3462da89a30aec26f98cd92a10e2aaf628c7a17ba88", + "size_bytes": 15249491, + "status": "certified" + }, + "districts/AR-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AR-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "74ac735231391fbb53878704d8ef5c27dc4272cf81021634145768e87370a9cb", + "size_bytes": 15392908, + "status": "certified" + }, + "districts/AR-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AR-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "aa464106c8526d43a34c6721fd8922011f1efaef786fc1cbb814dbf08244ff7d", + "size_bytes": 15150748, + "status": "certified" + }, + "districts/AZ-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AZ-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ee6885bc50ff8bee8e91bc7aa70a9451fb925ffd361a021d947bf6400d59b1d9", + "size_bytes": 15638708, + "status": "certified" + }, + "districts/AZ-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AZ-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d74044c506fdf41d3bbf8d0c7bf4f8b4708efa94260810cd2d37ebb91a27b579", + "size_bytes": 15486299, + "status": "certified" + }, + "districts/AZ-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AZ-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "32ef6f7ebac104c899670363f2ce7e4b65b8e6f3ea8b75086cd6bfd8851d96f8", + "size_bytes": 15151184, + "status": "certified" + }, + "districts/AZ-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AZ-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8ba2629d0bd7a9cb0f2e538bffa48be346eb0fdc6564b33d64c7ea9099a23111", + "size_bytes": 15543510, + "status": "certified" + }, + "districts/AZ-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AZ-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "57a6e4c4a3588287be6cb5b8fb6f9d9c6b449962720abee59299b27f820159be", + "size_bytes": 15590080, + "status": "certified" + }, + "districts/AZ-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AZ-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c71b432111edfde9040229b0c37b9cb1321c4f63f50c74fdf303dee935b5f7bc", + "size_bytes": 15394131, + "status": "certified" + }, + "districts/AZ-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AZ-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0c53910778bfda49535d7a931853e202ad12fed9746da3b3a3301b2082febb91", + "size_bytes": 15368708, + "status": "certified" + }, + "districts/AZ-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AZ-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "253fb41b966776a14791a72a467230ccca1ced1cb2ac72c7aac9b1462d92c447", + "size_bytes": 15517759, + "status": "certified" + }, + "districts/AZ-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/AZ-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b22ce31e028bb493e670ba3baafdfa65b29de1503d18858833adaa847bb5e477", + "size_bytes": 15389127, + "status": "certified" + }, + "districts/CA-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e59063a55c6843052114b3d56c2d8d25c603b6bae1058ca1ba0498c04f2ef988", + "size_bytes": 15460370, + "status": "certified" + }, + "districts/CA-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "116df056f39b87400b49254cfb165ded83d9942a8f4406df33cc17dc51b26673", + "size_bytes": 15572670, + "status": "certified" + }, + "districts/CA-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ba8dc36214b3ace2d7b9aec7728ed09d4ee0b6e7f087134736a763b1b6d0c34f", + "size_bytes": 15526251, + "status": "certified" + }, + "districts/CA-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e3f1d03aef53161e19967446327e322c11a0aa972446422a31f1acde20eec20f", + "size_bytes": 15521520, + "status": "certified" + }, + "districts/CA-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6063fe6d27333ce3270d003f938928890cb9d1e756342899e9ae448dbf394575", + "size_bytes": 15648506, + "status": "certified" + }, + "districts/CA-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "9aa795d754de950aab972917203a8c660bd7006cde6a7440956e015a5d8d96bc", + "size_bytes": 15530687, + "status": "certified" + }, + "districts/CA-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "309e5953f909dd3bc3fb8424238d803e873d928a2093d1890a6b0cf3ab334bbf", + "size_bytes": 15412675, + "status": "certified" + }, + "districts/CA-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c8d83f0bf372a1206be9145dcf098e72e438d57b327f03b16bba6eb94ac72d61", + "size_bytes": 15640191, + "status": "certified" + }, + "districts/CA-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7288a88b5fb5af24f81a58d163f111651fedc0e7a5db3c37d05b7ffdd7cd8519", + "size_bytes": 15279030, + "status": "certified" + }, + "districts/CA-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c6741b777370bc66682a3a4737dce6fc9e294e22cc9dc9bdeee84421faec4d67", + "size_bytes": 15612466, + "status": "certified" + }, + "districts/CA-11": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-11.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5b717be79177f56b172bbcbf93fbee9717f72cc05b40d7cb0638911e07d547c3", + "size_bytes": 15619272, + "status": "certified" + }, + "districts/CA-12": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-12.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ac903c2b32a5e73202b26aaa347999b265d95f9bd16bcfec3b431009c7397777", + "size_bytes": 15682999, + "status": "certified" + }, + "districts/CA-13": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-13.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fc97b3a590b35fccc72bc54f282bd22e57c47c57bd4658569e08e4f896717402", + "size_bytes": 15284375, + "status": "certified" + }, + "districts/CA-14": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-14.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d1c830fad0827a31a748e91bd1946344efa014dcfdc47e0f1317266f6da2af9e", + "size_bytes": 15634704, + "status": "certified" + }, + "districts/CA-15": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-15.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a78064c4314bc8563f743cf5b9fc72c010bd965f83b8de0239e830d5f0a7de2d", + "size_bytes": 15571952, + "status": "certified" + }, + "districts/CA-16": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-16.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "083a44559d76666a682ae48c396a6c2adf960f44ed8d1ec42c663bfb83c1030e", + "size_bytes": 15670216, + "status": "certified" + }, + "districts/CA-17": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-17.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "59b1b45a6584bccec76890557a0abb4d24a75663ac7252c80f81894655dde232", + "size_bytes": 15561085, + "status": "certified" + }, + "districts/CA-18": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-18.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c9add9f8807c62f7601b4937aa1cc0596dfa4e7db4d7077d5fca905dd1a29b49", + "size_bytes": 15674151, + "status": "certified" + }, + "districts/CA-19": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-19.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ba15e614f4268b07f5248e736ef25df2981cb53e7ef237590fa8368854e64d66", + "size_bytes": 15645265, + "status": "certified" + }, + "districts/CA-20": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-20.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c5884f81b64b648480138865a1d7d70588b2fe07138b703e282affd0f1dd4cb8", + "size_bytes": 15417079, + "status": "certified" + }, + "districts/CA-21": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-21.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "cf866b05aecfe585a4a974ddfc6e97aa0cf4be802e96b3292c0334605cbee4c4", + "size_bytes": 15283132, + "status": "certified" + }, + "districts/CA-22": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-22.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "065ed06cb63adb0a300848ebcee198abf4bd8ed339e2407d99726d66a358c03a", + "size_bytes": 15144873, + "status": "certified" + }, + "districts/CA-23": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-23.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a57d0c6cb34c9b1980e6ec9fb4ffd329188c65eecf88b8c34a552963f7badaa4", + "size_bytes": 15327240, + "status": "certified" + }, + "districts/CA-24": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-24.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2ec5752056c3cff3e8876b04c90a636aaf9ab6413ccdb517e9474e6e0650da72", + "size_bytes": 15630772, + "status": "certified" + }, + "districts/CA-25": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-25.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "9803f50c2fb19fa8b8587f3ce3357d7b2164a1e590e682ec154a1982adb767e6", + "size_bytes": 15410582, + "status": "certified" + }, + "districts/CA-26": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-26.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4ae26866836ab56be39050d4fc1c87484c25d779ebb2a0baf7592277df72a626", + "size_bytes": 15602664, + "status": "certified" + }, + "districts/CA-27": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-27.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "efb05e14fd167042a3bf47a93b834e8a83412c7eb6e174614f4ae5dbde57c57b", + "size_bytes": 15652151, + "status": "certified" + }, + "districts/CA-28": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-28.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e1ab2d5f7926e1225bf56361dc74ab3153df75533802f0a773e8305a64067d39", + "size_bytes": 15665519, + "status": "certified" + }, + "districts/CA-29": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-29.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7dcac45d82852871238c87578e1a69cf63953f91647d3855668ff2ecd92a0650", + "size_bytes": 15424402, + "status": "certified" + }, + "districts/CA-30": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-30.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3d9a23e8a747899369423691500cb0ed50a2569ceffcd3265d980e10e11d432a", + "size_bytes": 15692499, + "status": "certified" + }, + "districts/CA-31": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-31.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "319d5585ac48c3030d98433e92382acee1a7656d3433e24f22ab0f9115e637b3", + "size_bytes": 15383885, + "status": "certified" + }, + "districts/CA-32": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-32.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "676985e443d7f21fd6f784c575ea21e082c0fecd4b76c3528f5d3ab3839d55a8", + "size_bytes": 15789922, + "status": "certified" + }, + "districts/CA-33": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-33.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a9b1d6d7c8684b24e7e7c82e09b856c386fed576c9d52c3943d811a37345408a", + "size_bytes": 15352939, + "status": "certified" + }, + "districts/CA-34": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-34.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "33213620ecb56b3a548bcda5718ff83f756df43cfc9fc2998dac689aeb740679", + "size_bytes": 15369838, + "status": "certified" + }, + "districts/CA-35": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-35.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e3b57a014c57e4021c109c61f857b79e6c99b177adb1f4de53dae53e3136dfe3", + "size_bytes": 15277759, + "status": "certified" + }, + "districts/CA-36": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-36.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b7b539a4cc2976679224ede1a9a8241d1fc8607798ebd4e28217d7abc6d6acd9", + "size_bytes": 15686234, + "status": "certified" + }, + "districts/CA-37": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-37.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e44380feca56f674e7b9e87e476bdbcd69030fc7c28d54b850889321a4f287c9", + "size_bytes": 15734114, + "status": "certified" + }, + "districts/CA-38": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-38.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c697482e0b23b86551390fba2178b0c3a1ce1d860d3e2a21f985303ad6a4cebb", + "size_bytes": 15436487, + "status": "certified" + }, + "districts/CA-39": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-39.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5e1c71261bf5cb34d2d65e55248c9000111d3ed5baf654ddc5cc84be6550f251", + "size_bytes": 15118967, + "status": "certified" + }, + "districts/CA-40": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-40.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6dd145e2af1722c98f5cddedf5a4d330d563d6fb742cb19a70a42353e15053f6", + "size_bytes": 15703056, + "status": "certified" + }, + "districts/CA-41": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-41.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "88a88e524ca7450fdd8893d74c727d7ecd842007917830ad15875998a3e7469d", + "size_bytes": 15444694, + "status": "certified" + }, + "districts/CA-42": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-42.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d540331e53f9ce1a612fef0f586e3fd88325c5af2de495096f241fa57b7cfd9c", + "size_bytes": 15301307, + "status": "certified" + }, + "districts/CA-43": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-43.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "24e650805ab4cbd12c7bf1fb3aafa2c4528ea4c19a8733d5f03fe1ee9de31a09", + "size_bytes": 15419917, + "status": "certified" + }, + "districts/CA-44": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-44.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ba6bd757b746c585589e5694992db55734ac0b64b0c6f19c60b5c2c956290856", + "size_bytes": 15410705, + "status": "certified" + }, + "districts/CA-45": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-45.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e3dcd6b9eb554297e5749cdaf11e508c9f9ce2a98ef86ad9793a966b1235cfc1", + "size_bytes": 15588894, + "status": "certified" + }, + "districts/CA-46": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-46.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4e3360faccec0071e8fd856667c7e35fcce1d1d4d2b02b7c459b2589dbcb7e15", + "size_bytes": 15396878, + "status": "certified" + }, + "districts/CA-47": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-47.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5116a8b1a761609a58284a1054a14fc690acd96692f324cd551c976c0ec97ca4", + "size_bytes": 15654845, + "status": "certified" + }, + "districts/CA-48": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-48.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "bfc6692a8de1f40c8f50444aac6cba187cb356fce0587a093dc5a034190d76aa", + "size_bytes": 15597532, + "status": "certified" + }, + "districts/CA-49": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-49.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "66e45cb82d86e3952e93605bd4c661396c9911e1bfb871f8928892b0d72dadfe", + "size_bytes": 15591960, + "status": "certified" + }, + "districts/CA-50": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-50.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c582a534b5028678cf6e04bcac15f18f8255c4e4c8110c9b971d7b5f420d6444", + "size_bytes": 15552542, + "status": "certified" + }, + "districts/CA-51": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-51.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "972699971964495956d716435dd89b9a9527ff548ab60e703aec15aa566cf1df", + "size_bytes": 15534326, + "status": "certified" + }, + "districts/CA-52": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CA-52.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e148ed6ea984804cfcdd041fe81e9d89e1eea1eda8655310fa8db4e1af1a4e56", + "size_bytes": 15329647, + "status": "certified" + }, + "districts/CO-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CO-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ba4736eaedf33e33f091e32055ce136938e42e98fca16bf141a842719176d1b0", + "size_bytes": 15612506, + "status": "certified" + }, + "districts/CO-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CO-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "9eb44534146e1d00aac17a1584b614d0ce94d3e9ec8c320ca42a444be28b0635", + "size_bytes": 15830438, + "status": "certified" + }, + "districts/CO-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CO-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "18c15a29a2d902193c5aaac7344d76a91614edf05061e9a6557968604c063002", + "size_bytes": 15501826, + "status": "certified" + }, + "districts/CO-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CO-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "95a0b8e63cdc568aa391cefa56896cad52eabe9674e59fe8f284075f11137d2d", + "size_bytes": 15722269, + "status": "certified" + }, + "districts/CO-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CO-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "126f8847471f40f5fcbecdcb5588a62ca3345f1b0a83533be7fc3f2baac793f4", + "size_bytes": 15428313, + "status": "certified" + }, + "districts/CO-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CO-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "66003684570c0cc63c6587f2fe7e68c93902470f4a1f384ed7d9c262e30e6a6f", + "size_bytes": 15723238, + "status": "certified" + }, + "districts/CO-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CO-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5e2caebcbdbd764fe15f44a6fa4a80420a6b80412fb732d4a664b08559c6e745", + "size_bytes": 15731192, + "status": "certified" + }, + "districts/CO-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CO-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5de3ba250727c1dbea00c97d4351620a56d72e1c898af30d06f0c3eb228120a4", + "size_bytes": 15624767, + "status": "certified" + }, + "districts/CT-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CT-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c8b045f978a3c1276aeba28764270e7401a6391ce50b4dec877d80ed8af39265", + "size_bytes": 15646673, + "status": "certified" + }, + "districts/CT-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CT-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "bb20259e539e727b6a643d8ddd545ae689b3bd33f091204bb0fca19d8716c61d", + "size_bytes": 15642030, + "status": "certified" + }, + "districts/CT-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CT-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "bf202b4ab21fa2fb736f91e604b233b1e3c22fe57cca5fe686ec905271a7e678", + "size_bytes": 15689145, + "status": "certified" + }, + "districts/CT-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CT-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4f528b0e7723142eb4092a92b8a2680a106d1952e8f618550e4d03211cf896ca", + "size_bytes": 15782767, + "status": "certified" + }, + "districts/CT-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/CT-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8ce52dda85770a2e9b7a1a18aee32b607d19b78bf9b73f8480d992c9d2e420c9", + "size_bytes": 15676155, + "status": "certified" + }, + "districts/DC-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/DC-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0e2dc16db40b5dca0451c5abef93d61f48bca0e1cbda148920de6b633668f210", + "size_bytes": 15716090, + "status": "certified" + }, + "districts/DE-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/DE-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4171115227b684c42656a7e7fc7b1952027da095883444dd9e976d5bfdbb9564", + "size_bytes": 15748724, + "status": "certified" + }, + "districts/FL-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7635be82f39ce3fe97dcbb247afb1da2ee299ec001afd86053ad02e2eba792ad", + "size_bytes": 15660211, + "status": "certified" + }, + "districts/FL-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "716554d2931bdb0df3458f5df34ece293a9b7cd8a911802c18be9cb8c93ec419", + "size_bytes": 15436641, + "status": "certified" + }, + "districts/FL-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "65c5da9ca2c12abad532a6fc1f671f60b470a11200d6c79241d7a710fb135db4", + "size_bytes": 15491620, + "status": "certified" + }, + "districts/FL-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6a2bdc56851fc37761350351d8859d12d27a45099e64df7aaf241c64b7a236c5", + "size_bytes": 15483369, + "status": "certified" + }, + "districts/FL-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "30f252eced869d57a2599844fab475e13e33f79ad43424ff1855ebf692d6c59f", + "size_bytes": 15708878, + "status": "certified" + }, + "districts/FL-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0202452bf4a2e4e3f2e430ffb81734a7bc41763f09eed677768ece78a20340a7", + "size_bytes": 15566544, + "status": "certified" + }, + "districts/FL-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "878327a1a70ef22c7fa66f32fc40c4e8bd690d742b4ddcb248ab2c5f5df031a2", + "size_bytes": 15693085, + "status": "certified" + }, + "districts/FL-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "65bf9aea4fd43a48bed56f75e9c2d0d7169434572bb2c7d5a2e6ea556265f029", + "size_bytes": 15576546, + "status": "certified" + }, + "districts/FL-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c041680e6a0df8156580feae4ebf621617c4ccab04bf84ca72a728fd231e84b4", + "size_bytes": 15290027, + "status": "certified" + }, + "districts/FL-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ee86a0d0400a87ea73eb2dbd6ee1b8608795d41f3906f57a58caee868a38cdb4", + "size_bytes": 15683439, + "status": "certified" + }, + "districts/FL-11": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-11.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0cb7a99315d3dd2eb8477ea93a35699e3f710100629e97b685fadfc39b627111", + "size_bytes": 15468130, + "status": "certified" + }, + "districts/FL-12": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-12.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b934aac5ff62b394edcd59373748bab8773d58f817f103034c442b2abbd4d5fe", + "size_bytes": 15666824, + "status": "certified" + }, + "districts/FL-13": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-13.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "9cd88427bcca27e64c3f84bccca1eba9d4af0089f649fa271cffae3f3b1c1e69", + "size_bytes": 15661231, + "status": "certified" + }, + "districts/FL-14": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-14.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8d6f02578697b1bdcd3b3e7248c25bd86504c4ca0570d3a7789151ea54cfd35a", + "size_bytes": 15618972, + "status": "certified" + }, + "districts/FL-15": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-15.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4724fb6c2fa556c80210a34425431a6cd4a1586e31b00aaae4e4af1fda516525", + "size_bytes": 15610469, + "status": "certified" + }, + "districts/FL-16": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-16.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "1c09aaa5fa745188beae009768549f82897d4e2eab73b959e5eb499448185506", + "size_bytes": 15661496, + "status": "certified" + }, + "districts/FL-17": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-17.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "1e332a11fc16019e91ec341c4822c501f2e9ce373df72c6eaed57f8626f0a84f", + "size_bytes": 15584126, + "status": "certified" + }, + "districts/FL-18": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-18.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6ca74a0a2cdcbd828a3e183a2dadd7f1a8be86d0a878c0a2152e5313672eae43", + "size_bytes": 15659854, + "status": "certified" + }, + "districts/FL-19": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-19.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "671e14541f21838f5e2cc5765ef437f32fe224d2523d0d9e330e52d00ed645f6", + "size_bytes": 15676779, + "status": "certified" + }, + "districts/FL-20": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-20.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0d594b2a879c729bbd30a4286e554cfd8d715127e57fdb4ae1d3e22dbdebccf1", + "size_bytes": 15608842, + "status": "certified" + }, + "districts/FL-21": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-21.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "9a3469883ac73de9f3a12327f2ea6336ac2e463eb9ab11aae0078bb4df74528a", + "size_bytes": 15631220, + "status": "certified" + }, + "districts/FL-22": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-22.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "53fac5cf94ba55c369b6fe2a603d7ed3a05554307392ab7779292554f46c265b", + "size_bytes": 15710423, + "status": "certified" + }, + "districts/FL-23": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-23.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "54642290144ae3dd109d19d0dfb71dbb6137cb4f5d153037ce266169ab39ef0c", + "size_bytes": 15611777, + "status": "certified" + }, + "districts/FL-24": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-24.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fc01e535483500b97169e233951f38ac3bbd10202886a4a7781008d7a4b49ca7", + "size_bytes": 15592694, + "status": "certified" + }, + "districts/FL-25": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-25.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "98fc838f36d18989f2e19e4934ac05e7bf9fe3598164f79f789f7c52aa9b6118", + "size_bytes": 15749549, + "status": "certified" + }, + "districts/FL-26": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-26.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f5676c354e09f157e4e366d21c410846d7fd180dced31797de59f0f9bbbcb9b7", + "size_bytes": 15555190, + "status": "certified" + }, + "districts/FL-27": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-27.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ef348a2c3a5eed65b73d02d600c8c111a8279836e6c856fba52b3feb6c8e7359", + "size_bytes": 15765262, + "status": "certified" + }, + "districts/FL-28": { + "kind": "microdata", + "metadata": {}, + "path": "districts/FL-28.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8a5dea052206f97398054fa5fa4871a31477d650a9c6a8de922b65c99e5f9b07", + "size_bytes": 15499791, + "status": "certified" + }, + "districts/GA-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ac8b96403319194025819262a478f3dfa04600414c1ea18c793012751b7b5c85", + "size_bytes": 15402051, + "status": "certified" + }, + "districts/GA-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d8df585d591b056a1cc9373922a95c154a97c0b82a45ab8905eb3f9f61d2b7e9", + "size_bytes": 15111560, + "status": "certified" + }, + "districts/GA-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f284b3f24ad3e9d5d8fb1c5e40010a8c83c8f82e0afb19f2a3163ef61b2cacb6", + "size_bytes": 15504672, + "status": "certified" + }, + "districts/GA-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a398de0a6bc3708d5a70cfa2ee9f965e9a01f59d9cf5eeef299cc6ac1f6d32d5", + "size_bytes": 15663127, + "status": "certified" + }, + "districts/GA-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b320fad4e91d5387656ae7b6917d4c5e3c2faf24cf8a54e98a6b22cb7794d447", + "size_bytes": 15589412, + "status": "certified" + }, + "districts/GA-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e727f4e5a6ae22038b3798fb728a10209eb21448df136f7b8d32b56519351e68", + "size_bytes": 15586258, + "status": "certified" + }, + "districts/GA-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "eb7418d8b1c4316054ef3706d1027c5bb8e71ecc58bd03397237099c7ac1e0ee", + "size_bytes": 15583203, + "status": "certified" + }, + "districts/GA-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "675fbba5beb503bdac7b6b5672ef5b2e1b3117719a77fa98a048066bf8548b27", + "size_bytes": 15297926, + "status": "certified" + }, + "districts/GA-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7bf1a332fda01f032c532db5eb1099a1d0c081f71cccca0b8d4e9f0cec9d9130", + "size_bytes": 15205635, + "status": "certified" + }, + "districts/GA-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4d69db1499efc3aa1f1db7a205e99053db5b1d4522a06667d30ef6280b585037", + "size_bytes": 15523642, + "status": "certified" + }, + "districts/GA-11": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-11.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e1d02dd0123854f91e1ad8c5437d7bec935ed7364bfba04624b906d270c9c326", + "size_bytes": 15689256, + "status": "certified" + }, + "districts/GA-12": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-12.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d04ce5b71947c262e4125636990cebb8395aa945441d8dd109f99caf9854484b", + "size_bytes": 15423357, + "status": "certified" + }, + "districts/GA-13": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-13.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "197d90a559265b62e3c3cf134c01e02dad203effe7da1d01b78974600bf40494", + "size_bytes": 15143384, + "status": "certified" + }, + "districts/GA-14": { + "kind": "microdata", + "metadata": {}, + "path": "districts/GA-14.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b294b111b4ac98cac013a655802c330bf02b98dfed01902f07030a3ad435794b", + "size_bytes": 15499146, + "status": "certified" + }, + "districts/HI-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/HI-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "009cb48054f130a547de986c8d3bca28da13b9ef06019dacd326412ce1f56169", + "size_bytes": 15202275, + "status": "certified" + }, + "districts/HI-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/HI-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ff8f160b827395de37ddbdf24ef94067fe5e69d8a1bea71e4279ab11eb80e065", + "size_bytes": 15241920, + "status": "certified" + }, + "districts/IA-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IA-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "95008f658da2c49227a1054c7f4b5738ac3a14f801c37c7e11498ca36a7b372a", + "size_bytes": 15428453, + "status": "certified" + }, + "districts/IA-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IA-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "221e28355e6f93db1d367aadc7e6b631b41bc0ed77b3d0ed56f4f8b9e10e1394", + "size_bytes": 15493327, + "status": "certified" + }, + "districts/IA-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IA-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4361c826b933b40c48f37e0e56da1edd2f532c282ac3541136c8550687014a98", + "size_bytes": 15504859, + "status": "certified" + }, + "districts/IA-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IA-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2ba8390bd74bda716350a21b5e5f7fc6dcc16d235d26dfd702576ae326fd369f", + "size_bytes": 15468326, + "status": "certified" + }, + "districts/ID-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/ID-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "1df4d1204ac9d936ad4f4a588bb078ebb65a0581264d36f10ab5b2ba62df367a", + "size_bytes": 15532676, + "status": "certified" + }, + "districts/ID-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/ID-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "474cdcf1a6d9a86e94210f7caa05fe485f5a400815d738bb7605f0f6d126e8f1", + "size_bytes": 15567772, + "status": "certified" + }, + "districts/IL-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fa0373593d79b612b4cd7bb7deff1c7a50f64629e85b17b134365175c442da02", + "size_bytes": 15450565, + "status": "certified" + }, + "districts/IL-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "cca896e74f31f6431bd84b5121f240f80838868aeb2b741bdf6d9709c7d40679", + "size_bytes": 15317173, + "status": "certified" + }, + "districts/IL-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "79acc180d534752534c8f614f41bf4824f0020fa79d14246bdf43e6baf922332", + "size_bytes": 15604652, + "status": "certified" + }, + "districts/IL-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "152d5850a6c93c0b397f0d7756707e67a0d87a941b3ff1ad8ce1d8439368b559", + "size_bytes": 15679540, + "status": "certified" + }, + "districts/IL-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "682ed786515cc6ca6db226f2239afeff4b366f302f7cccb07e78cbe5d039f930", + "size_bytes": 15553729, + "status": "certified" + }, + "districts/IL-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e88e128c3f5b23278aefe6fc3079c85e352ec781e72b5ced967d7af4d10035d8", + "size_bytes": 15594329, + "status": "certified" + }, + "districts/IL-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6c35f540ddef7c0f6efad2b2220b838f88e6701b8dd992b91a22ed8b35238361", + "size_bytes": 15566564, + "status": "certified" + }, + "districts/IL-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c7cc282c50b140c33c12d1082171d174d17db0183479b8b6606aa3dbdf3e8850", + "size_bytes": 15634557, + "status": "certified" + }, + "districts/IL-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5ac1ec39f929b2cff7751e8fcd6eafe981d9bbee318ee3be55bd0ab9cfc3508a", + "size_bytes": 15676711, + "status": "certified" + }, + "districts/IL-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c9b5ccbd5f88fa79d2d8e56bf5583bae74140116fb4a75fe0b922494ae0a39da", + "size_bytes": 15744820, + "status": "certified" + }, + "districts/IL-11": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-11.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d039a973a5a00b2bdeb0e88849ca79f193435cc412357cb2cd7ffed4c4c7204b", + "size_bytes": 15614456, + "status": "certified" + }, + "districts/IL-12": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-12.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7c487009d0b4c6399c0d6f27bec8e298c095f1f7bf3661835c4f5506003d28ab", + "size_bytes": 15434391, + "status": "certified" + }, + "districts/IL-13": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-13.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3519287e2bed2944ef807192883c305d0a04f6ea50f4749ca083f264cf9bb81b", + "size_bytes": 15425389, + "status": "certified" + }, + "districts/IL-14": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-14.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4c5c5915f4b0a18b3b50dc08360a9910d803aa055096865ac054f7f971c173ef", + "size_bytes": 15591968, + "status": "certified" + }, + "districts/IL-15": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-15.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "395014c2b7604ac2fb6d36619a2a379ce41f5f15001a5f557a2438a53dcca771", + "size_bytes": 15512622, + "status": "certified" + }, + "districts/IL-16": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-16.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2f1005f47f5a0bab07a319541a9a1b6361729361d320297d2832c2e811306b52", + "size_bytes": 15460314, + "status": "certified" + }, + "districts/IL-17": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IL-17.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f08fa62e775f1b324fc0f39cae32f5e229c9294d7367504e023b94e2f8bc716e", + "size_bytes": 15407490, + "status": "certified" + }, + "districts/IN-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IN-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "42eab80c4c35d704b94c40e0f251308c8a4a0dbd4ecaedd6483c2a8387cb4051", + "size_bytes": 15427742, + "status": "certified" + }, + "districts/IN-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IN-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4333511c258c3b1e717aae8f6889bac766b647ae5e5837c40d26699d1f6a406e", + "size_bytes": 15426324, + "status": "certified" + }, + "districts/IN-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IN-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "07a46d88e23c36fa2edbc37d5a3cc986dbdc93a5262bf402fa20320f5eace7c4", + "size_bytes": 15526297, + "status": "certified" + }, + "districts/IN-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IN-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ea96b944bfa4436f6c0ac5e04bd959855fce13077efc43784fcc191827f78549", + "size_bytes": 15387793, + "status": "certified" + }, + "districts/IN-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IN-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ba3d3d68a99db089e46e9efd66e2787cfe992ec3e96788dac00d9f147c3b78ff", + "size_bytes": 15554104, + "status": "certified" + }, + "districts/IN-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IN-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "100903f657a2a209f94f1fdec0f0e767cb2341b04fb47724bc715616d9db1eb1", + "size_bytes": 15280202, + "status": "certified" + }, + "districts/IN-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IN-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e92b2f813dce39d42bd1601416607a552f1e526bfaf5012b4cee36a5b74b21e3", + "size_bytes": 15488924, + "status": "certified" + }, + "districts/IN-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IN-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7ba54033867b22f3c68d4d6b6e0e1b07060aa9ee35e21b936f90118ae430e48c", + "size_bytes": 15421642, + "status": "certified" + }, + "districts/IN-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/IN-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0d139592a89f8aff5ad3f2133139e007c15e25defed6a3a0fc9d17d203b1e6f2", + "size_bytes": 15443917, + "status": "certified" + }, + "districts/KS-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/KS-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e683e267bcc9dc7805a24179e8c5a29f36813517fef937103df6ed0d2970dbae", + "size_bytes": 15428171, + "status": "certified" + }, + "districts/KS-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/KS-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a77fe3dfeaa43b11c799914555e6090d3a6ec7655ebdbe3325c2a4674f356a89", + "size_bytes": 15486221, + "status": "certified" + }, + "districts/KS-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/KS-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "19e61a8230ad5738db4f53ba63b7abee09e32eed8f7681803742bda5c1396a10", + "size_bytes": 15609449, + "status": "certified" + }, + "districts/KS-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/KS-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "066c43c66f5ea0be5af513852cce14c9884f7d841e8e57aee27dec03ec7ee9f7", + "size_bytes": 15501469, + "status": "certified" + }, + "districts/KY-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/KY-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "82ed2e0925a10cdc076648fd38ad8667daf24675d6ff05bb77204ab8830d663e", + "size_bytes": 15139076, + "status": "certified" + }, + "districts/KY-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/KY-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e2b0cd2f26e8691e9ab44f849e37529851d82e21de33f943df599b0e231e74af", + "size_bytes": 15102803, + "status": "certified" + }, + "districts/KY-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/KY-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "cdb78d340978d7842fd08653cbdb8e8a5d833cc387ccbca5750ec27ef02ba1c1", + "size_bytes": 15283583, + "status": "certified" + }, + "districts/KY-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/KY-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fb04657b142313ab3c9b2d9de943705e0250be1e3a5f222dc4a1eda6f9dfaaa4", + "size_bytes": 15277278, + "status": "certified" + }, + "districts/KY-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/KY-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5c2a0baa2cf99fc44ea83b8f707e37f6ef279f75c3e13887857345678eb4f221", + "size_bytes": 14991619, + "status": "certified" + }, + "districts/KY-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/KY-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a2e8cc1d648ae4c8c45c7dce686657c8186d395479341bbac6b6575798a1d48f", + "size_bytes": 15241706, + "status": "certified" + }, + "districts/LA-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/LA-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8bc73e6d2f5f54472738a3dd5558c277fa88f248cd2ee4abd6a2f29f0ab890ad", + "size_bytes": 15543578, + "status": "certified" + }, + "districts/LA-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/LA-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d21d35ac17d34c6266fe1d5a8304d87d5c439a35f649626de3fe3e1cfc4e4e63", + "size_bytes": 15273262, + "status": "certified" + }, + "districts/LA-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/LA-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "cf58b1d65c995b4cd61a6345c064c586227bc7ed6f5082832096316f61af1c49", + "size_bytes": 15400324, + "status": "certified" + }, + "districts/LA-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/LA-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6aff1f7a651ab610ea94c03d201c7d08f3f3ddfc6e3b09136f0cd814ac9d53e5", + "size_bytes": 15294067, + "status": "certified" + }, + "districts/LA-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/LA-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "391bb88505084862e57b478e2c894a8b32b913f2246ba7d368fb46393b22907b", + "size_bytes": 15282319, + "status": "certified" + }, + "districts/LA-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/LA-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a56140e2ade0c4fbb45d6de175ee38504a1ee42ecf56fb74eedf229360a17ef5", + "size_bytes": 15438887, + "status": "certified" + }, + "districts/MA-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MA-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a36429e1ecf63aced86e62071f733db6a128651ed584e7393157deab8f845c6f", + "size_bytes": 15657882, + "status": "certified" + }, + "districts/MA-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MA-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0dfd7727b70ae84040020da01733aa537efe06362bcd309a3152d61fba5bbbcc", + "size_bytes": 15698521, + "status": "certified" + }, + "districts/MA-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MA-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c9f257cae1a68bc74093f772ac1af2a008a720104f0f1b9c9c535e1e1f8b4e55", + "size_bytes": 15845144, + "status": "certified" + }, + "districts/MA-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MA-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f35578774e405342bf9f8b90dd671e41fd27b387cf57d15e5e265f295e373458", + "size_bytes": 15702579, + "status": "certified" + }, + "districts/MA-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MA-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "50e0169a3158f34f7a768ed47fd292cfcb5b928abbb95f5afd0e3966c87e6d4c", + "size_bytes": 15751938, + "status": "certified" + }, + "districts/MA-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MA-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "904ca689257cf2d0a7d618b06ea96ca0cb38c8c819e7c3a555b59aee564430aa", + "size_bytes": 15705396, + "status": "certified" + }, + "districts/MA-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MA-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4019fdad09a39a3ef75c76cb786ecdf971bdd32594919397e25c27128eba1619", + "size_bytes": 15705559, + "status": "certified" + }, + "districts/MA-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MA-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3f3da77efc131f0e3146b5c1949a5c12b7aedee1487a34ed9fd672be395bfd01", + "size_bytes": 15662028, + "status": "certified" + }, + "districts/MA-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MA-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "80aee3dccd326d9bcea82d9e46e647c02a3c4b15715d763c0ccdfb037ef892df", + "size_bytes": 15641616, + "status": "certified" + }, + "districts/MD-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MD-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0173a0e27f4669b723fb27042b9abe99cda743033186ab96fb12180391a0a24d", + "size_bytes": 15571744, + "status": "certified" + }, + "districts/MD-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MD-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e271fa41496c1ac20a2ca87dc7804e37af93cfd8554822895fb7c2b3180f1eea", + "size_bytes": 15587384, + "status": "certified" + }, + "districts/MD-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MD-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "873aa7bc067524bcd6fde499e32449a8f2f40036ca9bb457e9fdb729082adc67", + "size_bytes": 15547834, + "status": "certified" + }, + "districts/MD-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MD-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d00f554d36b7c6dc2a0da6c65ee4cbf3821eee4e819664be907e85ba58a8d9b5", + "size_bytes": 15508899, + "status": "certified" + }, + "districts/MD-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MD-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "92793d26f94c6d3d3a00abfeb67f2bb602beb29321f386d709e345f4c3f6474e", + "size_bytes": 15423231, + "status": "certified" + }, + "districts/MD-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MD-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "506d5d5627272cfc445548811cdfae95b35307e449e4ef92713677d969f8927e", + "size_bytes": 15562640, + "status": "certified" + }, + "districts/MD-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MD-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "03b79bbf86769fe4d13212620104392831db092b72640d02c3ba7234493deb88", + "size_bytes": 15723986, + "status": "certified" + }, + "districts/MD-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MD-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7351e32726e27632f42e1ebb0a0588492f0356f15c1080a6beaf536769e7751a", + "size_bytes": 15571026, + "status": "certified" + }, + "districts/ME-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/ME-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "90acc2ce9d1f23d5b1cb0b41710716155b390b9ee0c4be4a7f9d4debf4bc04f2", + "size_bytes": 15476591, + "status": "certified" + }, + "districts/ME-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/ME-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3588563e2594e87bca475999fd22e0fc6cfac7be012049d6e3498d6e45567099", + "size_bytes": 15331898, + "status": "certified" + }, + "districts/MI-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "320ecfa36dc37de57a88073a41aa9aab3a6cc5e3131cc9c83b61b7a03f4f5135", + "size_bytes": 15412381, + "status": "certified" + }, + "districts/MI-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3e8633e3198175001762f352387ca4afdf342211e585dd08a0e3d34906765d0d", + "size_bytes": 15537785, + "status": "certified" + }, + "districts/MI-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fcc67ec65bee81eba1864474e0f684fdf1fcba795cae6f81358d57d12461fdec", + "size_bytes": 15527272, + "status": "certified" + }, + "districts/MI-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "61fddcf051b7805503370c82cc02f0f5c3fa15fd7cda110dd9fd5ab1cd9c7c11", + "size_bytes": 15556128, + "status": "certified" + }, + "districts/MI-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6dd6388e469b44512946d51e7aa93d4ddafd15303590f3e01f0969dfa1e83503", + "size_bytes": 15494284, + "status": "certified" + }, + "districts/MI-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7248f6dd30829529429d16206d402e39f9f59cc4e50f31f5cabdd932c95ce49b", + "size_bytes": 15508561, + "status": "certified" + }, + "districts/MI-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "db8ac596fc6a1b7127a28266d6be29a385b9e5ef7ded6664f4b565b014157870", + "size_bytes": 15484304, + "status": "certified" + }, + "districts/MI-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "9b7f3e43c0cfb7e2365cfa9494f51199e6188724aa0cdf2c42084cd93555dcfe", + "size_bytes": 15422005, + "status": "certified" + }, + "districts/MI-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "675c4cbf307ae52d8aca2972e4ccd2acc84ae28888bf6303bf65fb7648263f33", + "size_bytes": 15595717, + "status": "certified" + }, + "districts/MI-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "1c487721dd92e8a5703a1c8524e98b83f2443cb03a5d5e4bba8e62c4cb0e81ee", + "size_bytes": 15587278, + "status": "certified" + }, + "districts/MI-11": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-11.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c8ec7b359b7cc404cd5a6e56b8f3836d62e53950d09c3d5200946aa89c133115", + "size_bytes": 15561810, + "status": "certified" + }, + "districts/MI-12": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-12.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0768f9d7fbbd3cfea48873f47e86ee783ed876eebd911462d533ae64d2fbb91a", + "size_bytes": 15397394, + "status": "certified" + }, + "districts/MI-13": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MI-13.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "1a31c00e9efe30724ab6880a9e903bd281cb46227b008d450d67f3c398270153", + "size_bytes": 15423146, + "status": "certified" + }, + "districts/MN-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MN-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "036d7a30ef123036dea48af2e4b18ee0bb9f24d6885b70cb6717904ca5e464b0", + "size_bytes": 15653062, + "status": "certified" + }, + "districts/MN-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MN-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b439f4d02f8dd6fdc0532741b0f42abbe65f11516e3e2d6e7fd79450db92558b", + "size_bytes": 15589425, + "status": "certified" + }, + "districts/MN-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MN-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "bca7b7afe04249f95124313c091b96e9e68a0876b166c8d13d10cdc4483a1691", + "size_bytes": 15651152, + "status": "certified" + }, + "districts/MN-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MN-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "20695d5b8d905ae2fe61e876ac8c189e0fb54c30eb717e1db24e78c77bf0c5e8", + "size_bytes": 15699147, + "status": "certified" + }, + "districts/MN-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MN-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e18cc2cafbf85b8d7687156a6286f78fc13f5a05ea5cfa931a9e75fed91d2215", + "size_bytes": 15581628, + "status": "certified" + }, + "districts/MN-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MN-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "401c097b1e8bbb3491228fcd95f1c38aac941e861d6b9fdf5408ec5c6495b26c", + "size_bytes": 15503554, + "status": "certified" + }, + "districts/MN-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MN-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "264ac497effeda2be3fd1ab684f530938546c691833056a53bdf45d04b1a2337", + "size_bytes": 15552227, + "status": "certified" + }, + "districts/MN-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MN-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e0dde24b46b83ae13fae9c5316b606f3e32d927323fa6f043afc4f15792ef5be", + "size_bytes": 15545191, + "status": "certified" + }, + "districts/MO-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MO-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6bf36770177853bad8731f2eaa7fd24fff7271581fe80bf17ab00d03efb6d1b9", + "size_bytes": 15514724, + "status": "certified" + }, + "districts/MO-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MO-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3b4161fe7df27b34283a1d66c1b2a664ca154be464ee7a0509a26a33012ab2e7", + "size_bytes": 15474000, + "status": "certified" + }, + "districts/MO-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MO-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "da37f20db94c37ac701d83963ca36bb339066109e9b8c6cd7a9d4ca43152c6d0", + "size_bytes": 15547317, + "status": "certified" + }, + "districts/MO-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MO-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "bf040d03b429540c61ded2ac19f5065bbf4594235e4a7f52e26a13d97a84f3c9", + "size_bytes": 15371776, + "status": "certified" + }, + "districts/MO-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MO-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6e1e10d72208a44b23bbd70e077772a9d950b27b851db4555dea84b5d2e4a325", + "size_bytes": 15396357, + "status": "certified" + }, + "districts/MO-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MO-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "051397463c2a2d5dc6807d1c5d2134de5246920549e31060ba89115958617bbe", + "size_bytes": 15438047, + "status": "certified" + }, + "districts/MO-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MO-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b704875f9c0ca4b067ace4ea156de9cac8de38debf9725cc38d93bffcd97505e", + "size_bytes": 15544393, + "status": "certified" + }, + "districts/MO-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MO-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "84fa95fa8784a729d8034adc8edd2759e3af3bd3006dfaa35aa61dcf6171bad0", + "size_bytes": 15396490, + "status": "certified" + }, + "districts/MS-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MS-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "364bd4d3879d98a5983c0980cb31935b2991c613103795acd25065663d80982e", + "size_bytes": 14971888, + "status": "certified" + }, + "districts/MS-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MS-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "cdd4c074913b80750a584ba8f896332ba3f14595d801523579f3f9559753fc08", + "size_bytes": 14900292, + "status": "certified" + }, + "districts/MS-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MS-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "54327fa7b969f137eb8820b6471264894cbadc4c2a693fc905c570696784d876", + "size_bytes": 15067802, + "status": "certified" + }, + "districts/MS-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MS-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a9939be8fd7b546e532215985d0fa024385ae62d6200a7c2a2f95d14d9426be3", + "size_bytes": 15007779, + "status": "certified" + }, + "districts/MT-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MT-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3ef497a2d8270d5ed71ba5ea689836b866a2289f5bd2c4e25e6c653daea840e4", + "size_bytes": 15371548, + "status": "certified" + }, + "districts/MT-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/MT-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3bbe07d687be816a6cd3ceb3b417fc1f0a3827f30d45efe3cc739d9c19b5ab82", + "size_bytes": 15507569, + "status": "certified" + }, + "districts/NC-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "879f7e0227b5ebab9743767b8fd1a7b72672168097f8c8feb1ff28400ff7ab95", + "size_bytes": 15647969, + "status": "certified" + }, + "districts/NC-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "35767945d393dc32ef06334bd92bd408aeadcb15beb019eb432688618dab6c41", + "size_bytes": 15673047, + "status": "certified" + }, + "districts/NC-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e3873d07fe2e042a0179d5c41ad27a78c4a0ed6b9bbdc660b828fdb947e39279", + "size_bytes": 15270653, + "status": "certified" + }, + "districts/NC-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2fbc52ddb600a133608888e1c42768f2c6c98c54e8812f715132f30a985c7d0e", + "size_bytes": 15401062, + "status": "certified" + }, + "districts/NC-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8cf2c24b6fe59f4e5621dd29f129c19cc6074e515816243cc7d1f98a5e710b5c", + "size_bytes": 15586754, + "status": "certified" + }, + "districts/NC-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b5cb9f972a0f447345c1d145754e1a8a8e4a23b77686a5ee8e88eccc145033d9", + "size_bytes": 15323266, + "status": "certified" + }, + "districts/NC-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f251a595258c852b83d6562071312c85869dac7538b691b562af1f90cd4bbd88", + "size_bytes": 15626989, + "status": "certified" + }, + "districts/NC-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0d178bfe7b4cd3dbc9a16a555f499ee1bfaab959456a898675e353fb191b60a0", + "size_bytes": 15678011, + "status": "certified" + }, + "districts/NC-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d25aefa522f497dfb18db91e1fe576d28bc0752f8aaae45b6ae57dde56155c7e", + "size_bytes": 15345197, + "status": "certified" + }, + "districts/NC-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2192442cf7a07d1c0c88a996e656b2bfc68b3dade8cd4c4cec20d02798cb9966", + "size_bytes": 15461670, + "status": "certified" + }, + "districts/NC-11": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-11.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "270c6117dc1a7d575d94ac90beedda0d11d90335e67592c3d70d97ee224c0c69", + "size_bytes": 15492553, + "status": "certified" + }, + "districts/NC-12": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-12.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "98176a7255cf4d317602afba5a47e987e92c236795cef3cb25cb075aed588187", + "size_bytes": 15756191, + "status": "certified" + }, + "districts/NC-13": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-13.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a5d1f75abcc8775f3643132d816de15bdf2fa7aff383483ce141cbfc10879ea5", + "size_bytes": 15624121, + "status": "certified" + }, + "districts/NC-14": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NC-14.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ae9fbbdc8deed1b0045ea2777318effa0ce22c2ef4c1801ab646a4f4d0251b04", + "size_bytes": 15472888, + "status": "certified" + }, + "districts/ND-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/ND-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0bce898175086ca79b87d5d088e2279ad96a0a35d4b4d3ed7678d93d54b4cd33", + "size_bytes": 15805819, + "status": "certified" + }, + "districts/NE-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NE-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7b56840125ae17d49cc2bf2cbf988d4e0d27a7f6c9cfc5821c040e59140ca923", + "size_bytes": 15505784, + "status": "certified" + }, + "districts/NE-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NE-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "70bc523e24b9d7b42c8258b73953b0636dbcdaf054a23f7bf651588ef63221b8", + "size_bytes": 15654392, + "status": "certified" + }, + "districts/NE-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NE-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "1dd256b917872bf07b7d79f594386f332da4fa9dc0c24ea390506e8adbc417ed", + "size_bytes": 15442339, + "status": "certified" + }, + "districts/NH-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NH-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8f19ba2a55e1fcb4e43b8f5564aca66a24ac1a7be9fe12e394e0347bca187dff", + "size_bytes": 15749873, + "status": "certified" + }, + "districts/NH-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NH-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "073a522c84d2dc4dcaf53368da8b9fda8cda1772dde886c5648481b64947f124", + "size_bytes": 15731536, + "status": "certified" + }, + "districts/NJ-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NJ-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d525f646372b695d78a5943420767952c2160d583b5884b7403bbac6f3bd6d4e", + "size_bytes": 15609694, + "status": "certified" + }, + "districts/NJ-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NJ-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4b7fa08fac2ae199555ba6cd3dafcf1c093df29e5cd40e28b50786a2a06b2266", + "size_bytes": 15653337, + "status": "certified" + }, + "districts/NJ-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NJ-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f2f5a8de44c6490bcdbb31389fe67957965e55e4dc9660a397f96f6da43e6ffb", + "size_bytes": 15651857, + "status": "certified" + }, + "districts/NJ-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NJ-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2908fd5e0d6144081d34e73345970e207f89d8c61fc29f8926901dd63ffa5b30", + "size_bytes": 15805867, + "status": "certified" + }, + "districts/NJ-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NJ-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "76e960c7f0b6c45da9486551c8e840081b9ab10296d39fdccdcedbc7d613e1f5", + "size_bytes": 15676481, + "status": "certified" + }, + "districts/NJ-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NJ-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3a10cb3cccf56e7ddcbe4ff8b73cf92e4575f3e26f90c78d8dac8b90030c7362", + "size_bytes": 15724179, + "status": "certified" + }, + "districts/NJ-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NJ-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e55350c2f468686c38710dac52ad58c3064e55c8c6b22df7ab843ea85111759e", + "size_bytes": 15700583, + "status": "certified" + }, + "districts/NJ-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NJ-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "60f35143fb5375e3a54679fafa8a3c863fe497df85e674af3f02222db8ea9db6", + "size_bytes": 15697954, + "status": "certified" + }, + "districts/NJ-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NJ-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "395fba6b7d4a054b193895b82360bd0609268bb58fc44368c791c63180c632b5", + "size_bytes": 15775978, + "status": "certified" + }, + "districts/NJ-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NJ-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0f19c640d4b60f05b052993f892e78f9f6b4d33791f76dd7c11bb997ac9ce4f3", + "size_bytes": 15740629, + "status": "certified" + }, + "districts/NJ-11": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NJ-11.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2c4dd5066070e18005eea02bfae20d68e34263db65c19290d55dac02192d0921", + "size_bytes": 15764086, + "status": "certified" + }, + "districts/NJ-12": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NJ-12.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "806d0b2e3be986994d8a6e4962f0304c031ed404563da32d298eee04190c47c5", + "size_bytes": 15696093, + "status": "certified" + }, + "districts/NM-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NM-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a9ac2af341adf3bb4fb54b05dad15031f9df6dd698a55cc91beff498ce898406", + "size_bytes": 15243446, + "status": "certified" + }, + "districts/NM-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NM-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ae72d0264ff0533c2ae2cb705ba5ec385afdc2eb3f257f220f5a0bdcfe2362c7", + "size_bytes": 14984733, + "status": "certified" + }, + "districts/NM-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NM-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "dd51014d3e4078bf0ba372ff333ffd5367581425ca8919ff0624663d3cc2aa4e", + "size_bytes": 15154886, + "status": "certified" + }, + "districts/NV-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NV-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c00aec9b93130e8a8c31faff6b4ad0d3448d23a3f1b8ecd47711e8b12e6e116f", + "size_bytes": 15671601, + "status": "certified" + }, + "districts/NV-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NV-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a6aa0fe3a1543a159bd288e04f5481cda997e40d719e5178ce5cb52ee5642667", + "size_bytes": 15673155, + "status": "certified" + }, + "districts/NV-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NV-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2ca863e93c364713d66f368f6ee795ce9e1a728d6f648c761e1c5ef2f7287932", + "size_bytes": 15719863, + "status": "certified" + }, + "districts/NV-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NV-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c9de74ac795b380651d2255fe83b327504e694c28b36209eaf0169732c335a42", + "size_bytes": 15573174, + "status": "certified" + }, + "districts/NY-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a282e4dcc154bc2f218ef9c39d7a3a822dfd69682ba8f87811f1de75fc133ee9", + "size_bytes": 15682496, + "status": "certified" + }, + "districts/NY-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f2cf41e9d7062480f985350f3efc6683b92c70a919bc6137fff3309dd1c8a8a7", + "size_bytes": 15537420, + "status": "certified" + }, + "districts/NY-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6b34a590965cc1a63d068c308869eff945c081f69e6a453361bdc43b26c05def", + "size_bytes": 15684771, + "status": "certified" + }, + "districts/NY-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3bcdbfdc136a97da790fee0722d89618c77618d71a6b94ca4701007924382fcc", + "size_bytes": 15600644, + "status": "certified" + }, + "districts/NY-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d25a10e740f8934ce22d9db0c381c0ded944ed487a545e56d494f1d23892509e", + "size_bytes": 15299470, + "status": "certified" + }, + "districts/NY-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "9b1e6889094afa7510698069044de256205f29e76b20c20607095a62d4b61345", + "size_bytes": 15395563, + "status": "certified" + }, + "districts/NY-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "bdd9ea35e9cb3327599ac4a937cd18fb35cafd91c8da73800a73e63110bc50af", + "size_bytes": 15766916, + "status": "certified" + }, + "districts/NY-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "21d63275d7430a27c65b6bbb44d3ffab3140ae7db8ea3d39f254adaa5138e30d", + "size_bytes": 15402197, + "status": "certified" + }, + "districts/NY-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "223bc49546dc38156a670261d50236e2966899606f0674d7091d4a25a852639f", + "size_bytes": 15728222, + "status": "certified" + }, + "districts/NY-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "002eece90a191486052c572cbfbc51aca7f701713598e7038155be4c7ef9bb46", + "size_bytes": 15750818, + "status": "certified" + }, + "districts/NY-11": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-11.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fcc9fdfb76fe9c528745e4cff48a216640a419302b3b23bb8d87399eec031777", + "size_bytes": 15779033, + "status": "certified" + }, + "districts/NY-12": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-12.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4c181e1b21a2eadd6058e372e9ac7f3d1514f8b821c34d3987efa6fe39e908a5", + "size_bytes": 15592791, + "status": "certified" + }, + "districts/NY-13": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-13.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fdb9d84ae6c150d9db283c252fbc29545df5f65161d86ed67240a0d8252e5cce", + "size_bytes": 15360484, + "status": "certified" + }, + "districts/NY-14": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-14.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5ba1bea06db0b4b1e8b0a339b2725adc661f6771fdba64a04d1557318c14741a", + "size_bytes": 15477919, + "status": "certified" + }, + "districts/NY-15": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-15.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6d0f8212b81303f6e1def04c82ae4ea7c4001a48f520125c10eaf0fd436d1f76", + "size_bytes": 15475663, + "status": "certified" + }, + "districts/NY-16": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-16.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d32ce4cf01b4323cb502bbf85b74813da8cd5c2e59beee9d56982e1a9179554d", + "size_bytes": 15643777, + "status": "certified" + }, + "districts/NY-17": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-17.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c91a4b6ec0baf0e19d0c1180b943880d55c06103e974284d916b4ed34b5b0db3", + "size_bytes": 15741974, + "status": "certified" + }, + "districts/NY-18": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-18.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "aff7f4d32b14ce25a93262b7c6e36b9a27a4398839666f5673767f523b9b4d61", + "size_bytes": 15589160, + "status": "certified" + }, + "districts/NY-19": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-19.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "71fc2dc90fc5532e1d4f380ddc45adbd3fa3dbd46bdd4681d824a171631776d4", + "size_bytes": 15408138, + "status": "certified" + }, + "districts/NY-20": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-20.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c8b1095e86c37a0e88f876736dee49e4ba0ddd9aee729ab58f66b160c398b36c", + "size_bytes": 15464730, + "status": "certified" + }, + "districts/NY-21": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-21.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e495200b8ef11e8b4f96e109b9a6c495b3590cda04eb3a974291f9a76eb4d19a", + "size_bytes": 15505455, + "status": "certified" + }, + "districts/NY-22": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-22.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "efa984a733763ab6ff1a6b65b17a27e586462074323e7b78c5e6f0688aa2fe6a", + "size_bytes": 15378738, + "status": "certified" + }, + "districts/NY-23": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-23.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "979ad9672e72c33fb7f7afed0882dea3bfa43015637109b4b7814368fc5dc5b2", + "size_bytes": 15450278, + "status": "certified" + }, + "districts/NY-24": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-24.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d10d8edb22bb8c47cf7236c2dfc301319df5adb8bc8b640ad1b1a6f85e4d2d4f", + "size_bytes": 15364497, + "status": "certified" + }, + "districts/NY-25": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-25.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b2f1110ce96a6f1a9ff912bed668f2743560fe80dc08e9f6aea5ebe13b0f13e6", + "size_bytes": 15447456, + "status": "certified" + }, + "districts/NY-26": { + "kind": "microdata", + "metadata": {}, + "path": "districts/NY-26.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "063c56b4539526a14eb3fb18ae305c05bf1e84605172df1a390b70c825312daf", + "size_bytes": 15285122, + "status": "certified" + }, + "districts/OH-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "57dfc166fa2cc2fe300d31b113e3cfbb5f646b0179fe5246e2dc80bd10e2b8f2", + "size_bytes": 15444997, + "status": "certified" + }, + "districts/OH-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a5c14b2c793bc06ac059965a3676326b6ae2e612e43728c3065777b105a508cf", + "size_bytes": 15475432, + "status": "certified" + }, + "districts/OH-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "94855646ef530e767c1df634564ef80730ca4728e970fefa2a41ff98f982bd9c", + "size_bytes": 15596796, + "status": "certified" + }, + "districts/OH-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5fadab37624d59e7b7dcf0cb718f94145d6d9cfc32694bad4f66f93f45cde022", + "size_bytes": 15527509, + "status": "certified" + }, + "districts/OH-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "1a340bf64166810247fdd3fe6fdf4cb5fd364dca7a4184226949131b98c47e0e", + "size_bytes": 15436370, + "status": "certified" + }, + "districts/OH-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f975efad2402bf094793e26b9d2c998c18d2431c16660d58cb53a6731d7978e4", + "size_bytes": 15323413, + "status": "certified" + }, + "districts/OH-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3be277c351de260e2f993d3c0184645cf1c4b86d9d5ca33894da6921179a09f0", + "size_bytes": 15496928, + "status": "certified" + }, + "districts/OH-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c463dd642d3ea86a86e2ea4557e0e8c5bc2d12649b092fed990692a615ef5ab8", + "size_bytes": 15449210, + "status": "certified" + }, + "districts/OH-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d9da6c4c7f07ae1ecdbc80aac6c033663380c282db233b6a2bfaae6dd882a517", + "size_bytes": 15373866, + "status": "certified" + }, + "districts/OH-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "239798b4217deb2289bbdf6eea0a770cf39ead11e98fdcb684bc7387a434dc40", + "size_bytes": 15392791, + "status": "certified" + }, + "districts/OH-11": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-11.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "9ef3a74bc9f5d6e22b12812e07231d66359959b48e9ab6eefc9f0f29527442c1", + "size_bytes": 15464327, + "status": "certified" + }, + "districts/OH-12": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-12.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d01d832466b6b6a190a73eab7b95709c741d7c7b592d8a8fa9a74750ced8bc99", + "size_bytes": 15455022, + "status": "certified" + }, + "districts/OH-13": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-13.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d9185a01100147ab6fa2a5a584809d65db6b822c4205016fa31e37e07893b65a", + "size_bytes": 15540472, + "status": "certified" + }, + "districts/OH-14": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-14.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "de3c7d145101d31fa6870eb2c902c6420a5894afb612dca6889edab9386a565d", + "size_bytes": 15593153, + "status": "certified" + }, + "districts/OH-15": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OH-15.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "9425d6999e7dae896d4f16dd0bb4c5f33e2b83ff807a975df1eea0af6fab5ba8", + "size_bytes": 15318118, + "status": "certified" + }, + "districts/OK-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OK-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "db8dd4d38bb8b8f9d01f2739dcaccdc612880e4722804684dfb1cecab1c8afcd", + "size_bytes": 15578185, + "status": "certified" + }, + "districts/OK-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OK-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "901a3f192a46bc53e15f89d80522e1cbc38f240c90e1111467d491eb87eed6d9", + "size_bytes": 15415121, + "status": "certified" + }, + "districts/OK-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OK-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e5f2149b4413be9f9b77620135645deb7bc9c1bad9db7bfdb21ddbfde6f97f31", + "size_bytes": 15421021, + "status": "certified" + }, + "districts/OK-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OK-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "9d3ea31d5400d979df83317fc17eade3d848292655ccd1f1f64fa3fbbc73982d", + "size_bytes": 15480148, + "status": "certified" + }, + "districts/OK-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OK-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ae32cbedc2da2754337b5677c810610e9113a3053d2c9b991d853d26070644ee", + "size_bytes": 15467975, + "status": "certified" + }, + "districts/OR-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OR-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "dc98ce4242c67049cabfc9eccb141b5c4802bcd6a0fa7eb60f322ecbd176ff55", + "size_bytes": 15307441, + "status": "certified" + }, + "districts/OR-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OR-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "9c2a3cfecf3903f50a9d6da2384e2ac53a164b72d2ce49c69b6485437ec73cc1", + "size_bytes": 15520554, + "status": "certified" + }, + "districts/OR-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OR-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fb5ccad1c6bebcbf5e3eb05eb7c236512c82d5e05266c6164a08c236d2d9e444", + "size_bytes": 15499369, + "status": "certified" + }, + "districts/OR-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OR-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e10ea5b0ab5b532453d31b59078b536b33d56f8fa71128d79a3e0e7a368543db", + "size_bytes": 15421653, + "status": "certified" + }, + "districts/OR-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OR-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6b1748b85b3bcfca85d41296a7fe7412667622e6e3b7a1b7416f08cce5dfd140", + "size_bytes": 15400195, + "status": "certified" + }, + "districts/OR-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/OR-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "32a9947b43a09f00fd7b5edfd3198f58a6f49cab01b39c664efc09077c7cade9", + "size_bytes": 15523426, + "status": "certified" + }, + "districts/PA-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6200426a768cb376e1b99bcf689aafe3cee3b5000de5d3f582dc26b999a46530", + "size_bytes": 15650070, + "status": "certified" + }, + "districts/PA-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5105e93c61028e17f6d8f02ee23ab5412f5c05148b2b7b59376136793928ae3f", + "size_bytes": 15109140, + "status": "certified" + }, + "districts/PA-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "933d15e0e543eae82721b33f2babbc2a59ec0682c1b2b18c6bce4be6d49ad06f", + "size_bytes": 15522739, + "status": "certified" + }, + "districts/PA-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "31a3f77599be2ac1e27c87f14ed0756c76778128aac3e356a4799c02610aea2e", + "size_bytes": 15609357, + "status": "certified" + }, + "districts/PA-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b8475de86f0ce5f8db995989c2f3c3f24f08441f76c7b95ddc071b39691ae89a", + "size_bytes": 15660960, + "status": "certified" + }, + "districts/PA-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d727f1a4c74e49d3cdbb65526625d574eac38fb62c197cc92cfa53a1def1fbbf", + "size_bytes": 15725016, + "status": "certified" + }, + "districts/PA-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "1b7836dbd37e8b028c419c73cb69e0d33ef3d4fcd0fd9b3c0d68ba2f076c7bae", + "size_bytes": 15570976, + "status": "certified" + }, + "districts/PA-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f32efdb92208b208b1a7eeee36beb218d85559e4ccac3521e14da31effc685f0", + "size_bytes": 15561432, + "status": "certified" + }, + "districts/PA-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "138971a2601d17c85a7c9e247965a8206b1520312399dbed4f459b2d34756b2d", + "size_bytes": 15470677, + "status": "certified" + }, + "districts/PA-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "73db5cb4409ca68ecec4a598542ca899ae778667b78c39d4823eeba55046298c", + "size_bytes": 15601469, + "status": "certified" + }, + "districts/PA-11": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-11.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e5a3951e914b8b7429fb77a8f1d8e7d32c3ca53f8dfa0fa7780bcc2b8a7339c8", + "size_bytes": 15588286, + "status": "certified" + }, + "districts/PA-12": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-12.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "22cce3cddece26c776786c1b11755ac0942d05ee219c35ce12f09419ca78a753", + "size_bytes": 15500875, + "status": "certified" + }, + "districts/PA-13": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-13.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "bacb91fb4ec3ccc535ad066da1029525f69f8d70331ec46d9aaeb746b5e33a9b", + "size_bytes": 15482454, + "status": "certified" + }, + "districts/PA-14": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-14.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c383792d08bc61e656e0696c904c065db9c1966a799de66704974c2021e953c1", + "size_bytes": 15597874, + "status": "certified" + }, + "districts/PA-15": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-15.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "10cf1690d38bee929af601bc55ed6349d990388f80e8b0d82cd3a2e25240ce77", + "size_bytes": 15415631, + "status": "certified" + }, + "districts/PA-16": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-16.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8d8984ae8861ff537ba094a8beee8cd35b841e46615f66c3345a60acbd4a0a0f", + "size_bytes": 15542337, + "status": "certified" + }, + "districts/PA-17": { + "kind": "microdata", + "metadata": {}, + "path": "districts/PA-17.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d13b0e129e79abf5863b6c5ed0b3b81f67d2fda25851f837c4995340f29b99aa", + "size_bytes": 15708137, + "status": "certified" + }, + "districts/RI-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/RI-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e759f189d059ee23aad7405f820839b062ee9545f713e6b952a8de4a14bf1b1c", + "size_bytes": 15493679, + "status": "certified" + }, + "districts/RI-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/RI-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7f7c830f98867f8902aa8f635798fee8c31902185a4540000ed4945ea09d166f", + "size_bytes": 15485387, + "status": "certified" + }, + "districts/SC-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/SC-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4c43ea53b7cd84ea1d16c97704a39f06afc963166ff708422964e0d45d7ceb41", + "size_bytes": 15593049, + "status": "certified" + }, + "districts/SC-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/SC-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7c2183e5871ce2e452d9a989de3f698fb94676ffb6a1c68fabf842ed5ad2ab2a", + "size_bytes": 15466325, + "status": "certified" + }, + "districts/SC-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/SC-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c754b5d9c28e061633448a034b23adebbaab0d9aac964a37b2e74eb7af6bd9d9", + "size_bytes": 15397096, + "status": "certified" + }, + "districts/SC-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/SC-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "90bb3e55a8937738c0b2b5041ee88da8e6f4c196a0580976ca979c78afb305da", + "size_bytes": 15579102, + "status": "certified" + }, + "districts/SC-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/SC-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7f86d7290235806a3e5dc690e162702cf50fddb0750a0a1500af19b6474ebe0b", + "size_bytes": 15329040, + "status": "certified" + }, + "districts/SC-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/SC-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "805be2d8d9126201f05824d939d44fd44ce3cd0e1517d4425d89842128210176", + "size_bytes": 15416158, + "status": "certified" + }, + "districts/SC-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/SC-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "78817a3d2e32298f223ce13cab85f81dce5c3967f3e22425cd5157b0038d26fa", + "size_bytes": 15526047, + "status": "certified" + }, + "districts/SD-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/SD-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5716394ab2103a5517bf361db03a8f49fc15d6c84c2b46ee0eb061a4a6054112", + "size_bytes": 15911719, + "status": "certified" + }, + "districts/TN-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TN-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e76a48cad2e14c3cf87487902fc8fc6971d0fd77bbf900ab1eab8366e55b78cb", + "size_bytes": 15408862, + "status": "certified" + }, + "districts/TN-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TN-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fbfd285d6dab02037d796021ff7ae1ff99d1fe701e3cb9096fb03feb9653619f", + "size_bytes": 15622237, + "status": "certified" + }, + "districts/TN-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TN-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ee0accc22866fbfb8b7a7d05ccddabb656f44ac5d372091651b8e245acf97c85", + "size_bytes": 15509037, + "status": "certified" + }, + "districts/TN-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TN-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a1cd27cd78c73b3828912dc2c502c883612e8b778e4184982468fda60a967f23", + "size_bytes": 15519002, + "status": "certified" + }, + "districts/TN-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TN-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8da4cf38071c0b511382d226849626d3b32082ea6faeca2a855228314ffb662d", + "size_bytes": 15526117, + "status": "certified" + }, + "districts/TN-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TN-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "46585dafe796513b03c752fdeee9d8517f91e05b00bd86d68217d8b4828c3f69", + "size_bytes": 15615158, + "status": "certified" + }, + "districts/TN-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TN-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "323b7478ccb669b062db2c22d2c8f4aa8a476b6d7af3e64b6a3339d2377441d6", + "size_bytes": 15633216, + "status": "certified" + }, + "districts/TN-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TN-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6cb393b825041db7af2203dc931526c2e5c22ba9ba313cf1a4f1ca607608dcb9", + "size_bytes": 15631747, + "status": "certified" + }, + "districts/TN-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TN-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "779341acbfc9bc1a9f93c010fd81baa8fa8d8df29b67ba7ca2fa91245a2e1f58", + "size_bytes": 15217650, + "status": "certified" + }, + "districts/TX-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8837ee4de02bef2264da2bc558356e04d75a201012e5f960694d00d9e2294b05", + "size_bytes": 15575259, + "status": "certified" + }, + "districts/TX-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "264c5e26ccd7fe5754909969c8b3ed6321f9cd240546cdcd5b1ab102d7cf831b", + "size_bytes": 15616916, + "status": "certified" + }, + "districts/TX-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "108d588f94648e6d9310594923f7ab4ba2e5ef1796b28352a6b5821d8054669c", + "size_bytes": 15644331, + "status": "certified" + }, + "districts/TX-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "20d13a657b2ae35b539fe4cc10d45439fda4a41783f4e1be0dd9675cb64c91af", + "size_bytes": 15629886, + "status": "certified" + }, + "districts/TX-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4371630dc0dd42e4f7ef0a36f226490ddec166fb1c74a729ea0e8dbf849d0ccd", + "size_bytes": 15692288, + "status": "certified" + }, + "districts/TX-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b1921fcf9089edf3dd004ea53d7539d94ff65d50ecfc6ab99e93cb16b7ab7cbc", + "size_bytes": 15506671, + "status": "certified" + }, + "districts/TX-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "eabb9b149afc1f13a9ffa9567f0f07f53bc63b3d06b29fb9fa4aea160f73fb77", + "size_bytes": 15557176, + "status": "certified" + }, + "districts/TX-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "148b20f247d8de44acdadc9a1a5db484b8178ae1d461980f1ef148c43ab0286b", + "size_bytes": 15015452, + "status": "certified" + }, + "districts/TX-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "55c9129b41100870031cc4a1b96524d17415c8d20528deb63521847fc52a78e3", + "size_bytes": 15620308, + "status": "certified" + }, + "districts/TX-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3ad9eb1af578de898af933255501c3a19de5bc84396b27504c8d11dd1462e223", + "size_bytes": 15607880, + "status": "certified" + }, + "districts/TX-11": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-11.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "335b2fc297dab0a397cf24be566d3f30f4bdcf72e6f86dad3c515c44cae0931d", + "size_bytes": 15707472, + "status": "certified" + }, + "districts/TX-12": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-12.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "458a39276e5e67502c312010e919dfb8293cd79a0ca97b71fbcb93e01d871a3e", + "size_bytes": 15561169, + "status": "certified" + }, + "districts/TX-13": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-13.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b212b1452719462684e9111a02adf1e2d5e4ca675cd704932f7a6a9ba491a115", + "size_bytes": 15615301, + "status": "certified" + }, + "districts/TX-14": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-14.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "38dc80b172e23e0004a80fe2f4bf0abbb55177483481177995a3247f64afa3fb", + "size_bytes": 15464839, + "status": "certified" + }, + "districts/TX-15": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-15.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fe0449f304697954a8d07e724d2e9ee582f34686a60c61afba7f79cc2922f41e", + "size_bytes": 15019146, + "status": "certified" + }, + "districts/TX-16": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-16.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e673c1102e5fcf30344bcd8f9e0c22dcb3747ce665c06266f319bc14129d04a2", + "size_bytes": 15391510, + "status": "certified" + }, + "districts/TX-17": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-17.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0a4799be0066bff7e31f3c88b1cff3d52113b46c1ea6426b0a89f4ae4abd4c51", + "size_bytes": 15580128, + "status": "certified" + }, + "districts/TX-18": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-18.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "1852f0685f2ace9ed27d6a6b01ccf56246bc4a096c96b71d444b56d08e31e85b", + "size_bytes": 15533651, + "status": "certified" + }, + "districts/TX-19": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-19.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8830092b762fe543101a06b5ad79447565f070b0e8249705c428df872d3ccc7b", + "size_bytes": 15571606, + "status": "certified" + }, + "districts/TX-20": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-20.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "1831d2451161f5d5abc8259b3c6140ca884ba0bd680e3c1402361e2e7dc96e58", + "size_bytes": 15354869, + "status": "certified" + }, + "districts/TX-21": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-21.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c6fd492e3cd2044b05f44bf8e7790d8beebd92e896f75288b1a572b84956ec91", + "size_bytes": 15716801, + "status": "certified" + }, + "districts/TX-22": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-22.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0c62bccc29ea7c07be5869f8e6721e236987b4fd727d9172328e03f9c216e1c8", + "size_bytes": 15694883, + "status": "certified" + }, + "districts/TX-23": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-23.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "36b177497e73851d50e051c94be9184c0dbadd5beb53fc255f244c5f5a6879e0", + "size_bytes": 15387437, + "status": "certified" + }, + "districts/TX-24": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-24.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4811d1a078b4116d5f2dfd0b16ebfb309ce1be516d201d4cea6534cb8593f0c7", + "size_bytes": 15684324, + "status": "certified" + }, + "districts/TX-25": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-25.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8e6d0e1ab6c7040ebf2b287ae8c0e469e6089fbcaff6e9edb2f407cd2cd33f38", + "size_bytes": 15616094, + "status": "certified" + }, + "districts/TX-26": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-26.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "808bec75982149607a2c5426216fe89298a5c55b7a9ba988e87d0a0a01f31b39", + "size_bytes": 15581042, + "status": "certified" + }, + "districts/TX-27": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-27.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a001ceba8b9ce349140c38636733c87b26686ebb7ea9baadf5b5d708d765b8c3", + "size_bytes": 15467615, + "status": "certified" + }, + "districts/TX-28": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-28.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "818e78be3719735ce875cee93a62062d8e16edb0e5936db90eadb06db3082a1c", + "size_bytes": 15332475, + "status": "certified" + }, + "districts/TX-29": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-29.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "baceb06df283d66a5475821290c6f6c4d171fc5a7712405c496ce1a5147b6a75", + "size_bytes": 15120749, + "status": "certified" + }, + "districts/TX-30": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-30.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "dc30969733131b84995b09ff120162d163acee4263a109a81ae050cdf8208642", + "size_bytes": 15334748, + "status": "certified" + }, + "districts/TX-31": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-31.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6deb7b7e2a89796ab978f05dd3f2056a0bc4418e44673566dfffe67c98690ac3", + "size_bytes": 15569437, + "status": "certified" + }, + "districts/TX-32": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-32.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d4fe0a824c8fc90bb406a1e80c9d96d56d5de1c85116551f554737c8618b4b2d", + "size_bytes": 15687388, + "status": "certified" + }, + "districts/TX-33": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-33.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3255694a5490bf4e8beb0a8e5d8e9db1877206bd7ee0bd65cfe1a52337cddbbd", + "size_bytes": 15395490, + "status": "certified" + }, + "districts/TX-34": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-34.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8814948e4c7998026da40389525edc81fa16f03f8220ae14225cb2a1ef8bee1b", + "size_bytes": 15229599, + "status": "certified" + }, + "districts/TX-35": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-35.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "88fce2d29e5e51365743578704a27f2c82ce615ab14574e09df8036c7b053145", + "size_bytes": 15445234, + "status": "certified" + }, + "districts/TX-36": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-36.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f62a7dfb1c0fffc87a8d6f48d0767465304934c6ec98ebcca8d027f9c5d8fb6e", + "size_bytes": 15563880, + "status": "certified" + }, + "districts/TX-37": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-37.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a8e94a9c6a2098c933c620978c8f4a88f6a3d33f52a72c19110ac03115c7b67d", + "size_bytes": 15707934, + "status": "certified" + }, + "districts/TX-38": { + "kind": "microdata", + "metadata": {}, + "path": "districts/TX-38.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d1b63702cef5dd9948e04280b928c09aa41a02595805ae7b5d105521738df93e", + "size_bytes": 15597689, + "status": "certified" + }, + "districts/UT-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/UT-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "de74762db67bef226764d2e2f2149b54e39fed7bf4eeac76895fa388190a8e7b", + "size_bytes": 15673572, + "status": "certified" + }, + "districts/UT-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/UT-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f7134c2d0f7273b0b96d4375ffbc795dc97eec1fa9bdce5afdfa70700d3f9796", + "size_bytes": 15629225, + "status": "certified" + }, + "districts/UT-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/UT-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b22b76f8d801eae33958908d3698a469adcc28b0ecee4d5a7e45cbfedfb3afe3", + "size_bytes": 15751469, + "status": "certified" + }, + "districts/UT-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/UT-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "40a2c3069ec059f185c2bc12e2ccb97a2ab961e91ec9ab8d6f58e5850d7cf540", + "size_bytes": 15587899, + "status": "certified" + }, + "districts/VA-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/VA-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "09e0b43c3d3d711f65a2401e6a8d7b0b363e277c50301feeae26943a739f29da", + "size_bytes": 15617148, + "status": "certified" + }, + "districts/VA-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/VA-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "cd84f4d1f7ab6607b5314b27b6511d4d9e9cbb50eceb6869140d8879b99b581b", + "size_bytes": 15529647, + "status": "certified" + }, + "districts/VA-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/VA-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7b30bc710c5ada699bcd8802e32f7e8225d783d7b6a56014a632c737742a24f5", + "size_bytes": 15471627, + "status": "certified" + }, + "districts/VA-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/VA-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "83283a51c4e9e1aeff51b20e93572cb0267906d264a0ed0548e116669bef8fa2", + "size_bytes": 15654264, + "status": "certified" + }, + "districts/VA-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/VA-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8e4ec6075803bfab76b40a97c0f37d0d2bd89729cbe25a59027e837046cc2f7c", + "size_bytes": 15519925, + "status": "certified" + }, + "districts/VA-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/VA-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "36f4d2c63f59ef0aa874ffef003b36fef656f2711a632987a2f6915fbd879bdd", + "size_bytes": 15604920, + "status": "certified" + }, + "districts/VA-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/VA-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "76741cf6d8832c4148fb623d1ba4016d71c0b62e73a842df6070167b73844aff", + "size_bytes": 15645966, + "status": "certified" + }, + "districts/VA-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/VA-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "bd2f4b56ff6f10908867d9790e7d828f46cdb312d9e7d7ae2a2e505fa113e6ef", + "size_bytes": 15762884, + "status": "certified" + }, + "districts/VA-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/VA-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fceb801f0db5c3021f06d185b76347e1eebc975ce319652ca3826cda0f1ad8c1", + "size_bytes": 15360820, + "status": "certified" + }, + "districts/VA-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/VA-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8c4bdaf498544c4651275570d7deeed659abb2a246341bcd55ffb619af24170e", + "size_bytes": 15619597, + "status": "certified" + }, + "districts/VA-11": { + "kind": "microdata", + "metadata": {}, + "path": "districts/VA-11.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7447aeb48c4b74afe03a36cc33bab1d90614d9026f725a28dad37959ec3a37c7", + "size_bytes": 15645840, + "status": "certified" + }, + "districts/VT-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/VT-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f604f915106a38d5c670a82a6a612ba45b0d58290417cc113f60fb4c89e6284e", + "size_bytes": 15496136, + "status": "certified" + }, + "districts/WA-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WA-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "1f3863c9608dd5ffd295049b04dc50216436c1be3200f587a4b2d1185c75433e", + "size_bytes": 15633422, + "status": "certified" + }, + "districts/WA-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WA-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f1fea491dd126dc0b0f6ca1a120063db4b1dd4ecf1f1054e2ef8a79fc9e6ed8d", + "size_bytes": 15639387, + "status": "certified" + }, + "districts/WA-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WA-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4ec9dd1fd791964bb1355415719a6d96641d113427f7196f7776532dbe41b86f", + "size_bytes": 15576141, + "status": "certified" + }, + "districts/WA-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WA-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "26babfe0412343b74886cbf2747009bea6573f47234587ab1ef4c6f38c643944", + "size_bytes": 15426903, + "status": "certified" + }, + "districts/WA-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WA-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "af816144425cc1566ae8a3f2eca1e3b85c97e82d1e1367d6a829ec4027f7cc97", + "size_bytes": 15570476, + "status": "certified" + }, + "districts/WA-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WA-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "99adba2b90490ee4f05d0c4e73a1bb875c60514dd97ae99e3cc537db73611924", + "size_bytes": 15719088, + "status": "certified" + }, + "districts/WA-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WA-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "03bd996ac3fd3703fedd785d453bbb10967c32c911e9e6c3f8d5e3cb3f93f27c", + "size_bytes": 15671460, + "status": "certified" + }, + "districts/WA-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WA-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ca68f884d5b558df68fca2a009464ca6cc044d1ebbd4ab8b6fd49f9f8608d1f1", + "size_bytes": 15743882, + "status": "certified" + }, + "districts/WA-09": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WA-09.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "562a25e46531f2a97631cbaa7860a06c102f8f9f650452ce8877032d8b01532e", + "size_bytes": 15672698, + "status": "certified" + }, + "districts/WA-10": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WA-10.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3f57149a2b31467be8a960f7c63dce6ccc7ec431ac84af26f3259afc9440caa0", + "size_bytes": 15530395, + "status": "certified" + }, + "districts/WI-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WI-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a4b4f89b60766f2f2092414a03450975df181e3ea18f178c2da2d38742d0b930", + "size_bytes": 15561296, + "status": "certified" + }, + "districts/WI-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WI-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "4f900cd27901931d9907dd2c7793c09ea98c1cf0654a439deb6b4c98bb9d127f", + "size_bytes": 15659651, + "status": "certified" + }, + "districts/WI-03": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WI-03.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "23a61bd2a391e4c08dfd949c76a82d9724a52b6a97c724b5c2946f723e392f66", + "size_bytes": 15406692, + "status": "certified" + }, + "districts/WI-04": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WI-04.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e8191284659c1b8c0160c5f0cf249cbd17b99c67e09f2205fc820ae17a77a34d", + "size_bytes": 15445419, + "status": "certified" + }, + "districts/WI-05": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WI-05.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3e3023ca8d2a4df809754f7d1f5ff70b0311d780d835b8ea9acb1f9fdb49ed14", + "size_bytes": 15626310, + "status": "certified" + }, + "districts/WI-06": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WI-06.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "12cad1ff3d5aa283e2636c0c3c84dc9991d7f59dd685ff2307fa2cc0287cad71", + "size_bytes": 15636681, + "status": "certified" + }, + "districts/WI-07": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WI-07.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "77b5a542c9d9f228577d3d52826d1393c0c404ad1f03c9ab2f98147d35e99cd7", + "size_bytes": 15503334, + "status": "certified" + }, + "districts/WI-08": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WI-08.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "174a5a0a1f23f851bc145b9e77b8ca85bd3e8e76037b3f0bcc31d72e3965b69b", + "size_bytes": 15653886, + "status": "certified" + }, + "districts/WV-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WV-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "18ed5014e7c57a10b87cd868b0d147b7f50e029f54ab59561f25afe592a53668", + "size_bytes": 15221132, + "status": "certified" + }, + "districts/WV-02": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WV-02.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0f4198f9b5301c9c036657917c5f64055714b1bb8cdc692ce7a1bbef144d7af4", + "size_bytes": 15143717, + "status": "certified" + }, + "districts/WY-01": { + "kind": "microdata", + "metadata": {}, + "path": "districts/WY-01.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "7bf09e96ae8c619a9f12c0c777ed2a75afe8203e3fcf72d787d3461a270fe699", + "size_bytes": 15686454, + "status": "certified" + }, + "enhanced_cps_2024": { + "kind": "microdata", + "metadata": {}, + "path": "enhanced_cps_2024.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "58a6639f7511b8d804701417e2647f0c3a77f51a3d90441037eaf004b1f00761", + "size_bytes": 109844730, + "status": "certified" + }, + "national/US": { + "kind": "microdata", + "metadata": {}, + "path": "national/US.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "85c4d9adc3eecd3d42cb38eb5f0452f5878691d66abad81e5b2490755738929b", + "size_bytes": 1013290, + "status": "certified" + }, + "policy_data": { + "kind": "database", + "metadata": {}, + "path": "policy_data.db", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "117fb3873faace2161265ec85b9dba251f459b964e842b76018d575879169d43", + "size_bytes": 17674240, + "status": "certified" + }, + "small_enhanced_cps_2024": { + "kind": "microdata", + "metadata": {}, + "path": "small_enhanced_cps_2024.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2ca6ad2f09a18ca8f2a8e325644f3cf019b2d120baf661cbf05c2bb52cdbd274", + "size_bytes": 1149677, + "status": "certified" + }, + "states/AK": { + "kind": "microdata", + "metadata": {}, + "path": "states/AK.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "31b210f3377c1885bf47232d64df2a8627808c0d2c4ed2a556f97de987c09748", + "size_bytes": 15506988, + "status": "certified" + }, + "states/AL": { + "kind": "microdata", + "metadata": {}, + "path": "states/AL.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "24d72bae97493fe928517ee8ed4d5f49d369ed09fe656ea38995f65816928b13", + "size_bytes": 105322600, + "status": "certified" + }, + "states/AR": { + "kind": "microdata", + "metadata": {}, + "path": "states/AR.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "ba35e52c88487e4d316bee8232dee886b8715edd9bc47914c642e839ec3545a5", + "size_bytes": 60096363, + "status": "certified" + }, + "states/AZ": { + "kind": "microdata", + "metadata": {}, + "path": "states/AZ.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2ac439d1c77f00d4a58bc958e4ff557168d2653744575a20dabd35f4ddaee5ed", + "size_bytes": 136874570, + "status": "certified" + }, + "states/CA": { + "kind": "microdata", + "metadata": {}, + "path": "states/CA.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "bc05f4bd1e9dd5eee8b9dd06f3c6044fcfa3c882e7dd84a83dad5100228c8b69", + "size_bytes": 794192261, + "status": "certified" + }, + "states/CO": { + "kind": "microdata", + "metadata": {}, + "path": "states/CO.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f52c939e2748c4fc2e8750b997f7ea80275bbff228c77557611f9e03673a79f8", + "size_bytes": 123239189, + "status": "certified" + }, + "states/CT": { + "kind": "microdata", + "metadata": {}, + "path": "states/CT.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "9eb27fd576e8d48513127b2950ab2f3020ebcd5e08842386044f745c02e486ef", + "size_bytes": 77332298, + "status": "certified" + }, + "states/DC": { + "kind": "microdata", + "metadata": {}, + "path": "states/DC.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2eaabd3416cd61f4f03b34a8da5a0aeaed73188761467796f30d1234137b0749", + "size_bytes": 15718410, + "status": "certified" + }, + "states/DE": { + "kind": "microdata", + "metadata": {}, + "path": "states/DE.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "d0e224fd067b4110e744825349da21f900109a99a2650d471dbba0358a8d3736", + "size_bytes": 15746708, + "status": "certified" + }, + "states/FL": { + "kind": "microdata", + "metadata": {}, + "path": "states/FL.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "bdd125a5eff1260f51c77570925521c15f61c55baf48028d06ac95de7de62423", + "size_bytes": 429460981, + "status": "certified" + }, + "states/GA": { + "kind": "microdata", + "metadata": {}, + "path": "states/GA.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2d999132b9cef6974b97ac6733e59e61b14c86fcd43a9188996a36659da867f3", + "size_bytes": 212631229, + "status": "certified" + }, + "states/HI": { + "kind": "microdata", + "metadata": {}, + "path": "states/HI.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6c37795a095db0edc80589aec87c3ba766e1695bdbdafc93bada6a1ac90aff00", + "size_bytes": 30172075, + "status": "certified" + }, + "states/IA": { + "kind": "microdata", + "metadata": {}, + "path": "states/IA.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "26c31e402129f2a7623a47bcafcd1027af217ce237f6a42bc82805d1b48d8140", + "size_bytes": 61061253, + "status": "certified" + }, + "states/ID": { + "kind": "microdata", + "metadata": {}, + "path": "states/ID.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "5e1a473934ad7e3da77ddfb58371f8a786b20019c5397d8236447a2a12f0f17c", + "size_bytes": 30824784, + "status": "certified" + }, + "states/IL": { + "kind": "microdata", + "metadata": {}, + "path": "states/IL.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0c99eb2982ad123b59227acf56c841e18cf40010532a4f76765d5db1fee2b664", + "size_bytes": 259844318, + "status": "certified" + }, + "states/IN": { + "kind": "microdata", + "metadata": {}, + "path": "states/IN.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a7e1a6a34ded275ba41c021642f4a7f1186618f5fab8d1e5dbc028a878656d4b", + "size_bytes": 136752937, + "status": "certified" + }, + "states/KS": { + "kind": "microdata", + "metadata": {}, + "path": "states/KS.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a671942561cddf9e3416125491fc69816fd3df54e79a74be024ca40e3c88c678", + "size_bytes": 61195414, + "status": "certified" + }, + "states/KY": { + "kind": "microdata", + "metadata": {}, + "path": "states/KY.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "b61029952dec7043a1be919c9bdea03cd4e3ba62138d7d015650a69d6ef385b9", + "size_bytes": 89655081, + "status": "certified" + }, + "states/LA": { + "kind": "microdata", + "metadata": {}, + "path": "states/LA.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "34d73d93cd64a6338dcc3977ea7d0077ba8dc9cad5fadddfa1d95cc0ab48c014", + "size_bytes": 90849917, + "status": "certified" + }, + "states/MA": { + "kind": "microdata", + "metadata": {}, + "path": "states/MA.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "09834aa209e53604dcb1b7cbe0f7d300782bb424764a3c33afa6aaaeb0421081", + "size_bytes": 139160743, + "status": "certified" + }, + "states/MD": { + "kind": "microdata", + "metadata": {}, + "path": "states/MD.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "76c88a6bccbbdec725bd4b09b5245962b0fcacda82a41b19f7d1ea9b5fc18abe", + "size_bytes": 122563160, + "status": "certified" + }, + "states/ME": { + "kind": "microdata", + "metadata": {}, + "path": "states/ME.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3064a05c10293a9338c38f8b0681c8704cc3c935849e8dc025e93248e4ebaf68", + "size_bytes": 30535433, + "status": "certified" + }, + "states/MI": { + "kind": "microdata", + "metadata": {}, + "path": "states/MI.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "37a35d7afe12485d729b4a02b5f896041b68b1c919a338f028803e285c50a341", + "size_bytes": 198191393, + "status": "certified" + }, + "states/MN": { + "kind": "microdata", + "metadata": {}, + "path": "states/MN.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8e6dab1127a058c713ddff5a408bb853a81114d320aa5ed56bbec8569999c621", + "size_bytes": 122845122, + "status": "certified" + }, + "states/MO": { + "kind": "microdata", + "metadata": {}, + "path": "states/MO.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "bb59045823f6d8d8d29a63a687c3da010d38f640039f8211fc98f5982b813751", + "size_bytes": 121749168, + "status": "certified" + }, + "states/MS": { + "kind": "microdata", + "metadata": {}, + "path": "states/MS.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "3e52abdae3895f69d58802713b4ca3e988a826afb00a7544ed5de1f31b0b07b6", + "size_bytes": 59116929, + "status": "certified" + }, + "states/MT": { + "kind": "microdata", + "metadata": {}, + "path": "states/MT.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6b7cd4cc61f683dae851c6cc7368aef06f785d40b69f5b6ee0f12be1bdffc497", + "size_bytes": 30601245, + "status": "certified" + }, + "states/NC": { + "kind": "microdata", + "metadata": {}, + "path": "states/NC.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "a95f9ef1939d20c5b5864a55c700838d1c8e85d05d54295ff27730e493f27993", + "size_bytes": 213770803, + "status": "certified" + }, + "states/ND": { + "kind": "microdata", + "metadata": {}, + "path": "states/ND.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "94973e16e31d6a4fad9c951d00a84d1be90ae3ef51e0f53ba19b97014ba02caf", + "size_bytes": 15803771, + "status": "certified" + }, + "states/NE": { + "kind": "microdata", + "metadata": {}, + "path": "states/NE.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "2b77f24921a305653bdcba70999e0fd16547c0afa34ea39db60fc705e42bfc1e", + "size_bytes": 46048603, + "status": "certified" + }, + "states/NH": { + "kind": "microdata", + "metadata": {}, + "path": "states/NH.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "13bf8d710073be8b4ccc10b8d6215a33870c981b61b74ea5048a182488cfa58f", + "size_bytes": 31204169, + "status": "certified" + }, + "states/NJ": { + "kind": "microdata", + "metadata": {}, + "path": "states/NJ.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "160604eceb6fc5d10c8b2cf07e7cf1cac3bb946a1deaef1fbeae5e3d9b1b3349", + "size_bytes": 185460674, + "status": "certified" + }, + "states/NM": { + "kind": "microdata", + "metadata": {}, + "path": "states/NM.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "cba3f117b69784239034a008ddf8035834180d4ad055e18ceb84cc3c3b42d6d6", + "size_bytes": 44828761, + "status": "certified" + }, + "states/NV": { + "kind": "microdata", + "metadata": {}, + "path": "states/NV.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fc997780f37cb0d48b50c7a481b3c20b70efe33303a191311d0d0b57f48225e3", + "size_bytes": 61809169, + "status": "certified" + }, + "states/NY": { + "kind": "microdata", + "metadata": {}, + "path": "states/NY.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "26278a1ec9211b39db1b35db5096bae71d37d6fa71b77de416bff5618b36e936", + "size_bytes": 396902556, + "status": "certified" + }, + "states/OH": { + "kind": "microdata", + "metadata": {}, + "path": "states/OH.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "fda0d5460fc2f5f3f066cb9e047aa2bbd20532e77485a35fb2029dbd0b2156b9", + "size_bytes": 228017428, + "status": "certified" + }, + "states/OK": { + "kind": "microdata", + "metadata": {}, + "path": "states/OK.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "61cb3f39c41e9fbb5d4baa4a781db874b775ebc2ea7925fdc6a2f953172bc74f", + "size_bytes": 76252642, + "status": "certified" + }, + "states/OR": { + "kind": "microdata", + "metadata": {}, + "path": "states/OR.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f4f1a9a490c23a3a1358bc169dfffdee5f1d0047d72ed8683bd9a48c5d9aa07d", + "size_bytes": 91286750, + "status": "certified" + }, + "states/PA": { + "kind": "microdata", + "metadata": {}, + "path": "states/PA.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "61ac2086cc0351e386096f533e63e8546d384075f4d292a44a6ab655dd250cd0", + "size_bytes": 259895430, + "status": "certified" + }, + "states/RI": { + "kind": "microdata", + "metadata": {}, + "path": "states/RI.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "e8a6526691bc4e6b69d63118afd00835bd7b4bac2507a602c0e814d73b381ff5", + "size_bytes": 30701010, + "status": "certified" + }, + "states/SC": { + "kind": "microdata", + "metadata": {}, + "path": "states/SC.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "820e3f18ecd4284aaf1d9125113591bc89cf595cd1835770622728e92c58a0ec", + "size_bytes": 106646201, + "status": "certified" + }, + "states/SD": { + "kind": "microdata", + "metadata": {}, + "path": "states/SD.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f8a1d0367f8a4ca6528d9abf1b0c6becbe8065ff8a51069f61c05380dc407772", + "size_bytes": 15911623, + "status": "certified" + }, + "states/TN": { + "kind": "microdata", + "metadata": {}, + "path": "states/TN.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "674106b35fbc40a731c62ab1c31968afefe7ce752ad75fe8d54d7fd3eef8bc08", + "size_bytes": 137477602, + "status": "certified" + }, + "states/TX": { + "kind": "microdata", + "metadata": {}, + "path": "states/TX.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "c32f67256467f124db671b520547ef2c74c175fca9cd79052f02c6a6f09c0463", + "size_bytes": 579169765, + "status": "certified" + }, + "states/UT": { + "kind": "microdata", + "metadata": {}, + "path": "states/UT.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "78035be062ec941e2678f9dfc7ecc1339f8087c83dd8a0b3f2a3def137a6e363", + "size_bytes": 61813093, + "status": "certified" + }, + "states/VA": { + "kind": "microdata", + "metadata": {}, + "path": "states/VA.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "f25ad6d8c631bb41029c1da6587e3bd1e36c6ecd7c2255c60c5c0c5fca2c20cf", + "size_bytes": 168668558, + "status": "certified" + }, + "states/VT": { + "kind": "microdata", + "metadata": {}, + "path": "states/VT.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "cefc4c9ee099cd3d12342073b62b212b4a521fca7f69cb16b70905c391c2f764", + "size_bytes": 15494656, + "status": "certified" + }, + "states/WA": { + "kind": "microdata", + "metadata": {}, + "path": "states/WA.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "77a62f6c537e6b00f82c637ce6355880eb2e3eabeca374f36c812460e8dff953", + "size_bytes": 153693044, + "status": "certified" + }, + "states/WI": { + "kind": "microdata", + "metadata": {}, + "path": "states/WI.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "6e6ae73f3029c591bba1a64467aeacd47b99dc65cde135b38dc5a242e47f1082", + "size_bytes": 122559877, + "status": "certified" + }, + "states/WV": { + "kind": "microdata", + "metadata": {}, + "path": "states/WV.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "8ef1c01459bf00456080c6a69ac379bea9ae231437acbc5f97a86fae0adb505e", + "size_bytes": 30086521, + "status": "certified" + }, + "states/WY": { + "kind": "microdata", + "metadata": {}, + "path": "states/WY.h5", + "preservation_mirrors": [], + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.110.12", + "sha256": "0b0ebcf9d997d18a2c2da33e5ff29186b68e1cb353ba743ceada840dc7080abc", + "size_bytes": 15686878, + "status": "certified" + } + }, + "default_dataset": "enhanced_cps_2024", + "metadata": { + "input_release_manifest_sha256": "9f47991b0bb7150c5f65b3b3fa9a11949b03162f047721960dcff46bbaee6536", + "input_release_manifest_uri": "hf://model/policyengine/policyengine-us-data@3aac4505ec10d31efc1b3799a1e6458a15853ecc/releases/1.110.12/release_manifest.json" + }, + "model_package": { + "name": "policyengine-us", + "resolution_status": "pinned", + "sdist_url": "https://files.pythonhosted.org/packages/81/df/60548e64a5ccf5f961a45608c2c6744833daf756c1c82d1e59e5bca14850/policyengine_us-1.690.7.tar.gz", + "sha256": "5a7a541efabac98fa069d6845902cf5924c81db67383234b55dcd2b8bfcfc3ca", + "source": "pypi", + "version": "1.690.7", + "wheel_url": "https://files.pythonhosted.org/packages/2a/02/52109bae5f4767237b43bd72ce0bc4edf7925650a788053b2bc168caa5ae/policyengine_us-1.690.7-py3-none-any.whl" + }, + "region_datasets": {}, + "schema_version": 1 +} diff --git a/src/policyengine/data/install/all/py313/constraints.txt b/src/policyengine/data/install/all/py313/constraints.txt new file mode 100644 index 00000000..0a5d8212 --- /dev/null +++ b/src/policyengine/data/install/all/py313/constraints.txt @@ -0,0 +1,1426 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmpmml9m6gk/requirements.in --python-version 3.13 --python-platform x86_64-manylinux_2_28 --format requirements.txt --generate-hashes --output-file bundles/4.4.3/install/all/py313/constraints.txt +annotated-doc==0.0.4 \ + --hash=sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320 \ + --hash=sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4 + # via typer +annotated-types==0.7.0 \ + --hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 \ + --hash=sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89 + # via pydantic +anyio==4.13.0 \ + --hash=sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708 \ + --hash=sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc + # via httpx +asttokens==3.0.1 \ + --hash=sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a \ + --hash=sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7 + # via stack-data +attrs==26.1.0 \ + --hash=sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309 \ + --hash=sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32 + # via + # jsonschema + # referencing +blosc2==4.2.0 \ + --hash=sha256:0f6444e125142876f8ce02f1ec8a13499f436a01e7ffdffd080d7156fd5fa079 \ + --hash=sha256:1a77412d3229a7ec4ce8e353604e563400cc57346d6e8ba578453a6134bf2190 \ + --hash=sha256:1e2f0767c68c4e5dea1543c7c138421264db494a6bbeb6ab81f101bcb6382ff4 \ + --hash=sha256:2423b70dc17b048382f8a9a17085842a7c3c2f9bb14d3be2f8a7cbb378ef4ad9 \ + --hash=sha256:291f689635c9ebc30a6b13fdc0f2069ab7a245fa27dabe8fa14b6d35c3f096cf \ + --hash=sha256:3b72e9bbce0459ec695e25bb1fba8fa05ba9af4fed71c220d20376df99cf32fa \ + --hash=sha256:44a2070a6efa990986a26a4f9a2d8a2fa9ee9ec705617d38750bcb019c53d632 \ + --hash=sha256:4f7b006333891d3594660abb7820be0497c0baab3538742562caa78e03e5312c \ + --hash=sha256:59f4de7f9e8a587e5c6e6ae54ba74f4d78a47a1cc3f097d03105274b36720da6 \ + --hash=sha256:5b16df388e1884e458955de64db6ce6db438154fb3fe9089180ef9863ceb79bf \ + --hash=sha256:6ff429d2364f423229e82037adb1efe91a5f3dc767f0817cbc635adf84b83e20 \ + --hash=sha256:7888ac409a479da50d7e02eeb1bcbf1e45213af362eff1b938d584cf66c2f39b \ + --hash=sha256:87c3a108c8ce311eb00a7c3d32d4d0ab023599a2d23fc07c998debe2dad00f8e \ + --hash=sha256:89227492844ec7b487e7182314ac75997d5f864be2025cf6879f355fdb669532 \ + --hash=sha256:8ff3c6b2cf7d3e6a3481f7e1a6eef283af3e2b65f53401b1ebc63eea14b0b758 \ + --hash=sha256:976abf343866c97de637adb452153dfbe63c2b69a2a4999dc494ebc22585a567 \ + --hash=sha256:9c5c0ae30c831a90a9d1973cecbeab99a7de2df4f172ac8020d2d60d1c2c5ae2 \ + --hash=sha256:9cadf2708888e586027178be9e17215ae6f20fb5829596e9771751aa453e7a0e \ + --hash=sha256:9eb69182c51cda1b402aaf78ce908759f7a277420ce3fad9981ff560544e50b3 \ + --hash=sha256:a07e0d16aab433e10d173b553fabb7b8cf64e5dd826eaae548d2e9a9ac5f2f69 \ + --hash=sha256:a269a8b265caed0093f3ee99eff8c8691da407764f5ee5b1bd0c12044fcb6c51 \ + --hash=sha256:ad857c3dddaf5486a49b59f4f351079bfc8f50786d033638bf722e4fa7595249 \ + --hash=sha256:afc041c5de1d66fb731c45bd5bcf84356da3f17b4acdec5a8448236c6d48f845 \ + --hash=sha256:b8d907efa30a2ca4895dd37fa0b527ee88be17df1981f98194f867d97ff07429 \ + --hash=sha256:bb67066f1a64d7929f271836994e5fb0383ae8b8f03d673650a94dafd7eaa349 \ + --hash=sha256:bb82cc1d528bac82c0b5c2009377f5be6528405d2737fd151ffce4dc6fe0a96b \ + --hash=sha256:bbefc417322a59443d844b4d03e66b228694ec6bfd1de8bbd832c4aa0eaebe64 \ + --hash=sha256:d28efb0b13c1f22db4a799d22ab02b0024fd4ecd1cc47dbe756d88e08079867a \ + --hash=sha256:e997adbf086a4b98f732504952193afa817c41a7c70d26bce71fdd397542c664 \ + --hash=sha256:f48ea67ccd751999e9bb3c4e10853d422167b9619af701b1fdb08cc27584db96 \ + --hash=sha256:fa448c419a8227321cab735aece33fca1afac1447cd140a3db81a6b2bed560fa + # via tables +census==0.8.26 \ + --hash=sha256:c341bbce4bcdd75c0ddecf75f28ab7eda26a47d7fecc95c4690a2d8ee5b6a727 \ + --hash=sha256:c7f9944e38952b4ecc137d14d083018a1c2734f64d2fbc4a8946f35fd51888c2 + # via spm-calculator +certifi==2026.4.22 \ + --hash=sha256:3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a \ + --hash=sha256:8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580 + # via + # httpcore + # httpx + # requests +charset-normalizer==3.4.7 \ + --hash=sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc \ + --hash=sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c \ + --hash=sha256:07d9e39b01743c3717745f4c530a6349eadbfa043c7577eef86c502c15df2c67 \ + --hash=sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4 \ + --hash=sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0 \ + --hash=sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c \ + --hash=sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5 \ + --hash=sha256:12a6fff75f6bc66711b73a2f0addfc4c8c15a20e805146a02d147a318962c444 \ + --hash=sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153 \ + --hash=sha256:14265bfe1f09498b9d8ec91e9ec9fa52775edf90fcbde092b25f4a33d444fea9 \ + --hash=sha256:16d971e29578a5e97d7117866d15889a4a07befe0e87e703ed63cd90cb348c01 \ + --hash=sha256:177a0ba5f0211d488e295aaf82707237e331c24788d8d76c96c5a41594723217 \ + --hash=sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b \ + --hash=sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c \ + --hash=sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a \ + --hash=sha256:1dc8b0ea451d6e69735094606991f32867807881400f808a106ee1d963c46a83 \ + --hash=sha256:1efde3cae86c8c273f1eb3b287be7d8499420cf2fe7585c41d370d3e790054a5 \ + --hash=sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7 \ + --hash=sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb \ + --hash=sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c \ + --hash=sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1 \ + --hash=sha256:2cd4a60d0e2fb04537162c62bbbb4182f53541fe0ede35cdf270a1c1e723cc42 \ + --hash=sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab \ + --hash=sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df \ + --hash=sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e \ + --hash=sha256:320ade88cfb846b8cd6b4ddf5ee9e80ee0c1f52401f2456b84ae1ae6a1a5f207 \ + --hash=sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18 \ + --hash=sha256:36836d6ff945a00b88ba1e4572d721e60b5b8c98c155d465f56ad19d68f23734 \ + --hash=sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38 \ + --hash=sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110 \ + --hash=sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18 \ + --hash=sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44 \ + --hash=sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d \ + --hash=sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48 \ + --hash=sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e \ + --hash=sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5 \ + --hash=sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d \ + --hash=sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53 \ + --hash=sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790 \ + --hash=sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c \ + --hash=sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b \ + --hash=sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116 \ + --hash=sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d \ + --hash=sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10 \ + --hash=sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6 \ + --hash=sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2 \ + --hash=sha256:6370e8686f662e6a3941ee48ed4742317cafbe5707e36406e9df792cdb535776 \ + --hash=sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a \ + --hash=sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265 \ + --hash=sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008 \ + --hash=sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943 \ + --hash=sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374 \ + --hash=sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246 \ + --hash=sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e \ + --hash=sha256:6e0d51f618228538a3e8f46bd246f87a6cd030565e015803691603f55e12afb5 \ + --hash=sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616 \ + --hash=sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15 \ + --hash=sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41 \ + --hash=sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960 \ + --hash=sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752 \ + --hash=sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e \ + --hash=sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72 \ + --hash=sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7 \ + --hash=sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8 \ + --hash=sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b \ + --hash=sha256:813c0e0132266c08eb87469a642cb30aaff57c5f426255419572aaeceeaa7bf4 \ + --hash=sha256:82b271f5137d07749f7bf32f70b17ab6eaabedd297e75dce75081a24f76eb545 \ + --hash=sha256:84c018e49c3bf790f9c2771c45e9313a08c2c2a6342b162cd650258b57817706 \ + --hash=sha256:8751d2787c9131302398b11e6c8068053dcb55d5a8964e114b6e196cf16cb366 \ + --hash=sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb \ + --hash=sha256:87fad7d9ba98c86bcb41b2dc8dbb326619be2562af1f8ff50776a39e55721c5a \ + --hash=sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e \ + --hash=sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00 \ + --hash=sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f \ + --hash=sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a \ + --hash=sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1 \ + --hash=sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66 \ + --hash=sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356 \ + --hash=sha256:a6c5863edfbe888d9eff9c8b8087354e27618d9da76425c119293f11712a6319 \ + --hash=sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4 \ + --hash=sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad \ + --hash=sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d \ + --hash=sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5 \ + --hash=sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7 \ + --hash=sha256:aef65cd602a6d0e0ff6f9930fcb1c8fec60dd2cfcb6facaf4bdb0e5873042db0 \ + --hash=sha256:af21eb4409a119e365397b2adbaca4c9ccab56543a65d5dbd9f920d6ac29f686 \ + --hash=sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34 \ + --hash=sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49 \ + --hash=sha256:bb8cc7534f51d9a017b93e3e85b260924f909601c3df002bcdb58ddb4dc41a5c \ + --hash=sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1 \ + --hash=sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e \ + --hash=sha256:bd9b23791fe793e4968dba0c447e12f78e425c59fc0e3b97f6450f4781f3ee60 \ + --hash=sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0 \ + --hash=sha256:c0f081d69a6e58272819b70288d3221a6ee64b98df852631c80f293514d3b274 \ + --hash=sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d \ + --hash=sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0 \ + --hash=sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae \ + --hash=sha256:c593052c465475e64bbfe5dbd81680f64a67fdc752c56d7a0ae205dc8aeefe0f \ + --hash=sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d \ + --hash=sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe \ + --hash=sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3 \ + --hash=sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393 \ + --hash=sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1 \ + --hash=sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af \ + --hash=sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44 \ + --hash=sha256:d61f00a0869d77422d9b2aba989e2d24afa6ffd552af442e0e58de4f35ea6d00 \ + --hash=sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c \ + --hash=sha256:dca4bbc466a95ba9c0234ef56d7dd9509f63da22274589ebd4ed7f1f4d4c54e3 \ + --hash=sha256:dd915403e231e6b1809fe9b6d9fc55cf8fb5e02765ac625d9cd623342a7905d7 \ + --hash=sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd \ + --hash=sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e \ + --hash=sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b \ + --hash=sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8 \ + --hash=sha256:e5f4d355f0a2b1a31bc3edec6795b46324349c9cb25eed068049e4f472fb4259 \ + --hash=sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859 \ + --hash=sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46 \ + --hash=sha256:e80c8378d8f3d83cd3164da1ad2df9e37a666cdde7b1cb2298ed0b558064be30 \ + --hash=sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b \ + --hash=sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46 \ + --hash=sha256:ed065083d0898c9d5b4bbec7b026fd755ff7454e6e8b73a67f8c744b13986e24 \ + --hash=sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a \ + --hash=sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24 \ + --hash=sha256:f22dec1690b584cea26fade98b2435c132c1b5f68e39f5a0b7627cd7ae31f1dc \ + --hash=sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215 \ + --hash=sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063 \ + --hash=sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832 \ + --hash=sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6 \ + --hash=sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79 \ + --hash=sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464 + # via requests +click==8.3.3 \ + --hash=sha256:398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2 \ + --hash=sha256:a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613 + # via typer +decorator==5.2.1 \ + --hash=sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360 \ + --hash=sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a + # via ipython +dpath==2.2.0 \ + --hash=sha256:34f7e630dc55ea3f219e555726f5da4b4b25f2200319c8e6902c394258dd6a3e \ + --hash=sha256:b330a375ded0a0d2ed404440f6c6a715deae5313af40bbb01c8a41d891900576 + # via policyengine-core +et-xmlfile==2.0.0 \ + --hash=sha256:7a91720bc756843502c3b7504c77b8fe44217c85c537d85037f0f536151b2caa \ + --hash=sha256:dab3f4764309081ce75662649be815c4c9081e88f0837825f90fd28317d4da54 + # via openpyxl +executing==2.2.1 \ + --hash=sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4 \ + --hash=sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017 + # via stack-data +filelock==3.29.0 \ + --hash=sha256:69974355e960702e789734cb4871f884ea6fe50bd8404051a3530bc07809cf90 \ + --hash=sha256:96f5f6344709aa1572bbf631c640e4ebeeb519e08da902c39a001882f30ac258 + # via huggingface-hub +fsspec==2026.4.0 \ + --hash=sha256:11ef7bb35dab8a394fde6e608221d5cf3e8499401c249bebaeaad760a1a8dec2 \ + --hash=sha256:301d8ac70ae90ef3ad05dcf94d6c3754a097f9b5fe4667d2787aa359ec7df7e4 + # via huggingface-hub +h11==0.16.0 \ + --hash=sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1 \ + --hash=sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86 + # via httpcore +h5py==3.16.0 \ + --hash=sha256:099f2525c9dcf28de366970a5fb34879aab20491589fa89ce2863a84218bb524 \ + --hash=sha256:0f456f556e4e2cebeebd9d66adf8dc321770a42593494a0b6f0af54a7567b242 \ + --hash=sha256:15922e485844f77c0b9d275396d435db3baa58292a9c2176a386e072e0cf2491 \ + --hash=sha256:1677ad48b703f44efc9ea0c3ab284527f81bc4f318386aaaebc5fede6bbae56f \ + --hash=sha256:171038f23bccddfc23f344cadabdfc9917ff554db6a0d417180d2747fe4c75a7 \ + --hash=sha256:17d1f1630f92ad74494a9a7392ab25982ce2b469fc62da6074c0ce48366a2999 \ + --hash=sha256:1897a771a7f40d05c262fc8f37376ec37873218544b70216872876c627640f63 \ + --hash=sha256:18f2bbcd545e6991412253b98727374c356d67caa920e68dc79eab36bf5fedad \ + --hash=sha256:2b2c02b0a160faed5fb33f1ba8a264a37ee240b22e049ecc827345d0d9043074 \ + --hash=sha256:314b6054fe0b1051c2b0cb2df5cbdab15622fb05e80f202e3b6a5eee0d6fe365 \ + --hash=sha256:346df559a0f7dcb31cf8e44805319e2ab24b8957c45e7708ce503b2ec79ba725 \ + --hash=sha256:370a845f432c2c9619db8eed334d1e610c6015796122b0e57aa46312c22617d9 \ + --hash=sha256:39c2838fb1e8d97bcf1755e60ad1f3dd76a7b2a475928dc321672752678b96db \ + --hash=sha256:3e6cb3387c756de6a9492d601553dffea3fe11b5f22b443aac708c69f3f55e16 \ + --hash=sha256:3fae9197390c325e62e0a1aa977f2f62d994aa87aab182abbea85479b791197c \ + --hash=sha256:42108e93326c50c2810025aade9eac9d6827524cdccc7d4b75a546e5ab308edb \ + --hash=sha256:42b012933a83e1a558c673176676a10ce2fd3759976a0fedee1e672d1e04fc9d \ + --hash=sha256:43259303989ac8adacc9986695b31e35dba6fd1e297ff9c6a04b7da5542139cc \ + --hash=sha256:4c6ab014ab704b4feaa719ae783b86522ed0bf1f82184704ed3c9e4e3228796e \ + --hash=sha256:656f00e4d903199a1d58df06b711cf3ca632b874b4207b7dbec86185b5c8c7d4 \ + --hash=sha256:698dd69291272642ffda44a0ecd6cd3bda5faf9621452d255f57ce91487b9794 \ + --hash=sha256:719439d14b83f74eeb080e9650a6c7aa6d0d9ea0ca7f804347b05fac6fbf18af \ + --hash=sha256:7c4dd4cf5f0a4e36083f73172f6cfc25a5710789269547f132a20975bfe2434c \ + --hash=sha256:7e420b539fb6023a259a1b14d4c9f6df8cf50d7268f48e161169987a57b737ff \ + --hash=sha256:8389e13a1fd745ad2856873e8187fd10268b2d9677877bb667b41aebd771d8b7 \ + --hash=sha256:85b9c49dd58dc44cf70af944784e2c2038b6f799665d0dcbbc812a26e0faa859 \ + --hash=sha256:86385ea895508220b8a7e45efa428aeafaa586bd737c7af9ee04661d8d84a10d \ + --hash=sha256:8975273c2c5921c25700193b408e28d6bdd0111c37468b2d4e25dcec4cd1d84d \ + --hash=sha256:8c1eff849cdd53cbc73c214c30ebdb6f1bb8b64790b4b4fc36acdb5e43570210 \ + --hash=sha256:9300ad32dea9dfc5171f94d5f6948e159ed93e4701280b0f508773b3f582f402 \ + --hash=sha256:96b422019a1c8975c2d5dadcf61d4ba6f01c31f92bbde6e4649607885fe502d6 \ + --hash=sha256:9c9d307c0ef862d1cd5714f72ecfafe0a5d7529c44845afa8de9f46e5ba8bd65 \ + --hash=sha256:a0dbaad796840ccaa67a4c144a0d0c8080073c34c76d5a6941d6818678ef2738 \ + --hash=sha256:a6fbc5367d4046801f9b7db9191b31895f22f1c6df1f9987d667854cac493538 \ + --hash=sha256:bdef06507725b455fccba9c16529121a5e1fbf56aa375f7d9713d9e8ff42454d \ + --hash=sha256:c3f0a0e136f2e95dd0b67146abb6668af4f1a69c81ef8651a2d316e8e01de447 \ + --hash=sha256:c5313566f4643121a78503a473f0fb1e6dcc541d5115c44f05e037609c565c4d \ + --hash=sha256:df02dd29bd247f98674634dfe41f89fd7c16ba3d7de8695ec958f58404a4e618 \ + --hash=sha256:dfc21898ff025f1e8e67e194965a95a8d4754f452f83454538f98f8a3fcb207e \ + --hash=sha256:e06f864bedb2c8e7c1358e6c73af48519e317457c444d6f3d332bb4e8fa6d7d9 \ + --hash=sha256:e2c04d129f180019e216ee5f9c40b78a418634091c8782e1f723a6ca3658b965 \ + --hash=sha256:e4360f15875a532bc7b98196c7592ed4fc92672a57c0a621355961cafb17a6dd \ + --hash=sha256:ec86d4fffd87a0f4cb3d5796ceb5a50123a2a6d99b43e616e5504e66a953eca3 \ + --hash=sha256:fa48993a0b799737ba7fd21e2350fa0a60701e58180fae9f2de834bc39a147ab \ + --hash=sha256:faca8fb4e4319c09d83337adc80b2ca7d5c5a343c2d6f1b6388f32cfecca13c1 \ + --hash=sha256:fb1720028d99040792bb2fb31facb8da44a6f29df7697e0b84f0d79aff2e9bd3 \ + --hash=sha256:ff24039e2573297787c3063df64b60aab0591980ac898329a08b0320e0cf2527 \ + --hash=sha256:ffbab2fedd6581f6aa31cf1639ca2cb86e02779de525667892ebf4cc9fd26434 + # via policyengine-core +hf-xet==1.5.0 \ + --hash=sha256:1e60df5a42e9bed8628b6416af2cba4cba57ae9f02de226a06b020d98e1aab18 \ + --hash=sha256:2806c7c17b4d23f8d88f7c4814f838c3b6150773fe339c20af23e1cfaf2797e4 \ + --hash=sha256:2baea1b0b989e5c152fe81425f7745ddc8901280ba3d97c98d8cdece7b706c60 \ + --hash=sha256:3531b1823a0e6d77d80f9ed15ca0e00f0d115094f8ac033d5cae88f4564cc949 \ + --hash=sha256:4b35549ce62601b84da4ff9b24d970032ace3d4430f52d91bcbb26c901d6c690 \ + --hash=sha256:526345b3ed45f374f6317349df489167606736c876241ba984105afe7fd4839d \ + --hash=sha256:5906bf7718d3636dc13402914736abe723492cb730f744834f5f5b67d3a12702 \ + --hash=sha256:5f3dc2248fc01cc0a00cd392ab497f1ca373fcbc7e3f2da1f452480b384e839e \ + --hash=sha256:73a0dae8c71de3b0633a45c73f4a4a5ed09e94b43441d82981a781d4f12baa42 \ + --hash=sha256:786d28e2eb8315d5035544b9d137b4a842d600c434bb91bf7d0d953cce906ad4 \ + --hash=sha256:7d70fe2ce97b9db73b9c9b9c81fe3693640aec83416a966c446afea54acfae3c \ + --hash=sha256:872d5601e6deea30d15865ede55d29eac6daf5a534ab417b99b6ef6b076dd96c \ + --hash=sha256:8dbcbab554c9ef158ef2c991545c3e970ddd8cc7acdcd0a78c5a41095dab4ded \ + --hash=sha256:9929561f5abf4581c8ea79587881dfef6b8abb2a0d8a51915936fc2a614f4e73 \ + --hash=sha256:9a0ee58cd18d5ea799f7ed11290bbccbe56bdd8b1d97ca74b9cc49a3945d7a3b \ + --hash=sha256:a60290ec57e9b71767fba7c3645ddafdd0759974b540441510c629c6db6db24a \ + --hash=sha256:b285cea1b5bab46b758772716ba8d6854a1a0310fed1c249d678a8b38601e5a0 \ + --hash=sha256:b6c9df403040248c76d808d3e047d64db2d923bae593eb244c41e425cf6cd7be \ + --hash=sha256:c799d49f1a5544a0ef7591c0ee75e0d6b93d6f56dc7a4979f59f7518d2872216 \ + --hash=sha256:cf7b2dc6f31a4ea754bb50f74cde482dcf5d366d184076d8530b9872787f3761 \ + --hash=sha256:dad0dc84e941b8ba3c860659fe1fdc35c049d47cce293f003287757e971a8f56 \ + --hash=sha256:e0fb0a34d9f406eed88233e829a67ec016bec5af19e480eac65a233ea289a948 \ + --hash=sha256:e5de0f6deada0dada870bb376a11bcd1f08abf3a968a6d118f33e72d1b1eb480 \ + --hash=sha256:f7b7bbae318e583a86fb21e5a4a175d6721d628a2874f4bd022d0e660c32a682 \ + --hash=sha256:fd6e5a9b0fdac4ed03ed45ef79254a655b1aaab514a02202617fbf643f5fdf7a + # via huggingface-hub +httpcore==1.0.9 \ + --hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \ + --hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8 + # via httpx +httpx==0.28.1 \ + --hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \ + --hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad + # via huggingface-hub +huggingface-hub==1.14.0 \ + --hash=sha256:d6d2c9cd6be1d02ae9ec6672d5587d10a427f377db688e82528f426a041622c2 \ + --hash=sha256:efe075535c62e130b30e836b138e13785f6f043d1f0539e0a39aa411a99e90b8 + # via policyengine-core +idna==3.14 \ + --hash=sha256:466d810d7a2cc1022bea9b037c39728d51ae7dad40d480fc9b7d7ecf98ba8ee3 \ + --hash=sha256:e677eaf072e290f7b725f9acf0b3a2bd55f9fd6f7c70abe5f0e34823d0accf69 + # via + # anyio + # httpx + # requests +iniconfig==2.3.0 \ + --hash=sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730 \ + --hash=sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12 + # via pytest +ipython==8.39.0 \ + --hash=sha256:4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624 \ + --hash=sha256:bb3c51c4fa8148ab1dea07a79584d1c854e234ea44aa1283bcb37bc75054651f + # via + # policyengine-core + # pyvis +jedi==0.20.0 \ + --hash=sha256:7bdd9c2634f56713299976f4cbd59cb3fa92165cc5e05ea811fb253480728b67 \ + --hash=sha256:c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011 + # via ipython +jellyfish==1.2.1 \ + --hash=sha256:0028857c5381c9d55e21cc6cb0d7f9545c3a9a7bb7dbca3960fe0a898c691ac2 \ + --hash=sha256:01647c12261bc1f7b102e918e7665497176d87f6fc96271439c8855872bc2606 \ + --hash=sha256:0368596e176bf548b3be2979ff33e274fb6d5e13b2cebe85137b8b698b002a85 \ + --hash=sha256:05be396aebe3dce7a8cb2f97727ecdf99e86457c48e97190775dce33f8b7e39d \ + --hash=sha256:07b022412ebece96759006cb015d46b8218d7f896d8b327c6bbee784ddf38ed9 \ + --hash=sha256:0b21c1596ce283fd7ee954eb0eeb007d59e480364324bcd91ad55146e91f3936 \ + --hash=sha256:1098ce1f84ae3f147f0a18a6803ffb09b9c8cd5fedce42465643ca0b5c9d0224 \ + --hash=sha256:10da696747e2de0336180fd5ba77ef769a7c80f9743123545f7fc0251efbbcec \ + --hash=sha256:1354b558a0a16597b6032dd0af64bebd24994f7e7484cf14993320eb764b06cb \ + --hash=sha256:137cfcc26396d0f2e1265ac61f800bb921921ea722a43dd897e58190f767c474 \ + --hash=sha256:13f1ac9caba22af10bfe42f674822643c0266009f882e0fe652079706dc5d13a \ + --hash=sha256:14bbb30d988dec1d12183cf5d4621c908f98add2009c72a185e8c3e8d00b804f \ + --hash=sha256:15318c13070fe6d9caeb7e10f9cdf89ff47c9d20f05a9a2c0d3b5cb8062a7033 \ + --hash=sha256:1a3ccff843822e7f3ad6f91662488a3630724c8587976bce114f3c7238e8ffa1 \ + --hash=sha256:1ffeeb6c78c45fbb6d2a22b0173fb8a6af849001d6c26fab49c525136dbd9734 \ + --hash=sha256:212aaf177236192a735bbbf5938717aa8518d14a25b08b015e47e783e70be060 \ + --hash=sha256:21baa92d4a5112167721156f6d061c2ae105f2995b3a5e19cec6662928f0c439 \ + --hash=sha256:2348f698f9c1d72023afc8d39939045421a01da9b7e3078e3029227e35f28419 \ + --hash=sha256:29cfa8bfb72aacf2d611a3313b358ed4d4140fa3d3efcffea750c8e7f8acb1aa \ + --hash=sha256:2c28a4ae3e201e1c1b7bacacd40e2e76c4068b90c9ae3a0d525e0ac98206f1cc \ + --hash=sha256:32581c50b34a09889b2d96796170e53da313a1e7fde32be63c82e50e7e791e3c \ + --hash=sha256:32a85b752cb51463face13e2b1797cfa617cd7fb7073f15feaa4020a86a346ce \ + --hash=sha256:393f609fd6139ce782e747e22c399483ffc58341009e6a97e39ffe5f5b2c674c \ + --hash=sha256:4072e21ad4036af41bd57b447b1dda64fe60aa679cfa8854ba0a0338152439f1 \ + --hash=sha256:451ddf4094e108e33d3b86d7817a7e20a2c5e6812d08c34ee22f6a595f38dcca \ + --hash=sha256:4a21d7eda5e6996772055f798e3fe1de1b33b3edad7f6cf0567097a21585a812 \ + --hash=sha256:4b013876109d91fa6fc871ffa4e0dbfda11820c33dc4ad0e2967b3fc1187f804 \ + --hash=sha256:4b28fcefc0c3534277ff0306e6c10672fb050f4784b5f3be7037e80801569fb5 \ + --hash=sha256:4b3e3223aaad74e18aacc74775e01815e68af810258ceea6fa6a81b19f384312 \ + --hash=sha256:4c5acb213aa75a61bcfc176566e20f2503069667e760d83d403b59e115fef0dd \ + --hash=sha256:4e36d9000d4f7e1a35689a74ec7749d27a216dfa6c47cac2e5ad3de8a523bd69 \ + --hash=sha256:509355ebedec69a8bf0cc113a6bf9c01820d12fe2eea44f47dfa809faf2d5463 \ + --hash=sha256:5335f622458aa105289a8e358bc32ecd1b9634b6ffec3e77ea3577e49c297171 \ + --hash=sha256:536c80d8d4ec7f39cbb10b85d926ff96cef3cde4a83ca0991c07cd9835d5dc13 \ + --hash=sha256:56da7632e029912af25e25422fae3b6df318400297d552791f4b21da6d815ed6 \ + --hash=sha256:5bda2275f31a64adf3483e39f7a4e2107f7dfe3a3f85f0d2c0cb6ae5fbe4a443 \ + --hash=sha256:5fa0ba0946f3c274f6a87aaa3c631dc70a363bd46cceea828ce777e8db653b6f \ + --hash=sha256:63770120cc3386dcc13bcc4df508ab281a6b14c3b2c0e33586439a6c40ee122f \ + --hash=sha256:675ab43840488944899ca87f02d4813c1e32107e56afaba7489705a70214e8aa \ + --hash=sha256:68080af234256ef943f0add6fc79816b0c643d8df291c17a85c1b6e45bdfbb96 \ + --hash=sha256:68ea3ddd4dae1152a7f7155ef02a7bfad919611158d71b301f9aa167685819af \ + --hash=sha256:6a49ce2a580edd3b16b69421137deef464e2f8907f9ef906d49950b1a52908c1 \ + --hash=sha256:6c51e565f85ce38cf9388c4f916d53888b0fa34788fcebe3aff3db24948e0960 \ + --hash=sha256:6d2bac5982d7a08759ea487bfa00149e6aa8a3be7cd43c4ed1be1e3505425c69 \ + --hash=sha256:6e76b23431a667cd485fb562428d1ad29bae9fdd0fcdfb5a51cc8087bae0e88c \ + --hash=sha256:72d2fda61b23babe862018729be73c8b0dc12e3e6601f36f6e65d905e249f4db \ + --hash=sha256:748dc45a0394fbe9120b8b3b9a39fab0967c7e2d6ecdd5304af018e774f80f96 \ + --hash=sha256:7853d2ed7d6929c029312ec849410f1ea7ae76ce72ad1140fb73f6e8a1e6aa4f \ + --hash=sha256:80a49eb817eaa6591f43a31e5c93d79904de62537f029907ef88c050d781a638 \ + --hash=sha256:91cad49a4fb731b726afc5ae385a3217a7016ed88a04da40c131cff8136a5db5 \ + --hash=sha256:98a133b40dc00cfda6609e1b0cb0ab0b77796fc2719aae886a12009514f73499 \ + --hash=sha256:9913789a98ccf49213fbb1dabc597847a0ec33d3b0e151689498f4b38ba9be0f \ + --hash=sha256:9930e20f0e9f65ad1d57d98290c2be3abd75812d058815605f44a56056fb9a66 \ + --hash=sha256:9a73b5c6425a70ebd440579a677eb4f03b327b2f59090db34e6c937aeea5aabd \ + --hash=sha256:9c747ae5c0fb4bd519f6abbfe4bd704b2f1c63fd4dd3dbb8d8864478974e1571 \ + --hash=sha256:9d4448c874959ae012cda0f6d570ac0bd7f0fcf12007714eaebf86b86919b66f \ + --hash=sha256:a058f4c6a591d5e5a47569f5648a26303ba19c76a960fef7e0beba2aa959e52e \ + --hash=sha256:a0ef6f0ecc085c1f8fddb048f538c8bb89989e5d470eab45d4e9bd48ee73a40d \ + --hash=sha256:a3cab91020e3ff7565e55a611ec3e3257c093ac950d55778a48bfc8c57562b6e \ + --hash=sha256:ab1bfea271ce4bda09d975080d5465cf5a8b127e7c0ea61ea3f972417a7a2193 \ + --hash=sha256:b35d4b5b688f759ffd075190a9850b04671bad14c5b37124eb43e99306ec16ea \ + --hash=sha256:b37b76ea338c4a473c34a9b9e1e033a78aafb9040a8c0eea579fc5805d8e4b46 \ + --hash=sha256:b8986d9768daddd5e87abf513ae168ea0afe690a444d4c82d5b1b14b0d045820 \ + --hash=sha256:baa30c7b59bd1c5e105693108a6d7a98f3e7a1a59e23e15bc5897b91fd5849f5 \ + --hash=sha256:bcdcd603a7737cd3f5a2ab10ce9b49844329deb81c2daafcd8131e54fc730205 \ + --hash=sha256:bd186c041d9be86c4fa5e2490943ce5d7f05b472f45d7f49426f259f3dd20bc4 \ + --hash=sha256:bebccd0652ac1c7e438ae1f451edefde63d14b3af6f6daa30c599919dcb92886 \ + --hash=sha256:c3c18f13175a9c90f3abd8805720b0eb3e10eca1d5d4e0cf57722b2a62d62016 \ + --hash=sha256:c499ea3a134130797c50e367687a6a46a12653c59af381bee92c41a5ab0bd55d \ + --hash=sha256:c85aa2bc76a36d92a3197f406f86636664d5b323727dfec4fa2842a8a24a06ae \ + --hash=sha256:c888f624d03e55e501bc438906505c79fb307d8da37a6dda18dd1ac2e6d5ea9c \ + --hash=sha256:cf6cd68921f2bacc547ba1cf64ad0e76bc1727f3bab13bba2e5f5869aba038b1 \ + --hash=sha256:d2b56a1fd2c5126c4a3362ec4470291cdd3c7daa22f583da67e75e30dc425ce6 \ + --hash=sha256:d7be8021658b46b22500a77f1707901bd98fc210f185c229b81c74efd3c1baf2 \ + --hash=sha256:db97d873f23b0c15b4ed911ece10e5cc0bb96cdc53666d5c3788bd0af81807f1 \ + --hash=sha256:dd895cf63fac0a9f11b524fff810d9a6081dcf3c518b34172ac8684eb504dd43 \ + --hash=sha256:ddf05ea471da2808d77ecfa425d8884124b4754f4d483afa7703b6655530cf5c \ + --hash=sha256:e1b990fb15985571616f7f40a12d6fa062897b19fb5359b6dec3cd811d802c24 \ + --hash=sha256:e4a210a960f3917da757b0581750b6e0a8db9acef68dafbc1b6e2ae39e847ba8 \ + --hash=sha256:e5977810972c6f0b2e61252c4758fd5aee21abf663ff309881195a99d37daa94 \ + --hash=sha256:e967e67058b78189d2b20a9586c7720a05ec4a580d6a98c796cd5cd2b7b11303 \ + --hash=sha256:ecf62d4aad0baa8832ab60f96e7baedbe6558bd292597503d927e9c5bce745d8 \ + --hash=sha256:f121218dc33fb318c34ddd889dc7362606ce1316af2bb63b73cc1df81523ca34 \ + --hash=sha256:f69aeb08659a6c81d559bbe319075e3417434ae5b3a5e4a758d1c4055a03497a \ + --hash=sha256:fb3c6e537cb4605c22895a8d4a10cdb26611ba2bbfc7f0b4c1d06bb9d8aad648 + # via us +jinja2==3.1.6 \ + --hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \ + --hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67 + # via pyvis +jsonpickle==4.1.1 \ + --hash=sha256:bb141da6057898aa2438ff268362b126826c812a1721e31cf08a6e142910dc91 \ + --hash=sha256:f86e18f13e2b96c1c1eede0b7b90095bbb61d99fedc14813c44dc2f361dbbae1 + # via pyvis +jsonschema==4.26.0 \ + --hash=sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326 \ + --hash=sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce + # via policyengine +jsonschema-specifications==2025.9.1 \ + --hash=sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe \ + --hash=sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d + # via jsonschema +markdown-it-py==4.2.0 \ + --hash=sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49 \ + --hash=sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a + # via rich +markupsafe==3.0.3 \ + --hash=sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f \ + --hash=sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a \ + --hash=sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf \ + --hash=sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19 \ + --hash=sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf \ + --hash=sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c \ + --hash=sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175 \ + --hash=sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219 \ + --hash=sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb \ + --hash=sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6 \ + --hash=sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab \ + --hash=sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26 \ + --hash=sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1 \ + --hash=sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce \ + --hash=sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218 \ + --hash=sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634 \ + --hash=sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695 \ + --hash=sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad \ + --hash=sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73 \ + --hash=sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c \ + --hash=sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe \ + --hash=sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa \ + --hash=sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559 \ + --hash=sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa \ + --hash=sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37 \ + --hash=sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758 \ + --hash=sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f \ + --hash=sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8 \ + --hash=sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d \ + --hash=sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c \ + --hash=sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97 \ + --hash=sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a \ + --hash=sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19 \ + --hash=sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9 \ + --hash=sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9 \ + --hash=sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc \ + --hash=sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2 \ + --hash=sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4 \ + --hash=sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354 \ + --hash=sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50 \ + --hash=sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698 \ + --hash=sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9 \ + --hash=sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b \ + --hash=sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc \ + --hash=sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115 \ + --hash=sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e \ + --hash=sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485 \ + --hash=sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f \ + --hash=sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12 \ + --hash=sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025 \ + --hash=sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009 \ + --hash=sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d \ + --hash=sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b \ + --hash=sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a \ + --hash=sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5 \ + --hash=sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f \ + --hash=sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d \ + --hash=sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1 \ + --hash=sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287 \ + --hash=sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6 \ + --hash=sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f \ + --hash=sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581 \ + --hash=sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed \ + --hash=sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b \ + --hash=sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c \ + --hash=sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026 \ + --hash=sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8 \ + --hash=sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676 \ + --hash=sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6 \ + --hash=sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e \ + --hash=sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d \ + --hash=sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d \ + --hash=sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01 \ + --hash=sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7 \ + --hash=sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419 \ + --hash=sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795 \ + --hash=sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1 \ + --hash=sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5 \ + --hash=sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d \ + --hash=sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42 \ + --hash=sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe \ + --hash=sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda \ + --hash=sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e \ + --hash=sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737 \ + --hash=sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523 \ + --hash=sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591 \ + --hash=sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc \ + --hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \ + --hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50 + # via jinja2 +matplotlib-inline==0.2.2 \ + --hash=sha256:3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6 \ + --hash=sha256:72f3fe8fce36b70d4a5b612f899090cd0401deddc4ea90e1572b9f4bfb058c79 + # via ipython +mdurl==0.1.2 \ + --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \ + --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba + # via markdown-it-py +microdf-python==1.3.0 \ + --hash=sha256:e17757a198648108eae24f39384e27b5ae8061acf1b43fa56520010dc00a7b55 \ + --hash=sha256:f352fe32c25a4fd6d6188ef6aaca0214b53b29a8a7913aca6af0362dd9c922bd + # via + # policyengine + # policyengine-core + # policyengine-uk + # policyengine-us +msgpack==1.1.2 \ + --hash=sha256:0051fffef5a37ca2cd16978ae4f0aef92f164df86823871b5162812bebecd8e2 \ + --hash=sha256:04fb995247a6e83830b62f0b07bf36540c213f6eac8e851166d8d86d83cbd014 \ + --hash=sha256:180759d89a057eab503cf62eeec0aa61c4ea1200dee709f3a8e9397dbb3b6931 \ + --hash=sha256:1d1418482b1ee984625d88aa9585db570180c286d942da463533b238b98b812b \ + --hash=sha256:1de460f0403172cff81169a30b9a92b260cb809c4cb7e2fc79ae8d0510c78b6b \ + --hash=sha256:1fdf7d83102bf09e7ce3357de96c59b627395352a4024f6e2458501f158bf999 \ + --hash=sha256:1fff3d825d7859ac888b0fbda39a42d59193543920eda9d9bea44d958a878029 \ + --hash=sha256:283ae72fc89da59aa004ba147e8fc2f766647b1251500182fac0350d8af299c0 \ + --hash=sha256:2929af52106ca73fcb28576218476ffbb531a036c2adbcf54a3664de124303e9 \ + --hash=sha256:2e86a607e558d22985d856948c12a3fa7b42efad264dca8a3ebbcfa2735d786c \ + --hash=sha256:350ad5353a467d9e3b126d8d1b90fe05ad081e2e1cef5753f8c345217c37e7b8 \ + --hash=sha256:354e81bcdebaab427c3df4281187edc765d5d76bfb3a7c125af9da7a27e8458f \ + --hash=sha256:365c0bbe981a27d8932da71af63ef86acc59ed5c01ad929e09a0b88c6294e28a \ + --hash=sha256:372839311ccf6bdaf39b00b61288e0557916c3729529b301c52c2d88842add42 \ + --hash=sha256:3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e \ + --hash=sha256:41d1a5d875680166d3ac5c38573896453bbbea7092936d2e107214daf43b1d4f \ + --hash=sha256:42eefe2c3e2af97ed470eec850facbe1b5ad1d6eacdbadc42ec98e7dcf68b4b7 \ + --hash=sha256:446abdd8b94b55c800ac34b102dffd2f6aa0ce643c55dfc017ad89347db3dbdb \ + --hash=sha256:454e29e186285d2ebe65be34629fa0e8605202c60fbc7c4c650ccd41870896ef \ + --hash=sha256:4efd7b5979ccb539c221a4c4e16aac1a533efc97f3b759bb5a5ac9f6d10383bf \ + --hash=sha256:5559d03930d3aa0f3aacb4c42c776af1a2ace2611871c84a75afe436695e6245 \ + --hash=sha256:5928604de9b032bc17f5099496417f113c45bc6bc21b5c6920caf34b3c428794 \ + --hash=sha256:59415c6076b1e30e563eb732e23b994a61c159cec44deaf584e5cc1dd662f2af \ + --hash=sha256:5a46bf7e831d09470ad92dff02b8b1ac92175ca36b087f904a0519857c6be3ff \ + --hash=sha256:602b6740e95ffc55bfb078172d279de3773d7b7db1f703b2f1323566b878b90e \ + --hash=sha256:61c8aa3bd513d87c72ed0b37b53dd5c5a0f58f2ff9f26e1555d3bd7948fb7296 \ + --hash=sha256:67016ae8c8965124fdede9d3769528ad8284f14d635337ffa6a713a580f6c030 \ + --hash=sha256:6bde749afe671dc44893f8d08e83bf475a1a14570d67c4bb5cec5573463c8833 \ + --hash=sha256:6c15b7d74c939ebe620dd8e559384be806204d73b4f9356320632d783d1f7939 \ + --hash=sha256:70a0dff9d1f8da25179ffcf880e10cf1aad55fdb63cd59c9a49a1b82290062aa \ + --hash=sha256:70c5a7a9fea7f036b716191c29047374c10721c389c21e9ffafad04df8c52c90 \ + --hash=sha256:7bc8813f88417599564fafa59fd6f95be417179f76b40325b500b3c98409757c \ + --hash=sha256:80a0ff7d4abf5fecb995fcf235d4064b9a9a8a40a3ab80999e6ac1e30b702717 \ + --hash=sha256:86f8136dfa5c116365a8a651a7d7484b65b13339731dd6faebb9a0242151c406 \ + --hash=sha256:897c478140877e5307760b0ea66e0932738879e7aa68144d9b78ea4c8302a84a \ + --hash=sha256:8b696e83c9f1532b4af884045ba7f3aa741a63b2bc22617293a2c6a7c645f251 \ + --hash=sha256:8e22ab046fa7ede9e36eeb4cfad44d46450f37bb05d5ec482b02868f451c95e2 \ + --hash=sha256:94fd7dc7d8cb0a54432f296f2246bc39474e017204ca6f4ff345941d4ed285a7 \ + --hash=sha256:99e2cb7b9031568a2a5c73aa077180f93dd2e95b4f8d3b8e14a73ae94a9e667e \ + --hash=sha256:9ade919fac6a3e7260b7f64cea89df6bec59104987cbea34d34a2fa15d74310b \ + --hash=sha256:9fba231af7a933400238cb357ecccf8ab5d51535ea95d94fc35b7806218ff844 \ + --hash=sha256:a465f0dceb8e13a487e54c07d04ae3ba131c7c5b95e2612596eafde1dccf64a9 \ + --hash=sha256:a605409040f2da88676e9c9e5853b3449ba8011973616189ea5ee55ddbc5bc87 \ + --hash=sha256:a668204fa43e6d02f89dbe79a30b0d67238d9ec4c5bd8a940fc3a004a47b721b \ + --hash=sha256:a7787d353595c7c7e145e2331abf8b7ff1e6673a6b974ded96e6d4ec09f00c8c \ + --hash=sha256:a8f6e7d30253714751aa0b0c84ae28948e852ee7fb0524082e6716769124bc23 \ + --hash=sha256:ad09b984828d6b7bb52d1d1d0c9be68ad781fa004ca39216c8a1e63c0f34ba3c \ + --hash=sha256:bafca952dc13907bdfdedfc6a5f579bf4f292bdd506fadb38389afa3ac5b208e \ + --hash=sha256:be52a8fc79e45b0364210eef5234a7cf8d330836d0a64dfbb878efa903d84620 \ + --hash=sha256:be5980f3ee0e6bd44f3a9e9dea01054f175b50c3e6cdb692bc9424c0bbb8bf69 \ + --hash=sha256:c63eea553c69ab05b6747901b97d620bb2a690633c77f23feb0c6a947a8a7b8f \ + --hash=sha256:d198d275222dc54244bf3327eb8cbe00307d220241d9cec4d306d49a44e85f68 \ + --hash=sha256:d62ce1f483f355f61adb5433ebfd8868c5f078d1a52d042b0a998682b4fa8c27 \ + --hash=sha256:d99ef64f349d5ec3293688e91486c5fdb925ed03807f64d98d205d2713c60b46 \ + --hash=sha256:db6192777d943bdaaafb6ba66d44bf65aa0e9c5616fa1d2da9bb08828c6b39aa \ + --hash=sha256:e23ce8d5f7aa6ea6d2a2b326b4ba46c985dbb204523759984430db7114f8aa00 \ + --hash=sha256:e64c8d2f5e5d5fda7b842f55dec6133260ea8f53c4257d64494c534f306bf7a9 \ + --hash=sha256:e69b39f8c0aa5ec24b57737ebee40be647035158f14ed4b40e6f150077e21a84 \ + --hash=sha256:ea5405c46e690122a76531ab97a079e184c0daf491e588592d6a23d3e32af99e \ + --hash=sha256:f2cb069d8b981abc72b41aea1c580ce92d57c673ec61af4c500153a626cb9e20 \ + --hash=sha256:fac4be746328f90caa3cd4bc67e6fe36ca2bf61d5c6eb6d895b6527e3f05071e \ + --hash=sha256:fffee09044073e69f2bad787071aeec727183e7580443dfeb8556cbf1978d162 + # via blosc2 +ndindex==1.10.1 \ + --hash=sha256:03cf1e6cdac876bd8fc92d3b65bb223496b1581d10eab3ba113f7c195121a959 \ + --hash=sha256:046c1e88d46b2bd2fd3483e06d27b4e85132b55bc693f2fca2db0bb56eea1e78 \ + --hash=sha256:08bfdc1f7a0b408d15b3ce61d141ebbebdb47a25341967e425e104c5bd512a5c \ + --hash=sha256:092b92c07690292ec7c6b266c38d7e63d254ec8d913ed06f2a8e16103eb7861a \ + --hash=sha256:0ad8e060b26568c4e67c7b1dc2bc64e28597afdaabd7d63f98f655bfe2daa644 \ + --hash=sha256:0f6113c1f031248f8818cbee1aa92aa3c9472b7701debcce9fddebcd2f610f11 \ + --hash=sha256:157b5c34a1b779f5d27b790d9bd7e7b156d284e76be83c591a3ba003984f4956 \ + --hash=sha256:1827a40301405b44ad709e388c5b48cf35cd90a67f77e63f0f17d87f6000fa81 \ + --hash=sha256:1ae21b06235cb0884e97cf672780c170449baa0314085595cfe751705fa352de \ + --hash=sha256:23d35696f802548143b5cc199bf2f171efb0061aa7934959251dd3bae56d038c \ + --hash=sha256:27385939f317b55773ea53f6bf9334810cf1d66206034c0a6a6f2a88f2001c3c \ + --hash=sha256:27a7729a4d33df6b96f7d5edff281d2b987bbe6545031c5eb606b95c47694f54 \ + --hash=sha256:28741daca5926adff402247cd406f453ed5bb6042e82d6855938f805190e5ce9 \ + --hash=sha256:2d6442ecce9b395aade5e9f2431e169e01393953a069f6d2d53a63b6c94d1d06 \ + --hash=sha256:3307817bdc92846b18f309fae3582856f567dd6e0742fb0b41ac68682bfc4e2a \ + --hash=sha256:346a4bf09f5771548665c8206e81daadb6b9925d409746e709894bdd98adc701 \ + --hash=sha256:37f87f0e7690ae0324334740e0661d6297f2e62c9bf925127d249fb7eddd0ad8 \ + --hash=sha256:3b0d9ce2c8488444499ab6d40e92e09867bf4413f5cf04c01635de923f44aa67 \ + --hash=sha256:3ce3bd0882572269ca09285112cf38ce84baa2aaa5891551af968ca7c18f84bb \ + --hash=sha256:4cea15cff221e76abd12e3e940c26124184735cf421c229307f5db6742e14dd7 \ + --hash=sha256:588e8875d836a93b3cd9af482c8074bb02288ae1aff92cf277e1f02d9ae0f992 \ + --hash=sha256:59a3222befc0f7cdc85fb9b90a567ae890f70a864bdeb660517e9ebcb36bf1bc \ + --hash=sha256:5c026dbbf2455d97ce6456d8a50b349aee8fefa11027d020638c89e9be2c9c4c \ + --hash=sha256:5c3634a8df43e7928122225a3d64d850c8957bd1edf2e403907deacb478af27b \ + --hash=sha256:6928e47fb008903f2e41309b7ff1e59b16abbcd59e2e945454571c28b2433c9e \ + --hash=sha256:72af787dcee3661f36fff9d144d989aacefe32e2c8b51ceef9babd46afb93a18 \ + --hash=sha256:752e78a5e87911ded117c57a7246596f26c9c6da066de3c2b533b3db694949bb \ + --hash=sha256:777bb6fa1dc72527fb43744b8c1499ca86e8e110b238d7aad6a686489c23d3bd \ + --hash=sha256:78bfe25941d2dac406391ddd9baf0b0fce163807b98ecc2c47a3030ee8466319 \ + --hash=sha256:78ce45106ebf67aeba99714818c721d8fd5fb9534daebd2565665a2d64b50fc9 \ + --hash=sha256:7da34a78410c14341d5fff73be5ce924bd36500bf7f640fc59b8607d3a0df95e \ + --hash=sha256:8644c76e74c0fbbdaa54752de30b7c6b98b1e8f6c05f0c6228632a29c862d83f \ + --hash=sha256:87f83e8c35a7f49a68cd3a3054c406e6c22f8c1315f3905f7a778c657669187e \ + --hash=sha256:890bb92f0a779e6f16bdbcc8bd2e06c32bcc0239e5893ba246114eb924aecaaa \ + --hash=sha256:8ff1558ddbfedcecd1f6ed7777530917ad08f9c253fcaa8b7152a7aa4ca0264f \ + --hash=sha256:9599fcb7411ffe601c367f0a5d4bc0ed588e3e7d9dc7604bdb32c8f669456b9e \ + --hash=sha256:967b87b88dadb62555ec1039695c347254eccb8ca3d124c0e5dbe084c525fa93 \ + --hash=sha256:9b5297f207ebc068c7cdf9e3cd7b95aa5c9ec04295d0a7e56b529f66787d4685 \ + --hash=sha256:9d581f931e61f182478f18bdf5edd3955899df5da4892ed0d5de547a4cfd5b6f \ + --hash=sha256:9fdf3ca16efcdfbb8800aa88fbab1bc6528e6a0504bcb9cf7af4cb9d50e9f5d9 \ + --hash=sha256:a91e1a0398120233d5c3b23ccb2d4b78e970d66136f1a7221fa9a53873c3d5c5 \ + --hash=sha256:a9a211ec2198994cb3600cd46adb335a740f27e4d406b40d48ed7b98d2d2a89b \ + --hash=sha256:ae73cd2d66b09ef2f2a7d7f93bad396d6abf168d1ee825e403c6c5fb8ae1341c \ + --hash=sha256:bada24abee6bc6ca438b2e6b68a752fc9b58b67bdcb54008e2bc6330ecb0a777 \ + --hash=sha256:bc236d1612714cbd80610cf25a6ef92584ff1402e9d5a5c50e926195716f7d22 \ + --hash=sha256:c5e9762452b163e33cfb6e821f86e45ba0b53bdfcd23ab5d57b48a8f566898cb \ + --hash=sha256:c65ca639a7abf72d79f22424f4abd18dece1f289a2b7b028a0ca455edd2168d4 \ + --hash=sha256:c67dde588c0fb89d872931a4ed5f9b4d21c1c70a3d92fdf0812a1de154239816 \ + --hash=sha256:c9dd58d91220b1c1fe516324bfcf4114566c98e84b1cbbe416abe345c75bd557 \ + --hash=sha256:cb76e0f3f235d8b1c768b17e771de48775d281713795c3aa045e8114ad61bdda \ + --hash=sha256:cdb86a4176f2ae23bd4bcd0401ca35d5dad2d1ed0d0dca1ff64480ebe41b75d9 \ + --hash=sha256:cf5855881884b8467dfcf45764ccf2e4279075be14b155b89c96994bb08d2e6f \ + --hash=sha256:cf80241b40adffdc3276b2c9fb63a96c6c98b4a9d941892738de8add65083962 \ + --hash=sha256:cf9e05986b2eb8c5993bce0f911d6cedd15bda30b5e35dd354b1ad1f4cc3599d \ + --hash=sha256:d0ebdba2fade3f6916fe21fd49e2a0935af4f58c56100a60f3f2eb26e20baee7 \ + --hash=sha256:dc7ebdbd465d25f29a9cd7ba31c304172351fc85626835385bcb72807d309a9a \ + --hash=sha256:e2ad917bcdf8dc5ba1e21f01054c991d26862d4d01c3c203a50e907096d558ac \ + --hash=sha256:e69a2cb1ac7be955c3c77f1def83f410775a81525c9ce2d4c0a3f2a61589ed47 \ + --hash=sha256:e81a9bd36fe054b6c9fcc53d26bc9a28cf15d1ab52a0f5b854f894116f3a54e1 \ + --hash=sha256:e851990a68937db5f485cd9f3e760c1fd47fa0f2a99f63a5e2cc880908faf3bb \ + --hash=sha256:ef3ef22390a892d16286505083ee5b326317b21c255a0c7f744b1290a0b964a6 \ + --hash=sha256:f77c4fd3f34c53037678020ab4e060da4bbdcae3a428797c7cbec69a6785dc93 \ + --hash=sha256:f99b3e89220da3244d03c9c5473669c7107d361c129fd9b064622744dee1ce15 \ + --hash=sha256:fa60637dfae1ee3fc057e420a52cc4ace38cf2c0d1a0451af2a3cba84d281842 \ + --hash=sha256:fe5341e24dc992b09c258456ac90a09a6d25efdc2cb86dcc91d32c8891e1df9a + # via blosc2 +networkx==3.6.1 \ + --hash=sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509 \ + --hash=sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762 + # via pyvis +numexpr==2.14.1 \ + --hash=sha256:03130afa04edf83a7b590d207444f05a00363c9b9ea5d81c0f53b1ea13fad55a \ + --hash=sha256:05f9366d23a2e991fd5a8b5e61a17558f028ba86158a4552f8f239b005cdf83c \ + --hash=sha256:06855053de7a3a8425429bd996e8ae3c50b57637ad3e757e0fa0602a7874be30 \ + --hash=sha256:09078ba73cffe94745abfbcc2d81ab8b4b4e9d7bfbbde6cac2ee5dbf38eee222 \ + --hash=sha256:0d1dcbdc4d0374c0d523cee2f94f06b001623cbc1fd163612841017a3495427c \ + --hash=sha256:15015d47d3d1487072d58c0e7682ef2eb608321e14099c39d52e2dd689483611 \ + --hash=sha256:1f1a5e817c534539351aa75d26088e9e1e0ef1b3a6ab484047618a652ccc4fc3 \ + --hash=sha256:2773ee1133f77009a1fc2f34fe236f3d9823779f5f75450e183137d49f00499f \ + --hash=sha256:2a381e5e919a745c9503bcefffc1c7f98c972c04ec58fc8e999ed1a929e01ba6 \ + --hash=sha256:2d03fcb4644a12f70a14d74006f72662824da5b6128bf1bcd10cc3ed80e64c34 \ + --hash=sha256:2eac7a5a2f70b3768c67056445d1ceb4ecd9b853c8eda9563823b551aeaa5082 \ + --hash=sha256:33265294376e7e2ae4d264d75b798a915d2acf37b9dd2b9405e8b04f84d05cfc \ + --hash=sha256:36f8d5c1bd1355df93b43d766790f9046cccfc1e32b7c6163f75bcde682cda07 \ + --hash=sha256:3a2839efa25f3c8d4133252ea7342d8f81226c7c4dda81f97a57e090b9d87a48 \ + --hash=sha256:439ec4d57b853792ebe5456e3160312281c3a7071ecac5532ded3278ede614de \ + --hash=sha256:44f84e0e5af219dbb62a081606156420815890e041b87252fbcea5df55214c4c \ + --hash=sha256:47041f2f7b9e69498fb311af672ba914a60e6e6d804011caacb17d66f639e659 \ + --hash=sha256:4be00b1086c7b7a5c32e31558122b7b80243fe098579b170967da83f3152b48b \ + --hash=sha256:538961096c2300ea44240209181e31fae82759d26b51713b589332b9f2a4117e \ + --hash=sha256:557887ad7f5d3c2a40fd7310e50597045a68e66b20a77b3f44d7bc7608523b4b \ + --hash=sha256:587c41509bc373dfb1fe6086ba55a73147297247bedb6d588cda69169fc412f2 \ + --hash=sha256:5aedf38d4c0c19d3cecfe0334c3f4099fb496f54c146223d30fa930084bc8574 \ + --hash=sha256:638dce8320f4a1483d5ca4fda69f60a70ed7e66be6e68bc23fb9f1a6b78a9e3b \ + --hash=sha256:64ae5dfd62d74a3ef82fe0b37f80527247f3626171ad82025900f46ffca4b39a \ + --hash=sha256:67ea4771029ce818573b1998f5ca416bd255156feea017841b86176a938f7d19 \ + --hash=sha256:6e575fd3ad41ddf3355d0c7ef6bd0168619dc1779a98fe46693cad5e95d25e6e \ + --hash=sha256:70d80fcb418a54ca208e9a38e58ddc425c07f66485176b261d9a67c7f2864f73 \ + --hash=sha256:75440c54fc01e130396650fdf307aa9d41a67dc06ddbfb288971b591c13a395b \ + --hash=sha256:76db0bc6267e591ab9c4df405ffb533598e4c88239db7338d11ae9e4b368a85a \ + --hash=sha256:790447be6879a6c51b9545f79612d24c9ea0a41d537a84e15e6a8ddef0b6268e \ + --hash=sha256:7e87f6d203ac57239de32261c941e9748f9309cbc0da6295eabd0c438b920d3a \ + --hash=sha256:823cd82c8e7937981339f634e7a9c6a92cb2d0b9d0a5cf627a5e394fffc05377 \ + --hash=sha256:83647d846d3eeeb9a9255311236135286728b398d0d41d35dedb532dca807fe9 \ + --hash=sha256:91ebae0ab18c799b0e6b8c5a8d11e1fa3848eb4011271d99848b297468a39430 \ + --hash=sha256:94c711f6d8f17dfb4606842b403699603aa591ab9f6bf23038b488ea9cfb0f09 \ + --hash=sha256:955c92b064f9074d2970cf3138f5e3b965be673b82024962ed526f39bc25a920 \ + --hash=sha256:9f9137f1351b310436662b5dc6f4082a245efa8950c3b0d9008028df92fefb9b \ + --hash=sha256:9fdcd4735121658a313f878fd31136d1bfc6a5b913219e7274e9fca9f8dac3bb \ + --hash=sha256:a40b350cd45b4446076fa11843fa32bbe07024747aeddf6d467290bf9011b392 \ + --hash=sha256:a4ba71db47ea99c659d88ee6233fa77b6dc83392f1d324e0c90ddf617ae3f421 \ + --hash=sha256:af111c8fe6fc55d15e4c7cab11920fc50740d913636d486545b080192cd0ad73 \ + --hash=sha256:c5f1b1605695778896534dfc6e130d54a65cd52be7ed2cd0cfee3981fd676bf5 \ + --hash=sha256:d08856cfc1b440eb1caaa60515235369654321995dd68eb9377577392020f6cb \ + --hash=sha256:d0fab3fd06a04f6b86102552b26aa5d85e20ac7d8296c15764c726eeabae6cc8 \ + --hash=sha256:d686dfb2c1382d9e6e0ee0b7647f943c1886dba3adbf606c625479f35f1956c1 \ + --hash=sha256:db78fa0c9fcbaded3ae7453faf060bd7a18b0dc10299d7fcd02d9362be1213ed \ + --hash=sha256:dce0b5a0447baa7b44bc218ec2d7dcd175b8eee6083605293349c0c1d9b82fb6 \ + --hash=sha256:dd72d8c2a165fe45ea7650b16eb8cc1792a94a722022006bb97c86fe51fd2091 \ + --hash=sha256:dde9fa47ed319e1e1728940a539df3cb78326b7754bc7c6ab3152afc91808f9b \ + --hash=sha256:e23b87f744e04e302d82ac5e2189ae20a533566aec76a46885376e20b0645bf8 \ + --hash=sha256:e9b2f957798c67a2428be96b04bce85439bed05efe78eb78e4c2ca43737578e7 \ + --hash=sha256:ebe4980f9494b9f94d10d2e526edc29e72516698d3bf95670ba79415492212a4 \ + --hash=sha256:ec368819502b64f190c3f71be14a304780b5935c42aae5bf22c27cc2cbba70b5 \ + --hash=sha256:ede79f7ff06629f599081de644546ce7324f1581c09b0ac174da88a470d39c21 \ + --hash=sha256:edea2f20c2040df8b54ee8ca8ebda63de9545b2112872466118e9df4d0ae99f3 \ + --hash=sha256:eee6d4fbbbc368e6cdd0772734d6249128d957b3b8ad47a100789009f4de7083 \ + --hash=sha256:fdd886f4b7dbaf167633ee396478f0d0aa58ea2f9e7ccc3c6431019623e8d68f + # via + # blosc2 + # policyengine-core + # tables +numpy==2.4.4 \ + --hash=sha256:07077278157d02f65c43b1b26a3886bce886f95d20aabd11f87932750dfb14ed \ + --hash=sha256:08f2e31ed5e6f04b118e49821397f12767934cfdd12a1ce86a058f91e004ee50 \ + --hash=sha256:0aec54fd785890ecca25a6003fd9a5aed47ad607bbac5cd64f836ad8666f4959 \ + --hash=sha256:0d35aea54ad1d420c812bfa0385c71cd7cc5bcf7c65fed95fc2cd02fe8c79827 \ + --hash=sha256:0d4e437e295f18ec29bc79daf55e8a47a9113df44d66f702f02a293d93a2d6dd \ + --hash=sha256:0dfd3f9d3adbe2920b68b5cd3d51444e13a10792ec7154cd0a2f6e74d4ab3233 \ + --hash=sha256:1378871da56ca8943c2ba674530924bb8ca40cd228358a3b5f302ad60cf875fc \ + --hash=sha256:15716cfef24d3a9762e3acdf87e27f58dc823d1348f765bbea6bef8c639bfa1b \ + --hash=sha256:19710a9ca9992d7174e9c52f643d4272dcd1558c5f7af7f6f8190f633bd651a7 \ + --hash=sha256:23cbfd4c17357c81021f21540da84ee282b9c8fba38a03b7b9d09ba6b951421e \ + --hash=sha256:2483e4584a1cb3092da4470b38866634bafb223cbcd551ee047633fd2584599a \ + --hash=sha256:27a8d92cd10f1382a67d7cf4db7ce18341b66438bdd9f691d7b0e48d104c2a9d \ + --hash=sha256:28a650663f7314afc3e6ec620f44f333c386aad9f6fc472030865dc0ebb26ee3 \ + --hash=sha256:2aa0613a5177c264ff5921051a5719d20095ea586ca88cc802c5c218d1c67d3e \ + --hash=sha256:2c194dd721e54ecad9ad387c1d35e63dce5c4450c6dc7dd5611283dda239aabb \ + --hash=sha256:2d19e6e2095506d1736b7d80595e0f252d76b89f5e715c35e06e937679ea7d7a \ + --hash=sha256:2d390634c5182175533585cc89f3608a4682ccb173cc9bb940b2881c8d6f8fa0 \ + --hash=sha256:30caa73029a225b2d40d9fae193e008e24b2026b7ee1a867b7ee8d96ca1a448e \ + --hash=sha256:42c16925aa5a02362f986765f9ebabf20de75cdefdca827d14315c568dcab113 \ + --hash=sha256:45dbed2ab436a9e826e302fcdcbe9133f9b0006e5af7168afb8963a6520da103 \ + --hash=sha256:4636de7fd195197b7535f231b5de9e4b36d2c440b6e566d2e4e4746e6af0ca93 \ + --hash=sha256:4a19d9dba1a76618dd86b164d608566f393f8ec6ac7c44f0cc879011c45e65af \ + --hash=sha256:4bbc7f303d125971f60ec0aaad5e12c62d0d2c925f0ab1273debd0e4ba37aba5 \ + --hash=sha256:4d6d57903571f86180eb98f8f0c839fa9ebbfb031356d87f1361be91e433f5b7 \ + --hash=sha256:4e874c976154687c1f71715b034739b45c7711bec81db01914770373d125e392 \ + --hash=sha256:51fc224f7ca4d92656d5a5eb315f12eb5fe2c97a66249aa7b5f562528a3be38c \ + --hash=sha256:58c8b5929fcb8287cbd6f0a3fae19c6e03a5c48402ae792962ac465224a629a4 \ + --hash=sha256:5a285b3b96f951841799528cd1f4f01cd70e7e0204b4abebac9463eecfcf2a40 \ + --hash=sha256:5c70f1cc1c4efbe316a572e2d8b9b9cc44e89b95f79ca3331553fbb63716e2bf \ + --hash=sha256:62d6b0f03b694173f9fcb1fb317f7222fd0b0b103e784c6549f5e53a27718c44 \ + --hash=sha256:6a246d5914aa1c820c9443ddcee9c02bec3e203b0c080349533fae17727dfd1b \ + --hash=sha256:6aa3236c78803afbcb255045fbef97a9e25a1f6c9888357d205ddc42f4d6eba5 \ + --hash=sha256:6bbe4eb67390b0a0265a2c25458f6b90a409d5d069f1041e6aff1e27e3d9a79e \ + --hash=sha256:715d1c092715954784bc79e1174fc2a90093dc4dc84ea15eb14dad8abdcdeb74 \ + --hash=sha256:72944b19f2324114e9dc86a159787333b77874143efcf89a5167ef83cfee8af0 \ + --hash=sha256:81f4a14bee47aec54f883e0cad2d73986640c1590eb9bfaaba7ad17394481e6e \ + --hash=sha256:846300f379b5b12cc769334464656bc882e0735d27d9726568bc932fdc49d5ec \ + --hash=sha256:86b6f55f5a352b48d7fbfd2dbc3d5b780b2d79f4d3c121f33eb6efb22e9a2015 \ + --hash=sha256:874f200b2a981c647340f841730fc3a2b54c9d940566a3c4149099591e2c4c3d \ + --hash=sha256:8a87ec22c87be071b6bdbd27920b129b94f2fc964358ce38f3822635a3e2e03d \ + --hash=sha256:8b3b60bb7cba2c8c81837661c488637eee696f59a877788a396d33150c35d842 \ + --hash=sha256:8e3ed142f2728df44263aaf5fb1f5b0b99f4070c553a0d7f033be65338329150 \ + --hash=sha256:93e15038125dc1e5345d9b5b68aa7f996ec33b98118d18c6ca0d0b7d6198b7e8 \ + --hash=sha256:989824e9faf85f96ec9c7761cd8d29c531ad857bfa1daa930cba85baaecf1a9a \ + --hash=sha256:99d838547ace2c4aace6c4f76e879ddfe02bb58a80c1549928477862b7a6d6ed \ + --hash=sha256:9b2aec6af35c113b05695ebb5749a787acd63cafc83086a05771d1e1cd1e555f \ + --hash=sha256:9c585a1790d5436a5374bac930dad6ed244c046ed91b2b2a3634eb2971d21008 \ + --hash=sha256:a7164afb23be6e37ad90b2f10426149fd75aee07ca55653d2aa41e66c4ef697e \ + --hash=sha256:ac6b31e35612a26483e20750126d30d0941f949426974cace8e6b5c58a3657b0 \ + --hash=sha256:ad2e2ef14e0b04e544ea2fa0a36463f847f113d314aa02e5b402fdf910ef309e \ + --hash=sha256:b268594bccac7d7cf5844c7732e3f20c50921d94e36d7ec9b79e9857694b1b2f \ + --hash=sha256:b5f0362dc928a6ecd9db58868fca5e48485205e3855957bdedea308f8672ea4a \ + --hash=sha256:ba1f4fc670ed79f876f70082eff4f9583c15fb9a4b89d6188412de4d18ae2f40 \ + --hash=sha256:ba203255017337d39f89bdd58417f03c4426f12beed0440cfd933cb15f8669c7 \ + --hash=sha256:c901b15172510173f5cb310eae652908340f8dede90fff9e3bf6c0d8dfd92f83 \ + --hash=sha256:c9b39d38a9bd2ae1becd7eac1303d031c5c110ad31f2b319c6e7d98b135c934d \ + --hash=sha256:d2a8490669bfe99a233298348acc2d824d496dee0e66e31b66a6022c2ad74a5c \ + --hash=sha256:dddbbd259598d7240b18c9d87c56a9d2fb3b02fe266f49a7c101532e78c1d871 \ + --hash=sha256:df3775294accfdd75f32c74ae39fcba920c9a378a2fc18a12b6820aa8c1fb502 \ + --hash=sha256:e44319a2953c738205bf3354537979eaa3998ed673395b964c1176083dd46252 \ + --hash=sha256:e4a010c27ff6f210ff4c6ef34394cd61470d01014439b192ec22552ee867f2a8 \ + --hash=sha256:e823b8b6edc81e747526f70f71a9c0a07ac4e7ad13020aa736bb7c9d67196115 \ + --hash=sha256:e892aff75639bbef0d2a2cfd55535510df26ff92f63c92cd84ef8d4ba5a5557f \ + --hash=sha256:eea7ac5d2dce4189771cedb559c738a71512768210dc4e4753b107a2048b3d0e \ + --hash=sha256:ef4059d6e5152fa1a39f888e344c73fdc926e1b2dd58c771d67b0acfbf2aa67d \ + --hash=sha256:f169b9a863d34f5d11b8698ead99febeaa17a13ca044961aa8e2662a6c7766a0 \ + --hash=sha256:f2cf083b324a467e1ab358c105f6cad5ea950f50524668a80c486ff1db24e119 \ + --hash=sha256:f8474c4241bc18b750be2abea9d7a9ec84f46ef861dbacf86a4f6e043401f79e \ + --hash=sha256:f983334aea213c99992053ede6168500e5f086ce74fbc4acc3f2b00f5762e9db \ + --hash=sha256:f9e75681b59ddaa5e659898085ae0eaea229d054f2ac0c7e563a62205a700121 \ + --hash=sha256:fbc356aae7adf9e6336d336b9c8111d390a05df88f1805573ebb0807bd06fd1d \ + --hash=sha256:fcfe2045fd2e8f3cb0ce9d4ba6dba6333b8fa05bb8a4939c908cd43322d14c7e + # via + # blosc2 + # h5py + # microdf-python + # numexpr + # pandas + # policyengine-core + # spm-calculator + # tables +openpyxl==3.1.5 \ + --hash=sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2 \ + --hash=sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050 + # via spm-calculator +packaging==26.2 \ + --hash=sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e \ + --hash=sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661 + # via + # huggingface-hub + # plotly + # policyengine + # pytest + # tables + # wheel +pandas==3.0.3 \ + --hash=sha256:0383c72c75cdcca61a9e116e611143902dbfd08bff356829c2f6d1cf40a9ca8c \ + --hash=sha256:05f1f1752b8533ea03f7f39a9c15b1a058d067bb48f4748948e7a8691e0510f2 \ + --hash=sha256:08d789b41f87e0905880e293cedf6197ce71fe67cc081358b1e148a491b9bd13 \ + --hash=sha256:0d589105b3c14645af1738ff279b2995102d8f7a03b0a66dc8d95550eb513e04 \ + --hash=sha256:13fc1e853d9e04743d11ba75a985ccbc2a317fe07d8af61e445a6fd24dacd6a6 \ + --hash=sha256:14da8316da4d0c5a77618425996bfb1248ca87fc2c1486e6fde4652bd18b5824 \ + --hash=sha256:1928e07221f82db493cd4af1e23c1bfca524a19a4699887975bff68f49a72bfb \ + --hash=sha256:261e308dfb22448384b7580cf719d2f998fe2966c92893c3e77d14008af1f066 \ + --hash=sha256:275c14e0fce14a2ec20eee474aecd305478ea3c1e6f6a9d8fe219a165542717e \ + --hash=sha256:335f62418ed562cfc3c49e9e196375c28b729dcef8543abf4f9438e381bf3c76 \ + --hash=sha256:3650109c0f22879df8bd6179ab9ee3d7f1d1d4e7e0094a3f0032d9f51e2e64ac \ + --hash=sha256:39436b377d56d2a2e52d0395bdbee171f01068e99af5250509aceeb929f765c7 \ + --hash=sha256:3c20a521bbb85902f79f7270c80a59e1b5452d96d170c034f207181870f97ac5 \ + --hash=sha256:3e91cec1879ada0624fc3dc9953c5cbd60208e59c0db28f540c5d6d47502422f \ + --hash=sha256:455f6f8139d4282188f526868dbc3c828470e88a3d9d59a891bd46a455f21b98 \ + --hash=sha256:46997386d528eb40376ecd6b033cf4a8a1e5282580f68f43de875b78cba2199d \ + --hash=sha256:4db8c527972a821cf5286b40ccc57642a39bc62e62022b42f99f8a67fca8c3a1 \ + --hash=sha256:4e15135e2ee5df1063313e2425ceef8ac0f4ae775893815b0923651b806a5639 \ + --hash=sha256:51b1fe551acb77dac643c6fda86084d8d446c10fe64b06a9cc29c4cc8540e7f2 \ + --hash=sha256:557409bc4178e70ee8d9ddb494798e51ebf6ea59330f6be22c51bab2a7db6c49 \ + --hash=sha256:5cc09a68b3120e0f54870dede8287a7bb1fa463907e4fcec1ea77cab6179bf7a \ + --hash=sha256:60ae316d3fd75d1858d450d0db0103ea2be3e7d4a95ec2f064f7e2ae63f7b028 \ + --hash=sha256:6674ab18ad8c57802867264b00e15e7bb904700cdd9046e3b2fa1fce237439ea \ + --hash=sha256:67b3b64c11910cfa29f4e94a14d3bff9ee693b6fc76055e7cad549cee0aec5fa \ + --hash=sha256:696a4a00a2a2a35d4e5deb3fc946641b96c944f02230e4f76137fe35d806c4fc \ + --hash=sha256:6dc0b3fd2169c9157deed50b4d519553a3655c8c6a96027136d654592be973a9 \ + --hash=sha256:7e65d5407dc0b394f509699650e4a2ec01c0514f21850f453fa60f3be79a5dbf \ + --hash=sha256:819959dab7bbd0049c15623fbac4e29a191b9528160a61fb1032242d8ced2d9c \ + --hash=sha256:8a1e45c80cceb3b4a21bc5939d52e8cbd8d9b7305309219d59e9754d9ce09e27 \ + --hash=sha256:9c39be2d709d01fa972a0cabc522389fceca4f3969332ba25a7d6c5802cf976a \ + --hash=sha256:9d71c63ae4ebdbf70209742096f1fc46a83a0613c99d4b23766cced9ff8cd62a \ + --hash=sha256:a2d2dff8a04f3917b55ab3910c32990f8ddf7eceba114947838cefa976a68977 \ + --hash=sha256:a4eeb6830daf35a71cc09649bd823e2b542dac246cdee9614c6e4bd65028cd6a \ + --hash=sha256:a55066a0505dae0ba2b50a46637db34b46f9094c65c5d4800794ef6335010938 \ + --hash=sha256:a82d532a3351d435432cd913edbccaf8b8e01d4dd0e5ced5a8d2e8ecd94c7e44 \ + --hash=sha256:b168fc218fd80a6cbdbdbc1a97ddc7889ed057d7eb45f50d866ceab5f39904c4 \ + --hash=sha256:b2c95f8bfc1ee412bf482605d7bfd30c12d1d26bd59fdd91efeef1d4718decb1 \ + --hash=sha256:ba7e08b9ac1d54569cd1e256e3668975ed624d6826f7b68df0342b012007bddb \ + --hash=sha256:bab900348131a7db1f69a7309ef141fd5680f1487094193bcbbb61791573bf8f \ + --hash=sha256:bd3a518890b400d32f9023722dc9a9a5c969f00b415419a3c06c043f09bb5d7d \ + --hash=sha256:c7be265b62cef88e253a941e4698604973736dcfe242fdb5198f0f7bc473cdcc \ + --hash=sha256:d26cbe1fcfc12e8fd900e2454163e466b2d3af84f7c75481df7683ffc073d870 \ + --hash=sha256:d4be06d68f9ddcfc645b87534911da79a8fbffc7573c80e0edcf42a5020624d8 \ + --hash=sha256:d72828c20c6d6e83e1e22a6a3b47b326b71664112fa9705dcbccfd7a39b62085 \ + --hash=sha256:dd1a5d1def6a46002e964510bdc67c368aa0951df5d1d9f8365336f5a1f490cd \ + --hash=sha256:e3a2ec42c98ffa2565a67e08e218d06d72576d758d90facb7c00805194d8f360 \ + --hash=sha256:f8894dc474d648fe7b6ff0ca9b0bd73950d19952bc1a6534540762c5d79d305c \ + --hash=sha256:fed2ff7fd9779120e388e285fc029bd5cf9490cdd2e4166a9ee22c0e49a9ab09 + # via + # microdf-python + # policyengine + # policyengine-core + # policyengine-us + # spm-calculator +parso==0.8.7 \ + --hash=sha256:a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c \ + --hash=sha256:eaaac4c9fdd5e9e8852dc778d2d7405897ec510f2a298071453e5e3a07914bb1 + # via jedi +pexpect==4.9.0 \ + --hash=sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 \ + --hash=sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f + # via ipython +plotly==5.24.1 \ + --hash=sha256:dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae \ + --hash=sha256:f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089 + # via policyengine-core +pluggy==1.6.0 \ + --hash=sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3 \ + --hash=sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746 + # via pytest +policyengine==4.4.3 \ + --hash=sha256:555f1461b11ba5d934d5e432e806fcf6d31d2e41a742cd010e9c3c46acd0652e \ + --hash=sha256:a12e8ed43a4b0f205d853853ccc678b2b8857381b8111336e711e35d8e6b1336 + # via -r /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmpmml9m6gk/requirements.in +policyengine-core==3.26.1 \ + --hash=sha256:185374b3c1fe13dc951637c49a9853211ca61a8a9971eb9cc4c4b07b1477240a \ + --hash=sha256:dc4e3007bcd137cbe608042d067cedb889a9b8671db3d08c8e237f1ac3e324b4 + # via + # -r /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmpmml9m6gk/requirements.in + # policyengine-uk + # policyengine-us +policyengine-uk==2.88.14 \ + --hash=sha256:21a4387ae52dcb5430b6d790edcc321816ed47147a3a0e21ffd482a36834d352 \ + --hash=sha256:ed10005ba7d0c973c0966ebbf7672853fb3caaa0456b8bf485fb13f8c323d975 + # via -r /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmpmml9m6gk/requirements.in +policyengine-us==1.690.7 \ + --hash=sha256:3dbb1f54824902fcd6ae64d5879f36ce6b2372a42321c838c20c430fd1507a2e \ + --hash=sha256:5a7a541efabac98fa069d6845902cf5924c81db67383234b55dcd2b8bfcfc3ca + # via -r /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmpmml9m6gk/requirements.in +prompt-toolkit==3.0.52 \ + --hash=sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855 \ + --hash=sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955 + # via ipython +psutil==6.1.1 \ + --hash=sha256:018aeae2af92d943fdf1da6b58665124897cfc94faa2ca92098838f83e1b1bca \ + --hash=sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377 \ + --hash=sha256:1924e659d6c19c647e763e78670a05dbb7feaf44a0e9c94bf9e14dfc6ba50468 \ + --hash=sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3 \ + --hash=sha256:384636b1a64b47814437d1173be1427a7c83681b17a450bfc309a1953e329603 \ + --hash=sha256:6d4281f5bbca041e2292be3380ec56a9413b790579b8e593b1784499d0005dac \ + --hash=sha256:8be07491f6ebe1a693f17d4f11e69d0dc1811fa082736500f649f79df7735303 \ + --hash=sha256:8df0178ba8a9e5bc84fed9cfa61d54601b371fbec5c8eebad27575f1e105c0d4 \ + --hash=sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160 \ + --hash=sha256:9ccc4316f24409159897799b83004cb1e24f9819b0dcf9c0b68bdcb6cefee6a8 \ + --hash=sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003 \ + --hash=sha256:c777eb75bb33c47377c9af68f30e9f11bc78e0f07fbf907be4a5d70b2fe5f030 \ + --hash=sha256:ca9609c77ea3b8481ab005da74ed894035936223422dc591d6772b147421f777 \ + --hash=sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5 \ + --hash=sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53 \ + --hash=sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649 \ + --hash=sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8 + # via + # policyengine + # policyengine-core +ptyprocess==0.7.0 \ + --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 \ + --hash=sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220 + # via pexpect +pure-eval==0.2.3 \ + --hash=sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0 \ + --hash=sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42 + # via stack-data +py-cpuinfo==9.0.0 \ + --hash=sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690 \ + --hash=sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5 + # via tables +pydantic==2.13.4 \ + --hash=sha256:45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba \ + --hash=sha256:c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6 + # via + # blosc2 + # policyengine + # policyengine-uk +pydantic-core==2.46.4 \ + --hash=sha256:00c603d540afdd6b80eb39f078f33ebd46211f02f33e34a32d9f053bba711de0 \ + --hash=sha256:0186750b482eefa11d7f435892b09c5c606193ef3375bcf94aa00ae6bfb66262 \ + --hash=sha256:041bde0a48fd37cf71cab1c9d56d3e8625a3793fef1f7dd232b3ff37e978ecda \ + --hash=sha256:0c563b08bca408dc7f65f700633d8442fffb2421fc47b8101377e9fd65051ff0 \ + --hash=sha256:0cbe8b01f948de4286c74cdd6c667aceb38f5c1e26f0693b3983d9d74887c65e \ + --hash=sha256:0ce40cd7b21210e99342afafbd4d0f76d784eb5b1d60f3bdc566be4983c6c73b \ + --hash=sha256:0e96592440881c74a213e5ad528e2b24d3d4f940de2766bed9010ab1d9e51594 \ + --hash=sha256:10e17cbb10a330363733efc4d7c4d0dd827ac0909b8f6a6542298fed1ea62f29 \ + --hash=sha256:133878133d271ade3d41d1bfb2a45ec38dbdbda40bc065921c6b04e4630127e2 \ + --hash=sha256:14d4edf427bdcf950a8a02d7cb44a08614388dd6e1bdcbf4f67504fa7887da9c \ + --hash=sha256:14f4c5d6db102bd796a627bbb3a17b4cf4574b9ae861d8b7c9a9661c6dd3362d \ + --hash=sha256:17299feefe090f2caa5b8e37222bb5f663e4935a8bfa6931d4102e5df1a9f398 \ + --hash=sha256:184c081504d17f1c1066e430e117142b2c77d9448a97f7b65c6ac9fd9aee238d \ + --hash=sha256:18e5ceec2ab67e6d5f1a9085e5a24c9c4e2ac4545730bfe668680bca05e555f3 \ + --hash=sha256:19e51f073cd3df251856a8a4189fbdf1de4012c3ebacfb1884f94f1eb406079f \ + --hash=sha256:1a7dd0b3ee80d90150e3495a3a13ac34dbcbfd4f012996a6a1d8900e91b5c0fb \ + --hash=sha256:1d8ba486450b14f3b1d63bc521d410ec7565e52f887b9fb671791886436a42f7 \ + --hash=sha256:2108ba5c1c1eca18030634489dc544844144ee36357f2f9f780b93e7ddbb44b5 \ + --hash=sha256:228ee9bae8bef5b1e97ec58302f80357c37199e0d0a99174e138d28e6957b9d9 \ + --hash=sha256:23ace664830ee0bfe014a0c7bc248b1f7f25ed7ad103852c317624a1083af462 \ + --hash=sha256:2412e734dcb48da14d4e4006b82b46b74f2518b8a26ee7e58c6844a6cd6d03c4 \ + --hash=sha256:29c61fc04a3d840155ff08e475a04809278972fe6aef51e2720554e96367e34b \ + --hash=sha256:2f84c03c8607173d16b5a854ec68a2f9079ae03237a54fb506d13af47e1d018d \ + --hash=sha256:3009f12e4e90b7f88b4f9adb1b0c4a3d58fe7820f3238c190047209d148026df \ + --hash=sha256:3245406455a5d98187ec35530fd772b1d799b26667980872c8d4614991e2c4a2 \ + --hash=sha256:3447661d99f75a3683a4cf5c87da72f2161964611864dbbeac7fbb118bb4bfc0 \ + --hash=sha256:372429a130e469c9cd698925ce5fc50940b7a1336b0d82038e63d5bbc4edc519 \ + --hash=sha256:395aebd9183f9d112f569aeb5b2214d1a10a33bec8456447f7fbdfa51d38d4cd \ + --hash=sha256:3a233125ac121aa3ffba9a2b59edfc4a985a76092dc8279586ab4b71390875e7 \ + --hash=sha256:3be77f45df024d789a672ae34f8b06fb346c4f9f46ea714956660ea4862e89ac \ + --hash=sha256:3bf92c5d0e00fefaab325a4d27828fe6b6e2a21848686b5b60d2d9eeb09d76c6 \ + --hash=sha256:3ecbc122d18468d06ca279dc26a8c2e2d5acb10943bb35e36ae92096dc3b5565 \ + --hash=sha256:3fb702cd90b0446a3a1c5e470bfa0dd23c0233b676a9099ddcc964fa6ca13898 \ + --hash=sha256:428e04521a40150c85216fc8b85e8d39fece235a9cf5e383761238c7fa9b96fb \ + --hash=sha256:432c179df7874eeb73307aad2df0755e1ae0efa61ff0ea89b93e194411ae3928 \ + --hash=sha256:4a05d69cba51d852c5c3e92758653245a50c0b646ced0cf05bd793ed592839d6 \ + --hash=sha256:4c63ebc82684aa89d9a3bcbd13d515b3be44250dc68dd3bd81526c1cb31286c3 \ + --hash=sha256:4fc73cb559bdb54b1134a706a2802a4cddd27a0633f5abb7e53056268751ac6a \ + --hash=sha256:4fcbe087dbc2068af7eda3aa87634eba216dbda64d1ae73c8684b621d33f6596 \ + --hash=sha256:56cb4851bcaf3d117eddcef4fe66afd750a50274b0da8e22be256d10e5611987 \ + --hash=sha256:5855698a4856556d86e8e6cd8434bc3ac0314ee8e12089ae0e143f64c6256e4e \ + --hash=sha256:5a4330cdbc57162e4b3aa303f588ba752257694c9c9be3e7ebb11b4aca659b5d \ + --hash=sha256:5b712b53160b79a5850310b912a5ef8e57e56947c8ad690c227f5c9d7e561712 \ + --hash=sha256:5d5902252db0d3cedf8d4a1bc68f70eeb430f7e4c7104c8c476753519b423008 \ + --hash=sha256:617d7e2ca7dcb8c5cf6bcb8c59b8832c94b36196bbf1cbd1bfb56ed341905edd \ + --hash=sha256:62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1 \ + --hash=sha256:633147d34cf4550417f12e2b1a0383973bdf5cdfde212cb09e9a581cf10820be \ + --hash=sha256:66ce7632c22d837c95301830e111ad0128a32b8207533b60896a96c4915192ea \ + --hash=sha256:6b3ace8194b0e5204818c92802dcdca7fc6d88aabbb799d7c795540d9cd6d292 \ + --hash=sha256:6f2eeda33a839975441c86a4119e1383c50b47faf0cbb5176985565c6bb02c33 \ + --hash=sha256:7027560ee92211647d0d34e3f7cd6f50da56399d26a9c8ad0da286d3869a53f3 \ + --hash=sha256:7283d57845ecf5a163403eb0702dfc220cc4fbdd18919cb5ccea4f95ee1cdab4 \ + --hash=sha256:7a5f930472650a82629163023e630d160863fce524c616f4e5186e5de9d9a49b \ + --hash=sha256:7bfb192b3f4b9e8a89b6277b6ce787564f62cfd272055f6e685726b111dc7826 \ + --hash=sha256:811ff8e9c313ab425368bcbb36e5c4ebd7108c2bbf4e4089cfbb0b01eff63fac \ + --hash=sha256:8233f2947cf85404441fd7e0085f53b10c93e0ee78611099b5c7237e36aacbf7 \ + --hash=sha256:82cf5301172168103724d49a1444d3378cb20cdee30b116a1bd6031236298a5d \ + --hash=sha256:8358a950c8909158e3df31538a7e4edc2d7265a7c54b47f0864d9e5bae9dcebf \ + --hash=sha256:85bb3611ff1802f3ee7fdd7dbff26b56f343fb432d57a4728fdd49b6ef35e2f4 \ + --hash=sha256:86e1a4418c6cd97d60c95c71164158eaf7324fae7b0923264016baa993eba6fc \ + --hash=sha256:8b9bab013d1c7a79d3501ff86d0bc9c31bf587db4551677b96bec07df78c6b15 \ + --hash=sha256:8c5dac79fa1614d1e06ca695109c6105923bd9c7d1d6c918d4e637b7e6b32fd3 \ + --hash=sha256:8d0820e8192167f80d88d64038e609c31452eeca865b4e1d9950a27a4609b00b \ + --hash=sha256:8daafc69c93ee8a0204506a3b6b30f586ef54028f52aeeeb5c4cfc5184fd5914 \ + --hash=sha256:9037063db01f09b09e237c282b6792bd4da634b5402c4e7f0c61effed7701a04 \ + --hash=sha256:905a0ed8ea6f2d61c1738835f99b699348d7857379083e5fc497fa0c967a407c \ + --hash=sha256:90884113d8b48f760e9587002789ddd741e76ab9f89518cd1e43b1f1a52ec44b \ + --hash=sha256:91a06d2e259ecfbd8c901d70c3c507900458498142b3026a296b7de4d1322cc9 \ + --hash=sha256:926c9541b14b12b1681dca8a0b75feb510b06c6341b70a8e500c2fdcff837cce \ + --hash=sha256:9401557acd873c3a7f3eb9383edef8ac4968f9510e340f4808d427e75667e7b4 \ + --hash=sha256:9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a \ + --hash=sha256:962ccbab7b642487b1d8b7df90ef677e03134cf1fd8880bf698649b22a69371f \ + --hash=sha256:97e7cf2be5c77b7d1a9713a05605d49460d02c6078d38d8bef3cbe323c548424 \ + --hash=sha256:9aa768456404a8bf48a4406685ac2bec8e72b62c69313734fa3b73cf33b3a894 \ + --hash=sha256:9bc519fbf2b7578398853d815009ae5e4d4603d12f4e3f91da8c06852d3da3e9 \ + --hash=sha256:9d56801be94b86a9da183e5f3766e6310752b99ff647e38b09a9500d88e46e76 \ + --hash=sha256:9f444c499b3eefd3a92e348059471ea0c3a6e303d9c1cec09fa748fd9f895201 \ + --hash=sha256:9fa8ae11da9e2b3126c6426f147e0fba88d96d65921799bb30c6abd1cb2c97fb \ + --hash=sha256:a0f62d0a58f4e7da165457e995725421e0064f2255d8eccebc49f41bbc23b109 \ + --hash=sha256:a396dcc17e5a0b164dbe026896245a4fa9ff402edca1dff0be3d53a517f74de4 \ + --hash=sha256:aaa2a54443eff1950ba5ddc6b6ccda0d9c84a364276a62f969bdf2a390650848 \ + --hash=sha256:ad785e92e6dc634c21555edc8bd6b64957ab844541bcb96a1366c202951ae526 \ + --hash=sha256:af8244b2bef6aaad6d92cda81372de7f8c8d36c9f0c3ea36e827c60e7d9467a0 \ + --hash=sha256:b078afbc25f3a1436c7a1d2cd3e322497ee99615ba97c563566fdf46aff1ee01 \ + --hash=sha256:b2f69dec1725e79a012d920df1707de5caf7ed5e08f3be4435e25803efc47458 \ + --hash=sha256:b8458003118a712e66286df6a707db01c52c0f52f7db8e4a38f0da1d3b94fc4e \ + --hash=sha256:bb63e0198ca18aad131c089b9204c23079c3afa95487e561f4c522d519e55aba \ + --hash=sha256:bfec22eab3c8cc2ceec0248aec886624116dc079afa027ecc8ad4a7e62010f8a \ + --hash=sha256:c1747f85cee84c26985853c6f3d9bd3e75da5212912443fa111c113b9c246f39 \ + --hash=sha256:c1b3f518abeca3aa13c712fd202306e145abf59a18b094a6bafb2d2bbf59192c \ + --hash=sha256:c50f2528cf200c5eed56faf3f4e22fcd5f38c157a8b78576e6ba3168ec35f000 \ + --hash=sha256:c68fcd102d71ea85c5b2dfac3f4f8476eff42a9e078fd5faefff6d145063536b \ + --hash=sha256:c7a7bd4e39e8e4c12c39cd480356842b6a8a06e41b23a55a5e3e191718838ddf \ + --hash=sha256:c94f0688e7b8d0a67abf40e57a7eaaecd17cc9586706a31b76c031f63df052b4 \ + --hash=sha256:cbaf13819775b7f769bf4a1f066cb6df7a28d4480081a589828ef190226881cd \ + --hash=sha256:cd2213145bcc2ba85884d0ac63d222fece9209678f77b9b4d76f054c561adb28 \ + --hash=sha256:ce5c1d2a8b27468f433ca974829c44060b8097eedc39933e3c206a90ee49c4a9 \ + --hash=sha256:d396ec2b979760aaf3218e76c24e65bd0aca24983298653b3a9d7a45f9e47b30 \ + --hash=sha256:d51026d73fcfd93610abc7b27789c26b313920fcfb20e27462d74a7f8b06e983 \ + --hash=sha256:d80ee3d731373b24cebbc10d689ca4ee1875caf0d5703a245db18efd4dd37fc1 \ + --hash=sha256:d995260fdf4e1db774581b4900e0f832abe3c7c84996726bbc161b19c8f29e76 \ + --hash=sha256:da4b951fe36dc7c3a1ccb4e3cd1747c3542b8c9ceede8fc86cae054e764485f5 \ + --hash=sha256:daa27d92c36f24388fe3ad306b174781c747627f134452e4f128ea00ce1fe8c4 \ + --hash=sha256:db06ffe51636ffe9ca531fe9023dd64bdd794be8754cb5df57c5498ae5b518a7 \ + --hash=sha256:e0d65b8c354be7fb5f720c3caa8bc940bc2d20ce749c8e06135f07f8ed95dd7c \ + --hash=sha256:e68b7a074f65a2fd746c52a7ce6142ab7006074ac269ace0c25cd8ba171f8066 \ + --hash=sha256:e739fee756ba1010f8bcccb534252e85a35fe45ae92c295a06059ce58b74ccd3 \ + --hash=sha256:e846ae7835bf0703ae43f534ab79a867146dadd59dc9ca5c8b53d5c8f7c9ef02 \ + --hash=sha256:e9c26f834c65f5752f3f06cb08cb86a913ceb7274d0db6e267808a708b46bc89 \ + --hash=sha256:ea793e075b70290d89d8142074262885d3f7da19634845135751bd6344f73b50 \ + --hash=sha256:f027324c56cd5406ca49c124b0db10e56c69064fec039acc571c29020cc87c76 \ + --hash=sha256:f13a646d65d09fbf1bc6b3a9635d30095c8e7e5cc419ff35ecc563c5fd04cd49 \ + --hash=sha256:f47286a97f0bc9b8859519809077b91b2cefe4ae47fcbf5e466a009c1c5d742b \ + --hash=sha256:f747929cf940cddb5b3668a390056ddd5ba2e5010615ea2dcf4f9c4f3ab8791d \ + --hash=sha256:f99626688942fb746e545232e7726926f3be91b5975f8b55327665fafda991c7 \ + --hash=sha256:f9fa868638bf362d3d138ea55829cefb3d5f4b0d7f142234382a15e2485dbec4 \ + --hash=sha256:fbdb89b3e1c94a30cc5edfce477c6e6a5dc4d8f84665b455c27582f211a1c72c \ + --hash=sha256:fc010ab034c8c7452522748bf937df58020d256ccae0874463d1f4d01758af8e \ + --hash=sha256:fc3e9034a63de20e15e8ade85358bc6efc614008cab72898b4b4952bea0509ff \ + --hash=sha256:fd8b3d9fd264be37976686c7f65cd52a83f5e84f4bfd2adf9c1d469676bbb6ae + # via pydantic +pygments==2.20.0 \ + --hash=sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f \ + --hash=sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176 + # via + # ipython + # pytest + # rich +pytest==8.4.2 \ + --hash=sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01 \ + --hash=sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79 + # via policyengine-core +python-dateutil==2.9.0.post0 \ + --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ + --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 + # via pandas +pyvis==0.3.2 \ + --hash=sha256:5720c4ca8161dc5d9ab352015723abb7a8bb8fb443edeb07f7a322db34a97555 + # via policyengine-core +pyyaml==6.0.3 \ + --hash=sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c \ + --hash=sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a \ + --hash=sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3 \ + --hash=sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956 \ + --hash=sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6 \ + --hash=sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c \ + --hash=sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65 \ + --hash=sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a \ + --hash=sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0 \ + --hash=sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b \ + --hash=sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1 \ + --hash=sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6 \ + --hash=sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7 \ + --hash=sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e \ + --hash=sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007 \ + --hash=sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310 \ + --hash=sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4 \ + --hash=sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9 \ + --hash=sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295 \ + --hash=sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea \ + --hash=sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0 \ + --hash=sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e \ + --hash=sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac \ + --hash=sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9 \ + --hash=sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7 \ + --hash=sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35 \ + --hash=sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb \ + --hash=sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b \ + --hash=sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69 \ + --hash=sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5 \ + --hash=sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b \ + --hash=sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c \ + --hash=sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369 \ + --hash=sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd \ + --hash=sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824 \ + --hash=sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198 \ + --hash=sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065 \ + --hash=sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c \ + --hash=sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c \ + --hash=sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764 \ + --hash=sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196 \ + --hash=sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b \ + --hash=sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00 \ + --hash=sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac \ + --hash=sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8 \ + --hash=sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e \ + --hash=sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28 \ + --hash=sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3 \ + --hash=sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5 \ + --hash=sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4 \ + --hash=sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b \ + --hash=sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf \ + --hash=sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5 \ + --hash=sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702 \ + --hash=sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8 \ + --hash=sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788 \ + --hash=sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da \ + --hash=sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d \ + --hash=sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc \ + --hash=sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c \ + --hash=sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba \ + --hash=sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f \ + --hash=sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917 \ + --hash=sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5 \ + --hash=sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26 \ + --hash=sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f \ + --hash=sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b \ + --hash=sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be \ + --hash=sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c \ + --hash=sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3 \ + --hash=sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6 \ + --hash=sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926 \ + --hash=sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0 + # via huggingface-hub +referencing==0.37.0 \ + --hash=sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231 \ + --hash=sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8 + # via + # jsonschema + # jsonschema-specifications +requests==2.34.0 \ + --hash=sha256:7d62fe92f50eb82c529b0916bb445afa1531a566fc8f35ffdc64446e771b856a \ + --hash=sha256:917520a21b767485ce7c588f4ebb917c436b24a31231b44228715eaeb5a52c60 + # via + # blosc2 + # census + # policyengine + # policyengine-core + # spm-calculator +rich==15.0.0 \ + --hash=sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb \ + --hash=sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36 + # via typer +rpds-py==0.30.0 \ + --hash=sha256:07ae8a593e1c3c6b82ca3292efbe73c30b61332fd612e05abee07c79359f292f \ + --hash=sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136 \ + --hash=sha256:0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3 \ + --hash=sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7 \ + --hash=sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65 \ + --hash=sha256:12f90dd7557b6bd57f40abe7747e81e0c0b119bef015ea7726e69fe550e394a4 \ + --hash=sha256:1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169 \ + --hash=sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf \ + --hash=sha256:1b151685b23929ab7beec71080a8889d4d6d9fa9a983d213f07121205d48e2c4 \ + --hash=sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2 \ + --hash=sha256:250fa00e9543ac9b97ac258bd37367ff5256666122c2d0f2bc97577c60a1818c \ + --hash=sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4 \ + --hash=sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3 \ + --hash=sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6 \ + --hash=sha256:32c8528634e1bf7121f3de08fa85b138f4e0dc47657866630611b03967f041d7 \ + --hash=sha256:33f559f3104504506a44bb666b93a33f5d33133765b0c216a5bf2f1e1503af89 \ + --hash=sha256:3896fa1be39912cf0757753826bc8bdc8ca331a28a7c4ae46b7a21280b06bb85 \ + --hash=sha256:389a2d49eded1896c3d48b0136ead37c48e221b391c052fba3f4055c367f60a6 \ + --hash=sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa \ + --hash=sha256:3adbb8179ce342d235c31ab8ec511e66c73faa27a47e076ccc92421add53e2bb \ + --hash=sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6 \ + --hash=sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87 \ + --hash=sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856 \ + --hash=sha256:422c3cb9856d80b09d30d2eb255d0754b23e090034e1deb4083f8004bd0761e4 \ + --hash=sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f \ + --hash=sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53 \ + --hash=sha256:47b0ef6231c58f506ef0b74d44e330405caa8428e770fec25329ed2cb971a229 \ + --hash=sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad \ + --hash=sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23 \ + --hash=sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db \ + --hash=sha256:495aeca4b93d465efde585977365187149e75383ad2684f81519f504f5c13038 \ + --hash=sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27 \ + --hash=sha256:4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00 \ + --hash=sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18 \ + --hash=sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083 \ + --hash=sha256:55f66022632205940f1827effeff17c4fa7ae1953d2b74a8581baaefb7d16f8c \ + --hash=sha256:58edca431fb9b29950807e301826586e5bbf24163677732429770a697ffe6738 \ + --hash=sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898 \ + --hash=sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e \ + --hash=sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7 \ + --hash=sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08 \ + --hash=sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6 \ + --hash=sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551 \ + --hash=sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e \ + --hash=sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288 \ + --hash=sha256:67b02ec25ba7a9e8fa74c63b6ca44cf5707f2fbfadae3ee8e7494297d56aa9df \ + --hash=sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0 \ + --hash=sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2 \ + --hash=sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05 \ + --hash=sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0 \ + --hash=sha256:6de2a32a1665b93233cde140ff8b3467bdb9e2af2b91079f0333a0974d12d464 \ + --hash=sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5 \ + --hash=sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404 \ + --hash=sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7 \ + --hash=sha256:7c64d38fb49b6cdeda16ab49e35fe0da2e1e9b34bc38bd78386530f218b37139 \ + --hash=sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394 \ + --hash=sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb \ + --hash=sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15 \ + --hash=sha256:858738e9c32147f78b3ac24dc0edb6610000e56dc0f700fd5f651d0a0f0eb9ff \ + --hash=sha256:8d6d1cc13664ec13c1b84241204ff3b12f9bb82464b8ad6e7a5d3486975c2eed \ + --hash=sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6 \ + --hash=sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e \ + --hash=sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95 \ + --hash=sha256:946fe926af6e44f3697abbc305ea168c2c31d3e3ef1058cf68f379bf0335a78d \ + --hash=sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950 \ + --hash=sha256:9854cf4f488b3d57b9aaeb105f06d78e5529d3145b1e4a41750167e8c213c6d3 \ + --hash=sha256:993914b8e560023bc0a8bf742c5f303551992dcb85e247b1e5c7f4a7d145bda5 \ + --hash=sha256:99b47d6ad9a6da00bec6aabe5a6279ecd3c06a329d4aa4771034a21e335c3a97 \ + --hash=sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e \ + --hash=sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e \ + --hash=sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b \ + --hash=sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd \ + --hash=sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad \ + --hash=sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8 \ + --hash=sha256:a2bffea6a4ca9f01b3f8e548302470306689684e61602aa3d141e34da06cf425 \ + --hash=sha256:a452763cc5198f2f98898eb98f7569649fe5da666c2dc6b5ddb10fde5a574221 \ + --hash=sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d \ + --hash=sha256:a51033ff701fca756439d641c0ad09a41d9242fa69121c7d8769604a0a629825 \ + --hash=sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51 \ + --hash=sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e \ + --hash=sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f \ + --hash=sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8 \ + --hash=sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f \ + --hash=sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d \ + --hash=sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07 \ + --hash=sha256:ba3af48635eb83d03f6c9735dfb21785303e73d22ad03d489e88adae6eab8877 \ + --hash=sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31 \ + --hash=sha256:c2262bdba0ad4fc6fb5545660673925c2d2a5d9e2e0fb603aad545427be0fc58 \ + --hash=sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94 \ + --hash=sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28 \ + --hash=sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000 \ + --hash=sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1 \ + --hash=sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1 \ + --hash=sha256:d9a0ca5da0386dee0655b4ccdf46119df60e0f10da268d04fe7cc87886872ba7 \ + --hash=sha256:da279aa314f00acbb803da1e76fa18666778e8a8f83484fba94526da5de2cba7 \ + --hash=sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40 \ + --hash=sha256:dc4f992dfe1e2bc3ebc7444f6c7051b4bc13cd8e33e43511e8ffd13bf407010d \ + --hash=sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0 \ + --hash=sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84 \ + --hash=sha256:dea5b552272a944763b34394d04577cf0f9bd013207bc32323b5a89a53cf9c2f \ + --hash=sha256:dff13836529b921e22f15cb099751209a60009731a68519630a24d61f0b1b30a \ + --hash=sha256:e0b65193a413ccc930671c55153a03ee57cecb49e6227204b04fae512eb657a7 \ + --hash=sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419 \ + --hash=sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8 \ + --hash=sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a \ + --hash=sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9 \ + --hash=sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be \ + --hash=sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed \ + --hash=sha256:ee6af14263f25eedc3bb918a3c04245106a42dfd4f5c2285ea6f997b1fc3f89a \ + --hash=sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d \ + --hash=sha256:f207f69853edd6f6700b86efb84999651baf3789e78a466431df1331608e5324 \ + --hash=sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f \ + --hash=sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2 \ + --hash=sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f \ + --hash=sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5 + # via + # jsonschema + # referencing +shellingham==1.5.4 \ + --hash=sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686 \ + --hash=sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de + # via typer +six==1.17.0 \ + --hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \ + --hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81 + # via python-dateutil +sortedcontainers==2.4.0 \ + --hash=sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88 \ + --hash=sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0 + # via policyengine-core +spm-calculator==0.3.1 \ + --hash=sha256:41f2f4d00d8c03422a7d57b800052e7760b88e463a5884802f83ed58d35c18c1 \ + --hash=sha256:52c57ecc5a240ec941b0f2b0d93bc4fa437ef6250e233baed8e11916fa9c1150 + # via policyengine-us +stack-data==0.6.3 \ + --hash=sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9 \ + --hash=sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695 + # via ipython +standard-imghdr==3.13.0 \ + --hash=sha256:30a1bff5465605bb496f842a6ac3cc1f2131bf3025b0da28d4877d6d4b7cc8e9 \ + --hash=sha256:8d9c68058d882f6fc3542a8d39ef9ff94d2187dc90bd0c851e0902776b7b7a42 + # via policyengine-core +tables==3.11.1 \ + --hash=sha256:1e78fe190fdeb4afe430b79651bae2a4f341904eb85aa8dbafe5f1caee1c7f67 \ + --hash=sha256:3a9c35f87fcb6a48c79fbc4e3ab15ca8f6053c4ce13063d6ca2ec36cbb58f40f \ + --hash=sha256:4cf3218b76ba78d156d6ee75c19fb757d50682f6c7b4905370441afbfc9d77f3 \ + --hash=sha256:56bf6fb9132ead989b7e76695d7613d6d08f071a8019038d6565ba90c66b9f3e \ + --hash=sha256:78abcf413091bc7c1e4e8c10fbbb438d1ac0b5a87436c5b972c3e8253871b6fb \ + --hash=sha256:7fa6cb03f6fe55ae4f85e89ec5450e5c40cc4c52d8c3b60eb157a445c2219e89 \ + --hash=sha256:a4bbd95036a4d0cc5c86c1f87fbb490b4c53cd70982f1c01b3ed6dcb3085cbb9 \ + --hash=sha256:a6f7a3b82dbf0ae0f30de635ca88bb42dd87938b0950369d0ee4289c52ae6de2 \ + --hash=sha256:e3cfe79484351f7216eb8f3767bfa1217bfd271b04428f79cfa7ef6d7491919d \ + --hash=sha256:eb30684c42a77bbecdef2b9c763c4372b0ddc9cc5bd8b2a2055f2042eee67217 \ + --hash=sha256:f0367d2e3df0f10ea63ccf4279f3fe58e32ec481767320301a483e2b3cd83efc + # via + # policyengine-uk + # policyengine-us +tenacity==9.1.4 \ + --hash=sha256:6095a360c919085f28c6527de529e76a06ad89b23659fa881ae0649b867a9d55 \ + --hash=sha256:adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a + # via plotly +threadpoolctl==3.6.0 \ + --hash=sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb \ + --hash=sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e + # via blosc2 +tqdm==4.67.3 \ + --hash=sha256:7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb \ + --hash=sha256:ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf + # via + # huggingface-hub + # policyengine-us +traitlets==5.15.0 \ + --hash=sha256:4fead733f81cf1c4c938e06f8ca4633896833c9d89eff878159457f4d4392971 \ + --hash=sha256:fb36a18867a6803deab09f3c5e0fa81bb7b26a5c9e82501c9933f759166eff40 + # via + # ipython + # matplotlib-inline +typer==0.25.1 \ + --hash=sha256:75caa44ed46a03fb2dab8808753ffacdbfea88495e74c85a28c5eefcf5f39c89 \ + --hash=sha256:9616eb8853a09ffeabab1698952f33c6f29ffdbceb4eaeecf571880e8d7664cc + # via huggingface-hub +typing-extensions==4.15.0 \ + --hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \ + --hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548 + # via + # huggingface-hub + # pydantic + # pydantic-core + # typing-inspection +typing-inspection==0.4.2 \ + --hash=sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7 \ + --hash=sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464 + # via pydantic +urllib3==2.7.0 \ + --hash=sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c \ + --hash=sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897 + # via requests +us==3.2.0 \ + --hash=sha256:571714ad6d473c72bbd2058a53404cdf4ecc0129e4f19adfcbeb4e2d7e3dc3e7 \ + --hash=sha256:cb223e85393dcc5171ead0dd212badc47f9667b23700fea3e7ea5f310d545338 + # via spm-calculator +wcwidth==0.7.0 \ + --hash=sha256:5d69154c429a82910e241c738cd0e2976fac8a2dd47a1a805f4afed1c0f136f2 \ + --hash=sha256:90e3a7ea092341c44b99562e75d09e4d5160fe7a3974c6fb842a101a95e7eed0 + # via prompt-toolkit +wheel==0.47.0 \ + --hash=sha256:212281cab4dff978f6cedd499cd893e1f620791ca6ff7107cf270781e587eced \ + --hash=sha256:cc72bd1009ba0cf63922e28f94d9d83b920aa2bb28f798a31d0691b02fa3c9b3 + # via policyengine-core diff --git a/src/policyengine/data/install/all/py313/pylock.toml b/src/policyengine/data/install/all/py313/pylock.toml new file mode 100644 index 00000000..e4562581 --- /dev/null +++ b/src/policyengine/data/install/all/py313/pylock.toml @@ -0,0 +1,527 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmpmml9m6gk/requirements.in --python-version 3.13 --python-platform x86_64-manylinux_2_28 --format pylock.toml --output-file bundles/4.4.3/install/all/py313/pylock.toml +lock-version = "1.0" +created-by = "uv" +requires-python = ">=3.13" + +[[packages]] +name = "annotated-doc" +version = "0.0.4" +sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", upload-time = 2025-11-10T22:07:42Z, size = 7288, hashes = { sha256 = "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", upload-time = 2025-11-10T22:07:40Z, size = 5303, hashes = { sha256 = "571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320" } }] + +[[packages]] +name = "annotated-types" +version = "0.7.0" +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", upload-time = 2024-05-20T21:33:25Z, size = 16081, hashes = { sha256 = "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", upload-time = 2024-05-20T21:33:24Z, size = 13643, hashes = { sha256 = "1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53" } }] + +[[packages]] +name = "anyio" +version = "4.13.0" +sdist = { url = "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz", upload-time = 2026-03-24T12:59:09Z, size = 231622, hashes = { sha256 = "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/da/42/e921fccf5015463e32a3cf6ee7f980a6ed0f395ceeaa45060b61d86486c2/anyio-4.13.0-py3-none-any.whl", upload-time = 2026-03-24T12:59:08Z, size = 114353, hashes = { sha256 = "08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708" } }] + +[[packages]] +name = "asttokens" +version = "3.0.1" +sdist = { url = "https://files.pythonhosted.org/packages/be/a5/8e3f9b6771b0b408517c82d97aed8f2036509bc247d46114925e32fe33f0/asttokens-3.0.1.tar.gz", upload-time = 2025-11-15T16:43:48Z, size = 62308, hashes = { sha256 = "71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl", upload-time = 2025-11-15T16:43:16Z, size = 27047, hashes = { sha256 = "15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a" } }] + +[[packages]] +name = "attrs" +version = "26.1.0" +sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", upload-time = 2026-03-19T14:22:25Z, size = 952055, hashes = { sha256 = "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", upload-time = 2026-03-19T14:22:23Z, size = 67548, hashes = { sha256 = "c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309" } }] + +[[packages]] +name = "blosc2" +version = "4.2.0" +sdist = { url = "https://files.pythonhosted.org/packages/64/2b/47b891a836260185652781abf98c8868a0df361f79e66ace13cee2b46235/blosc2-4.2.0.tar.gz", upload-time = 2026-05-07T11:26:30Z, size = 5205444, hashes = { sha256 = "bbefc417322a59443d844b4d03e66b228694ec6bfd1de8bbd832c4aa0eaebe64" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/f4/ab/a0aefc8a327b7577b68fca1f456f625c2d8fbbd85d3c07531079ff75e96c/blosc2-4.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", upload-time = 2026-05-07T11:26:11Z, size = 6381473, hashes = { sha256 = "f48ea67ccd751999e9bb3c4e10853d422167b9619af701b1fdb08cc27584db96" } }] + +[[packages]] +name = "census" +version = "0.8.26" +sdist = { url = "https://files.pythonhosted.org/packages/f7/e0/c1cde674716d836139550542febca6231616d776119ae73705036d741da7/census-0.8.26.tar.gz", upload-time = 2026-04-08T13:44:19Z, size = 13019, hashes = { sha256 = "c7f9944e38952b4ecc137d14d083018a1c2734f64d2fbc4a8946f35fd51888c2" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/80/13/13dcc8a3142c3c73e5228c05e1ce6567378bc5c673d5567c116d4a8162d7/census-0.8.26-py3-none-any.whl", upload-time = 2026-04-08T13:44:18Z, size = 11364, hashes = { sha256 = "c341bbce4bcdd75c0ddecf75f28ab7eda26a47d7fecc95c4690a2d8ee5b6a727" } }] + +[[packages]] +name = "certifi" +version = "2026.4.22" +sdist = { url = "https://files.pythonhosted.org/packages/25/ee/6caf7a40c36a1220410afe15a1cc64993a1f864871f698c0f93acb72842a/certifi-2026.4.22.tar.gz", upload-time = 2026-04-22T11:26:11Z, size = 137077, hashes = { sha256 = "8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/22/30/7cd8fdcdfbc5b869528b079bfb76dcdf6056b1a2097a662e5e8c04f42965/certifi-2026.4.22-py3-none-any.whl", upload-time = 2026-04-22T11:26:09Z, size = 135707, hashes = { sha256 = "3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a" } }] + +[[packages]] +name = "charset-normalizer" +version = "3.4.7" +sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", upload-time = 2026-04-02T09:28:39Z, size = 144271, hashes = { sha256 = "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" } } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2026-04-02T09:26:50Z, size = 215595, hashes = { sha256 = "e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd" } }, + { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", upload-time = 2026-04-02T09:28:37Z, size = 61958, hashes = { sha256 = "3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d" } }, +] + +[[packages]] +name = "click" +version = "8.3.3" +sdist = { url = "https://files.pythonhosted.org/packages/bb/63/f9e1ea081ce35720d8b92acde70daaedace594dc93b693c869e0d5910718/click-8.3.3.tar.gz", upload-time = 2026-04-22T15:11:27Z, size = 328061, hashes = { sha256 = "398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/ae/44/c1221527f6a71a01ec6fbad7fa78f1d50dfa02217385cf0fa3eec7087d59/click-8.3.3-py3-none-any.whl", upload-time = 2026-04-22T15:11:25Z, size = 110502, hashes = { sha256 = "a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613" } }] + +[[packages]] +name = "decorator" +version = "5.2.1" +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", upload-time = 2025-02-24T04:41:34Z, size = 56711, hashes = { sha256 = "65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", upload-time = 2025-02-24T04:41:32Z, size = 9190, hashes = { sha256 = "d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a" } }] + +[[packages]] +name = "dpath" +version = "2.2.0" +sdist = { url = "https://files.pythonhosted.org/packages/b5/ce/e1fd64d36e4a5717bd5e6b2ad188f5eaa2e902fde871ea73a79875793fc9/dpath-2.2.0.tar.gz", upload-time = 2024-06-12T22:08:03Z, size = 28266, hashes = { sha256 = "34f7e630dc55ea3f219e555726f5da4b4b25f2200319c8e6902c394258dd6a3e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/05/d1/8952806fbf9583004ab479d8f58a9496c3d35f6b6009ddd458bdd9978eaf/dpath-2.2.0-py3-none-any.whl", upload-time = 2024-06-12T22:08:01Z, size = 17618, hashes = { sha256 = "b330a375ded0a0d2ed404440f6c6a715deae5313af40bbb01c8a41d891900576" } }] + +[[packages]] +name = "et-xmlfile" +version = "2.0.0" +sdist = { url = "https://files.pythonhosted.org/packages/d3/38/af70d7ab1ae9d4da450eeec1fa3918940a5fafb9055e934af8d6eb0c2313/et_xmlfile-2.0.0.tar.gz", upload-time = 2024-10-25T17:25:40Z, size = 17234, hashes = { sha256 = "dab3f4764309081ce75662649be815c4c9081e88f0837825f90fd28317d4da54" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c1/8b/5fe2cc11fee489817272089c4203e679c63b570a5aaeb18d852ae3cbba6a/et_xmlfile-2.0.0-py3-none-any.whl", upload-time = 2024-10-25T17:25:39Z, size = 18059, hashes = { sha256 = "7a91720bc756843502c3b7504c77b8fe44217c85c537d85037f0f536151b2caa" } }] + +[[packages]] +name = "executing" +version = "2.2.1" +sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", upload-time = 2025-09-01T09:48:10Z, size = 1129488, hashes = { sha256 = "3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", upload-time = 2025-09-01T09:48:08Z, size = 28317, hashes = { sha256 = "760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017" } }] + +[[packages]] +name = "filelock" +version = "3.29.0" +sdist = { url = "https://files.pythonhosted.org/packages/b5/fe/997687a931ab51049acce6fa1f23e8f01216374ea81374ddee763c493db5/filelock-3.29.0.tar.gz", upload-time = 2026-04-19T15:39:10Z, size = 57571, hashes = { sha256 = "69974355e960702e789734cb4871f884ea6fe50bd8404051a3530bc07809cf90" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/81/47/dd9a212ef6e343a6857485ffe25bba537304f1913bdbed446a23f7f592e1/filelock-3.29.0-py3-none-any.whl", upload-time = 2026-04-19T15:39:08Z, size = 39812, hashes = { sha256 = "96f5f6344709aa1572bbf631c640e4ebeeb519e08da902c39a001882f30ac258" } }] + +[[packages]] +name = "fsspec" +version = "2026.4.0" +sdist = { url = "https://files.pythonhosted.org/packages/d5/8d/1c51c094345df128ca4a990d633fe1a0ff28726c9e6b3c41ba65087bba1d/fsspec-2026.4.0.tar.gz", upload-time = 2026-04-29T20:42:38Z, size = 312760, hashes = { sha256 = "301d8ac70ae90ef3ad05dcf94d6c3754a097f9b5fe4667d2787aa359ec7df7e4" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/d5/0c/043d5e551459da400957a1395e0febbf771446ff34291afcbe3d8be2a279/fsspec-2026.4.0-py3-none-any.whl", upload-time = 2026-04-29T20:42:36Z, size = 203402, hashes = { sha256 = "11ef7bb35dab8a394fde6e608221d5cf3e8499401c249bebaeaad760a1a8dec2" } }] + +[[packages]] +name = "h11" +version = "0.16.0" +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", upload-time = 2025-04-24T03:35:25Z, size = 101250, hashes = { sha256 = "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", upload-time = 2025-04-24T03:35:24Z, size = 37515, hashes = { sha256 = "63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86" } }] + +[[packages]] +name = "h5py" +version = "3.16.0" +sdist = { url = "https://files.pythonhosted.org/packages/db/33/acd0ce6863b6c0d7735007df01815403f5589a21ff8c2e1ee2587a38f548/h5py-3.16.0.tar.gz", upload-time = 2026-03-06T13:49:08Z, size = 446526, hashes = { sha256 = "a0dbaad796840ccaa67a4c144a0d0c8080073c34c76d5a6941d6818678ef2738" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/bd/98/ef2b6fe2903e377cbe870c3b2800d62552f1e3dbe81ce49e1923c53d1c5c/h5py-3.16.0-cp313-cp313-manylinux_2_28_x86_64.whl", upload-time = 2026-03-06T13:48:25Z, size = 5400417, hashes = { sha256 = "9300ad32dea9dfc5171f94d5f6948e159ed93e4701280b0f508773b3f582f402" } }] + +[[packages]] +name = "hf-xet" +version = "1.5.0" +marker = "platform_machine == 'AMD64' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64'" +sdist = { url = "https://files.pythonhosted.org/packages/74/d8/5c06fc76461418326a7decf8367480c35be11a41fd938633929c60a9ec6b/hf_xet-1.5.0.tar.gz", upload-time = 2026-05-06T06:18:15Z, size = 837196, hashes = { sha256 = "e0fb0a34d9f406eed88233e829a67ec016bec5af19e480eac65a233ea289a948" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/49/4d/103f76b04310e5e57656696cc184690d20c466af0bca3ca88f8c8ea5d4f3/hf_xet-1.5.0-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", upload-time = 2026-05-06T06:17:44Z, size = 4465986, hashes = { sha256 = "3531b1823a0e6d77d80f9ed15ca0e00f0d115094f8ac033d5cae88f4564cc949" } }] + +[[packages]] +name = "httpcore" +version = "1.0.9" +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", upload-time = 2025-04-24T22:06:22Z, size = 85484, hashes = { sha256 = "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", upload-time = 2025-04-24T22:06:20Z, size = 78784, hashes = { sha256 = "2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55" } }] + +[[packages]] +name = "httpx" +version = "0.28.1" +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", upload-time = 2024-12-06T15:37:23Z, size = 141406, hashes = { sha256 = "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", upload-time = 2024-12-06T15:37:21Z, size = 73517, hashes = { sha256 = "d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad" } }] + +[[packages]] +name = "huggingface-hub" +version = "1.14.0" +sdist = { url = "https://files.pythonhosted.org/packages/39/40/43109e943fd718b0ccd0cd61eb4f1c347df22bf81f5874c6f22adf44bcff/huggingface_hub-1.14.0.tar.gz", upload-time = 2026-05-06T14:14:34Z, size = 782365, hashes = { sha256 = "d6d2c9cd6be1d02ae9ec6672d5587d10a427f377db688e82528f426a041622c2" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/89/a5/33b49ba7bea7c41bb37f74ec0f8beea0831e052330196633fe2c77516ea6/huggingface_hub-1.14.0-py3-none-any.whl", upload-time = 2026-05-06T14:14:32Z, size = 661479, hashes = { sha256 = "efe075535c62e130b30e836b138e13785f6f043d1f0539e0a39aa411a99e90b8" } }] + +[[packages]] +name = "idna" +version = "3.14" +sdist = { url = "https://files.pythonhosted.org/packages/05/b1/efac073e0c297ecf2fb33c346989a529d4e19164f1759102dee5953ee17e/idna-3.14.tar.gz", upload-time = 2026-05-10T20:32:15Z, size = 198272, hashes = { sha256 = "466d810d7a2cc1022bea9b037c39728d51ae7dad40d480fc9b7d7ecf98ba8ee3" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/6c/3c/3f62dee257eb3d6b2c1ef2a09d36d9793c7111156a73b5654d2c2305e5ce/idna-3.14-py3-none-any.whl", upload-time = 2026-05-10T20:32:14Z, size = 72184, hashes = { sha256 = "e677eaf072e290f7b725f9acf0b3a2bd55f9fd6f7c70abe5f0e34823d0accf69" } }] + +[[packages]] +name = "iniconfig" +version = "2.3.0" +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", upload-time = 2025-10-18T21:55:43Z, size = 20503, hashes = { sha256 = "c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", upload-time = 2025-10-18T21:55:41Z, size = 7484, hashes = { sha256 = "f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12" } }] + +[[packages]] +name = "ipython" +version = "8.39.0" +sdist = { url = "https://files.pythonhosted.org/packages/40/18/f8598d287006885e7136451fdea0755af4ebcbfe342836f24deefaed1164/ipython-8.39.0.tar.gz", upload-time = 2026-03-27T10:02:13Z, size = 5513971, hashes = { sha256 = "4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c0/56/4cc7fc9e9e3f38fd324f24f8afe0ad8bb5fa41283f37f1aaf9de0612c968/ipython-8.39.0-py3-none-any.whl", upload-time = 2026-03-27T10:02:07Z, size = 831849, hashes = { sha256 = "bb3c51c4fa8148ab1dea07a79584d1c854e234ea44aa1283bcb37bc75054651f" } }] + +[[packages]] +name = "jedi" +version = "0.20.0" +sdist = { url = "https://files.pythonhosted.org/packages/46/b7/a3635f6a2d7cf5b5dd98064fc1d5fbbafcb25477bcea204a3a92145d158b/jedi-0.20.0.tar.gz", upload-time = 2026-05-01T23:38:47Z, size = 3119416, hashes = { sha256 = "c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/9a/93/242e2eab5fe682ffcb8b0084bde703a41d51e17ee0f3a31ff0d9d813620a/jedi-0.20.0-py2.py3-none-any.whl", upload-time = 2026-05-01T23:38:43Z, size = 4884812, hashes = { sha256 = "7bdd9c2634f56713299976f4cbd59cb3fa92165cc5e05ea811fb253480728b67" } }] + +[[packages]] +name = "jellyfish" +version = "1.2.1" +sdist = { url = "https://files.pythonhosted.org/packages/0b/14/fc5bdb637996df181e5c4fa3b15dcc27d33215e6c41753564ae453bdb40f/jellyfish-1.2.1.tar.gz", upload-time = 2025-10-11T19:36:37Z, size = 364417, hashes = { sha256 = "72d2fda61b23babe862018729be73c8b0dc12e3e6601f36f6e65d905e249f4db" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/12/40/9a7f62d367f5a862950ce3598188fe0e22e11d1f5d6eaad6eda5adc354b0/jellyfish-1.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", upload-time = 2025-10-11T19:35:34Z, size = 360358, hashes = { sha256 = "80a49eb817eaa6591f43a31e5c93d79904de62537f029907ef88c050d781a638" } }] + +[[packages]] +name = "jinja2" +version = "3.1.6" +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", upload-time = 2025-03-05T20:05:02Z, size = 245115, hashes = { sha256 = "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", upload-time = 2025-03-05T20:05:00Z, size = 134899, hashes = { sha256 = "85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" } }] + +[[packages]] +name = "jsonpickle" +version = "4.1.1" +sdist = { url = "https://files.pythonhosted.org/packages/e4/a6/d07afcfdef402900229bcca795f80506b207af13a838d4d99ad45abf530c/jsonpickle-4.1.1.tar.gz", upload-time = 2025-06-02T20:36:11Z, size = 316885, hashes = { sha256 = "f86e18f13e2b96c1c1eede0b7b90095bbb61d99fedc14813c44dc2f361dbbae1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c1/73/04df8a6fa66d43a9fd45c30f283cc4afff17da671886e451d52af60bdc7e/jsonpickle-4.1.1-py3-none-any.whl", upload-time = 2025-06-02T20:36:08Z, size = 47125, hashes = { sha256 = "bb141da6057898aa2438ff268362b126826c812a1721e31cf08a6e142910dc91" } }] + +[[packages]] +name = "jsonschema" +version = "4.26.0" +sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", upload-time = 2026-01-07T13:41:07Z, size = 366583, hashes = { sha256 = "0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", upload-time = 2026-01-07T13:41:05Z, size = 90630, hashes = { sha256 = "d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce" } }] + +[[packages]] +name = "jsonschema-specifications" +version = "2025.9.1" +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", upload-time = 2025-09-08T01:34:59Z, size = 32855, hashes = { sha256 = "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", upload-time = 2025-09-08T01:34:57Z, size = 18437, hashes = { sha256 = "98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe" } }] + +[[packages]] +name = "markdown-it-py" +version = "4.2.0" +sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", upload-time = 2026-05-07T12:08:28Z, size = 82454, hashes = { sha256 = "04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", upload-time = 2026-05-07T12:08:27Z, size = 91687, hashes = { sha256 = "9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a" } }] + +[[packages]] +name = "markupsafe" +version = "3.0.3" +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", upload-time = 2025-09-27T18:37:40Z, size = 80313, hashes = { sha256 = "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-09-27T18:36:45Z, size = 22980, hashes = { sha256 = "ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676" } }] + +[[packages]] +name = "matplotlib-inline" +version = "0.2.2" +sdist = { url = "https://files.pythonhosted.org/packages/bd/c0/9f7c9a46090390368a4d7bcb76bb87a4a36c421e4c0792cdb53486ffac7a/matplotlib_inline-0.2.2.tar.gz", upload-time = 2026-05-08T17:33:33Z, size = 8150, hashes = { sha256 = "72f3fe8fce36b70d4a5b612f899090cd0401deddc4ea90e1572b9f4bfb058c79" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/41/09/5b161152e2d90f7b87f781c2e1267494aef9c32498df793f73ad0a0a494a/matplotlib_inline-0.2.2-py3-none-any.whl", upload-time = 2026-05-08T17:33:32Z, size = 9534, hashes = { sha256 = "3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6" } }] + +[[packages]] +name = "mdurl" +version = "0.1.2" +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", upload-time = 2022-08-14T12:40:10Z, size = 8729, hashes = { sha256 = "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", upload-time = 2022-08-14T12:40:09Z, size = 9979, hashes = { sha256 = "84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8" } }] + +[[packages]] +name = "microdf-python" +version = "1.3.0" +sdist = { url = "https://files.pythonhosted.org/packages/a3/1b/a4b6a53c8e6668c190e1928ebf9f8c67d6a4995ff4a4b0e3403ded30d4ab/microdf_python-1.3.0.tar.gz", upload-time = 2026-04-17T23:20:57Z, size = 28141, hashes = { sha256 = "f352fe32c25a4fd6d6188ef6aaca0214b53b29a8a7913aca6af0362dd9c922bd" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b9/aa/ce692e0488b5e6c0943f52886cf6a15f5d9a6dee7744b190a3a1d67f5d6e/microdf_python-1.3.0-py3-none-any.whl", upload-time = 2026-04-17T23:20:56Z, size = 28908, hashes = { sha256 = "e17757a198648108eae24f39384e27b5ae8061acf1b43fa56520010dc00a7b55" } }] + +[[packages]] +name = "msgpack" +version = "1.1.2" +sdist = { url = "https://files.pythonhosted.org/packages/4d/f2/bfb55a6236ed8725a96b0aa3acbd0ec17588e6a2c3b62a93eb513ed8783f/msgpack-1.1.2.tar.gz", upload-time = 2025-10-08T09:15:56Z, size = 173581, hashes = { sha256 = "3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/5d/ba/459f18c16f2b3fc1a1ca871f72f07d70c07bf768ad0a507a698b8052ac58/msgpack-1.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-10-08T09:15:17Z, size = 424657, hashes = { sha256 = "fac4be746328f90caa3cd4bc67e6fe36ca2bf61d5c6eb6d895b6527e3f05071e" } }] + +[[packages]] +name = "ndindex" +version = "1.10.1" +sdist = { url = "https://files.pythonhosted.org/packages/f5/92/4b9d2f4e0f3eabcfc7b02b48261f6e5ad36a3e2c1bbdcc4e3b7b6c768fa6/ndindex-1.10.1.tar.gz", upload-time = 2025-11-19T20:40:08Z, size = 271395, hashes = { sha256 = "0f6113c1f031248f8818cbee1aa92aa3c9472b7701debcce9fddebcd2f610f11" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/21/91/d8f19f0b8fc9c5585b50fda44c05415da0bdc5fa9c9c69011015dac27880/ndindex-1.10.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-11-19T20:39:00Z, size = 528213, hashes = { sha256 = "e69a2cb1ac7be955c3c77f1def83f410775a81525c9ce2d4c0a3f2a61589ed47" } }] + +[[packages]] +name = "networkx" +version = "3.6.1" +sdist = { url = "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz", upload-time = 2025-12-08T17:02:39Z, size = 2517025, hashes = { sha256 = "26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", upload-time = 2025-12-08T17:02:38Z, size = 2068504, hashes = { sha256 = "d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762" } }] + +[[packages]] +name = "numexpr" +version = "2.14.1" +sdist = { url = "https://files.pythonhosted.org/packages/cb/2f/fdba158c9dbe5caca9c3eca3eaffffb251f2fb8674bf8e2d0aed5f38d319/numexpr-2.14.1.tar.gz", upload-time = 2025-10-13T16:17:27Z, size = 119400, hashes = { sha256 = "4be00b1086c7b7a5c32e31558122b7b80243fe098579b170967da83f3152b48b" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/fc/f9/c9457652dfe28e2eb898372da2fe786c6db81af9540c0f853ee04a0699cc/numexpr-2.14.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-10-13T16:15:17Z, size = 446574, hashes = { sha256 = "05f9366d23a2e991fd5a8b5e61a17558f028ba86158a4552f8f239b005cdf83c" } }] + +[[packages]] +name = "numpy" +version = "2.4.4" +sdist = { url = "https://files.pythonhosted.org/packages/d7/9f/b8cef5bffa569759033adda9481211426f12f53299629b410340795c2514/numpy-2.4.4.tar.gz", upload-time = 2026-03-29T13:22:01Z, size = 20731587, hashes = { sha256 = "2d390634c5182175533585cc89f3608a4682ccb173cc9bb940b2881c8d6f8fa0" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/d1/73/a9d864e42a01896bb5974475438f16086be9ba1f0d19d0bb7a07427c4a8b/numpy-2.4.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2026-03-29T13:19:37Z, size = 16632682, hashes = { sha256 = "c901b15172510173f5cb310eae652908340f8dede90fff9e3bf6c0d8dfd92f83" } }] + +[[packages]] +name = "openpyxl" +version = "3.1.5" +sdist = { url = "https://files.pythonhosted.org/packages/3d/f9/88d94a75de065ea32619465d2f77b29a0469500e99012523b91cc4141cd1/openpyxl-3.1.5.tar.gz", upload-time = 2024-06-28T14:03:44Z, size = 186464, hashes = { sha256 = "cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c0/da/977ded879c29cbd04de313843e76868e6e13408a94ed6b987245dc7c8506/openpyxl-3.1.5-py2.py3-none-any.whl", upload-time = 2024-06-28T14:03:41Z, size = 250910, hashes = { sha256 = "5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2" } }] + +[[packages]] +name = "packaging" +version = "26.2" +sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", upload-time = 2026-04-24T20:15:23Z, size = 228134, hashes = { sha256 = "ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", upload-time = 2026-04-24T20:15:22Z, size = 100195, hashes = { sha256 = "5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e" } }] + +[[packages]] +name = "pandas" +version = "3.0.3" +sdist = { url = "https://files.pythonhosted.org/packages/f8/87/4341c6252d1c47b08768c3d25ac487362bf403f0313ddae4a2a26c9b1b4c/pandas-3.0.3.tar.gz", upload-time = 2026-05-11T18:54:29Z, size = 4651414, hashes = { sha256 = "696a4a00a2a2a35d4e5deb3fc946641b96c944f02230e4f76137fe35d806c4fc" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/99/68/1237369725aa617bb358263d535803e3053fdbc593513ec5ed9c9896b5b6/pandas-3.0.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2026-05-11T18:53:07Z, size = 10891243, hashes = { sha256 = "a4eeb6830daf35a71cc09649bd823e2b542dac246cdee9614c6e4bd65028cd6a" } }] + +[[packages]] +name = "parso" +version = "0.8.7" +sdist = { url = "https://files.pythonhosted.org/packages/30/4b/90c937815137d43ce71ba043cd3566221e9df6b9c805f24b5d138c9d40a7/parso-0.8.7.tar.gz", upload-time = 2026-05-01T23:13:02Z, size = 401824, hashes = { sha256 = "eaaac4c9fdd5e9e8852dc778d2d7405897ec510f2a298071453e5e3a07914bb1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/99/5d/8268b644392ee874ee82a635cd0df1773de230bde356c38de28e298392cc/parso-0.8.7-py2.py3-none-any.whl", upload-time = 2026-05-01T23:12:58Z, size = 107025, hashes = { sha256 = "a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c" } }] + +[[packages]] +name = "pexpect" +version = "4.9.0" +marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", upload-time = 2023-11-25T09:07:26Z, size = 166450, hashes = { sha256 = "ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", upload-time = 2023-11-25T06:56:14Z, size = 63772, hashes = { sha256 = "7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523" } }] + +[[packages]] +name = "plotly" +version = "5.24.1" +sdist = { url = "https://files.pythonhosted.org/packages/79/4f/428f6d959818d7425a94c190a6b26fbc58035cbef40bf249be0b62a9aedd/plotly-5.24.1.tar.gz", upload-time = 2024-09-12T15:36:31Z, size = 9479398, hashes = { sha256 = "dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/e5/ae/580600f441f6fc05218bd6c9d5794f4aef072a7d9093b291f1c50a9db8bc/plotly-5.24.1-py3-none-any.whl", upload-time = 2024-09-12T15:36:24Z, size = 19054220, hashes = { sha256 = "f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089" } }] + +[[packages]] +name = "pluggy" +version = "1.6.0" +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", upload-time = 2025-05-15T12:30:07Z, size = 69412, hashes = { sha256 = "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", upload-time = 2025-05-15T12:30:06Z, size = 20538, hashes = { sha256 = "e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" } }] + +[[packages]] +name = "policyengine" +version = "4.4.3" +sdist = { url = "https://files.pythonhosted.org/packages/92/f1/1164557ced4db47a9fddf7e5d301a30578de0cb1fb284c5803c238916df7/policyengine-4.4.3.tar.gz", upload-time = 2026-05-11T19:53:39Z, size = 522387, hashes = { sha256 = "555f1461b11ba5d934d5e432e806fcf6d31d2e41a742cd010e9c3c46acd0652e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/68/16/f42e21772742c594194b53302e798c83065c45f34df9b04578540488149d/policyengine-4.4.3-py3-none-any.whl", upload-time = 2026-05-11T19:53:37Z, size = 160790, hashes = { sha256 = "a12e8ed43a4b0f205d853853ccc678b2b8857381b8111336e711e35d8e6b1336" } }] + +[[packages]] +name = "policyengine-core" +version = "3.26.1" +sdist = { url = "https://files.pythonhosted.org/packages/e7/56/666e1e708cbd61078989edc943d5389d45123beb7124a5e3180171656ff6/policyengine_core-3.26.1.tar.gz", upload-time = 2026-05-07T23:46:43Z, size = 472159, hashes = { sha256 = "dc4e3007bcd137cbe608042d067cedb889a9b8671db3d08c8e237f1ac3e324b4" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/15/2f/9be635fe4dfb2fe65d200c33695f5a96ef98a2921f06ff6d465384b0e551/policyengine_core-3.26.1-py3-none-any.whl", upload-time = 2026-05-07T23:46:41Z, size = 232190, hashes = { sha256 = "185374b3c1fe13dc951637c49a9853211ca61a8a9971eb9cc4c4b07b1477240a" } }] + +[[packages]] +name = "policyengine-uk" +version = "2.88.14" +sdist = { url = "https://files.pythonhosted.org/packages/8c/2b/ab82aa30c5d27176fd9d449ff5ed9708d0080b00912f7dc2efa0af0fd87e/policyengine_uk-2.88.14.tar.gz", upload-time = 2026-05-09T04:19:25Z, size = 1185947, hashes = { sha256 = "21a4387ae52dcb5430b6d790edcc321816ed47147a3a0e21ffd482a36834d352" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/a3/fc/276fb639a46bda35523329d8968bcc4089fde9e97fab82722c0ec853c6cc/policyengine_uk-2.88.14-py3-none-any.whl", upload-time = 2026-05-09T04:19:23Z, size = 1913671, hashes = { sha256 = "ed10005ba7d0c973c0966ebbf7672853fb3caaa0456b8bf485fb13f8c323d975" } }] + +[[packages]] +name = "policyengine-us" +version = "1.690.7" +sdist = { url = "https://files.pythonhosted.org/packages/81/df/60548e64a5ccf5f961a45608c2c6744833daf756c1c82d1e59e5bca14850/policyengine_us-1.690.7.tar.gz", upload-time = 2026-05-10T22:27:01Z, size = 9479020, hashes = { sha256 = "3dbb1f54824902fcd6ae64d5879f36ce6b2372a42321c838c20c430fd1507a2e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/2a/02/52109bae5f4767237b43bd72ce0bc4edf7925650a788053b2bc168caa5ae/policyengine_us-1.690.7-py3-none-any.whl", upload-time = 2026-05-10T22:26:58Z, size = 9985671, hashes = { sha256 = "5a7a541efabac98fa069d6845902cf5924c81db67383234b55dcd2b8bfcfc3ca" } }] + +[[packages]] +name = "prompt-toolkit" +version = "3.0.52" +sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", upload-time = 2025-08-27T15:24:02Z, size = 434198, hashes = { sha256 = "28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", upload-time = 2025-08-27T15:23:59Z, size = 391431, hashes = { sha256 = "9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955" } }] + +[[packages]] +name = "psutil" +version = "6.1.1" +sdist = { url = "https://files.pythonhosted.org/packages/1f/5a/07871137bb752428aa4b659f910b399ba6f291156bdea939be3e96cae7cb/psutil-6.1.1.tar.gz", upload-time = 2024-12-19T18:21:20Z, size = 508502, hashes = { sha256 = "cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/9c/39/0f88a830a1c8a3aba27fededc642da37613c57cbff143412e3536f89784f/psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", upload-time = 2024-12-19T18:21:55Z, size = 287477, hashes = { sha256 = "97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160" } }] + +[[packages]] +name = "ptyprocess" +version = "0.7.0" +marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", upload-time = 2020-12-28T15:15:30Z, size = 70762, hashes = { sha256 = "5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", upload-time = 2020-12-28T15:15:28Z, size = 13993, hashes = { sha256 = "4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35" } }] + +[[packages]] +name = "pure-eval" +version = "0.2.3" +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", upload-time = 2024-07-21T12:58:21Z, size = 19752, hashes = { sha256 = "5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", upload-time = 2024-07-21T12:58:20Z, size = 11842, hashes = { sha256 = "1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0" } }] + +[[packages]] +name = "py-cpuinfo" +version = "9.0.0" +sdist = { url = "https://files.pythonhosted.org/packages/37/a8/d832f7293ebb21690860d2e01d8115e5ff6f2ae8bbdc953f0eb0fa4bd2c7/py-cpuinfo-9.0.0.tar.gz", upload-time = 2022-10-25T20:38:06Z, size = 104716, hashes = { sha256 = "3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl", upload-time = 2022-10-25T20:38:27Z, size = 22335, hashes = { sha256 = "859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5" } }] + +[[packages]] +name = "pydantic" +version = "2.13.4" +sdist = { url = "https://files.pythonhosted.org/packages/18/a5/b60d21ac674192f8ab0ba4e9fd860690f9b4a6e51ca5df118733b487d8d6/pydantic-2.13.4.tar.gz", upload-time = 2026-05-06T13:43:05Z, size = 844775, hashes = { sha256 = "c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl", upload-time = 2026-05-06T13:43:02Z, size = 472262, hashes = { sha256 = "45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba" } }] + +[[packages]] +name = "pydantic-core" +version = "2.46.4" +sdist = { url = "https://files.pythonhosted.org/packages/9d/56/921726b776ace8d8f5db44c4ef961006580d91dc52b803c489fafd1aa249/pydantic_core-2.46.4.tar.gz", upload-time = 2026-05-06T13:37:06Z, size = 471464, hashes = { sha256 = "62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/07/f8/41db9de19d7987d6b04715a02b3b40aea467000275d9d758ffaa31af7d50/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", upload-time = 2026-05-06T13:39:18Z, size = 2094467, hashes = { sha256 = "9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a" } }] + +[[packages]] +name = "pygments" +version = "2.20.0" +sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", upload-time = 2026-03-29T13:29:33Z, size = 4955991, hashes = { sha256 = "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", upload-time = 2026-03-29T13:29:30Z, size = 1231151, hashes = { sha256 = "81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176" } }] + +[[packages]] +name = "pytest" +version = "8.4.2" +sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", upload-time = 2025-09-04T14:34:22Z, size = 1519618, hashes = { sha256 = "86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", upload-time = 2025-09-04T14:34:20Z, size = 365750, hashes = { sha256 = "872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79" } }] + +[[packages]] +name = "python-dateutil" +version = "2.9.0.post0" +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", upload-time = 2024-03-01T18:36:20Z, size = 342432, hashes = { sha256 = "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", upload-time = 2024-03-01T18:36:18Z, size = 229892, hashes = { sha256 = "a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" } }] + +[[packages]] +name = "pyvis" +version = "0.3.2" +wheels = [{ url = "https://files.pythonhosted.org/packages/ab/4b/e37e4e5d5ee1179694917b445768bdbfb084f5a59ecd38089d3413d4c70f/pyvis-0.3.2-py3-none-any.whl", upload-time = 2023-02-24T20:29:46Z, size = 756038, hashes = { sha256 = "5720c4ca8161dc5d9ab352015723abb7a8bb8fb443edeb07f7a322db34a97555" } }] + +[[packages]] +name = "pyyaml" +version = "6.0.3" +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", upload-time = 2025-09-25T21:33:16Z, size = 130960, hashes = { sha256 = "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-09-25T21:32:28Z, size = 801626, hashes = { sha256 = "0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6" } }] + +[[packages]] +name = "referencing" +version = "0.37.0" +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", upload-time = 2025-10-13T15:30:48Z, size = 78036, hashes = { sha256 = "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", upload-time = 2025-10-13T15:30:47Z, size = 26766, hashes = { sha256 = "381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231" } }] + +[[packages]] +name = "requests" +version = "2.34.0" +sdist = { url = "https://files.pythonhosted.org/packages/43/b8/7a707d60fea4c49094e40262cc0e2ca6c768cca21587e34d3f705afec47e/requests-2.34.0.tar.gz", upload-time = 2026-05-11T19:29:51Z, size = 142436, hashes = { sha256 = "7d62fe92f50eb82c529b0916bb445afa1531a566fc8f35ffdc64446e771b856a" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/ef/e6/e300fce5fe83c30520607a015dabd985df3251e188d234bfe9492e17a389/requests-2.34.0-py3-none-any.whl", upload-time = 2026-05-11T19:29:49Z, size = 73021, hashes = { sha256 = "917520a21b767485ce7c588f4ebb917c436b24a31231b44228715eaeb5a52c60" } }] + +[[packages]] +name = "rich" +version = "15.0.0" +sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", upload-time = 2026-04-12T08:24:00Z, size = 230680, hashes = { sha256 = "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", upload-time = 2026-04-12T08:24:02Z, size = 310654, hashes = { sha256 = "33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb" } }] + +[[packages]] +name = "rpds-py" +version = "0.30.0" +sdist = { url = "https://files.pythonhosted.org/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz", upload-time = 2025-11-30T20:24:38Z, size = 69469, hashes = { sha256 = "dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b7/de/f7192e12b21b9e9a68a6d0f249b4af3fdcdff8418be0767a627564afa1f1/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", upload-time = 2025-11-30T20:22:50Z, size = 394025, hashes = { sha256 = "9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6" } }] + +[[packages]] +name = "shellingham" +version = "1.5.4" +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", upload-time = 2023-10-24T04:13:40Z, size = 10310, hashes = { sha256 = "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", upload-time = 2023-10-24T04:13:38Z, size = 9755, hashes = { sha256 = "7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686" } }] + +[[packages]] +name = "six" +version = "1.17.0" +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", upload-time = 2024-12-04T17:35:28Z, size = 34031, hashes = { sha256 = "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", upload-time = 2024-12-04T17:35:26Z, size = 11050, hashes = { sha256 = "4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274" } }] + +[[packages]] +name = "sortedcontainers" +version = "2.4.0" +sdist = { url = "https://files.pythonhosted.org/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111/sortedcontainers-2.4.0.tar.gz", upload-time = 2021-05-16T22:03:42Z, size = 30594, hashes = { sha256 = "25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", upload-time = 2021-05-16T22:03:41Z, size = 29575, hashes = { sha256 = "a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0" } }] + +[[packages]] +name = "spm-calculator" +version = "0.3.1" +sdist = { url = "https://files.pythonhosted.org/packages/54/3b/b805c7e3e18c5b5c00f61b60112f9690d084c910e2481bc020f35390d8fd/spm_calculator-0.3.1.tar.gz", upload-time = 2026-04-17T19:52:39Z, size = 75945, hashes = { sha256 = "41f2f4d00d8c03422a7d57b800052e7760b88e463a5884802f83ed58d35c18c1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/8e/1b/29f705f8a96fc7f55f2c07dfcddbbae78efdc6f174d25d4a0560fc3f5cf9/spm_calculator-0.3.1-py3-none-any.whl", upload-time = 2026-04-17T19:52:38Z, size = 57826, hashes = { sha256 = "52c57ecc5a240ec941b0f2b0d93bc4fa437ef6250e233baed8e11916fa9c1150" } }] + +[[packages]] +name = "stack-data" +version = "0.6.3" +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", upload-time = 2023-09-30T13:58:05Z, size = 44707, hashes = { sha256 = "836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", upload-time = 2023-09-30T13:58:03Z, size = 24521, hashes = { sha256 = "d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695" } }] + +[[packages]] +name = "standard-imghdr" +version = "3.13.0" +sdist = { url = "https://files.pythonhosted.org/packages/1a/8d/ab2620fbe2e348483c9cb776c3b7b3cc407899291a041d7fa026469b7cd1/standard_imghdr-3.13.0.tar.gz", upload-time = 2024-10-30T16:01:36Z, size = 5511, hashes = { sha256 = "8d9c68058d882f6fc3542a8d39ef9ff94d2187dc90bd0c851e0902776b7b7a42" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/df/cb/e1da7e340586a078404c7e4328bfefc930867ace8a9a55916fd220cf9547/standard_imghdr-3.13.0-py3-none-any.whl", upload-time = 2024-10-30T16:01:13Z, size = 4639, hashes = { sha256 = "30a1bff5465605bb496f842a6ac3cc1f2131bf3025b0da28d4877d6d4b7cc8e9" } }] + +[[packages]] +name = "tables" +version = "3.11.1" +sdist = { url = "https://files.pythonhosted.org/packages/cc/a3/d213ebe7376d48055bd55a29cd9f99061afa0dcece608f94a5025d797b0a/tables-3.11.1.tar.gz", upload-time = 2026-03-01T11:43:36Z, size = 4790533, hashes = { sha256 = "78abcf413091bc7c1e4e8c10fbbb438d1ac0b5a87436c5b972c3e8253871b6fb" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/99/29/c2dc674ea70fa9a4819417289a9c0d3e4780835beeed573eb66964cfb763/tables-3.11.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2026-03-01T11:43:03Z, size = 7241357, hashes = { sha256 = "1e78fe190fdeb4afe430b79651bae2a4f341904eb85aa8dbafe5f1caee1c7f67" } }] + +[[packages]] +name = "tenacity" +version = "9.1.4" +sdist = { url = "https://files.pythonhosted.org/packages/47/c6/ee486fd809e357697ee8a44d3d69222b344920433d3b6666ccd9b374630c/tenacity-9.1.4.tar.gz", upload-time = 2026-02-07T10:45:33Z, size = 49413, hashes = { sha256 = "adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/d7/c1/eb8f9debc45d3b7918a32ab756658a0904732f75e555402972246b0b8e71/tenacity-9.1.4-py3-none-any.whl", upload-time = 2026-02-07T10:45:32Z, size = 28926, hashes = { sha256 = "6095a360c919085f28c6527de529e76a06ad89b23659fa881ae0649b867a9d55" } }] + +[[packages]] +name = "threadpoolctl" +version = "3.6.0" +marker = "platform_machine != 'wasm32'" +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", upload-time = 2025-03-13T13:49:23Z, size = 21274, hashes = { sha256 = "8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", upload-time = 2025-03-13T13:49:21Z, size = 18638, hashes = { sha256 = "43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb" } }] + +[[packages]] +name = "tqdm" +version = "4.67.3" +sdist = { url = "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz", upload-time = 2026-02-03T17:35:53Z, size = 169598, hashes = { sha256 = "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl", upload-time = 2026-02-03T17:35:50Z, size = 78374, hashes = { sha256 = "ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf" } }] + +[[packages]] +name = "traitlets" +version = "5.15.0" +sdist = { url = "https://files.pythonhosted.org/packages/1b/22/40f55b26baeab80c2d7b3f1db0682f8954e4617fee7d90ce634022ef05c6/traitlets-5.15.0.tar.gz", upload-time = 2026-05-06T08:05:58Z, size = 163197, hashes = { sha256 = "4fead733f81cf1c4c938e06f8ca4633896833c9d89eff878159457f4d4392971" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/da/98/a9937a969d018a23badfea0b381f66783649d48e0ea6c41923265c3cbeb3/traitlets-5.15.0-py3-none-any.whl", upload-time = 2026-05-06T08:05:55Z, size = 85877, hashes = { sha256 = "fb36a18867a6803deab09f3c5e0fa81bb7b26a5c9e82501c9933f759166eff40" } }] + +[[packages]] +name = "typer" +version = "0.25.1" +sdist = { url = "https://files.pythonhosted.org/packages/e4/51/9aed62104cea109b820bbd6c14245af756112017d309da813ef107d42e7e/typer-0.25.1.tar.gz", upload-time = 2026-04-30T19:32:16Z, size = 122276, hashes = { sha256 = "9616eb8853a09ffeabab1698952f33c6f29ffdbceb4eaeecf571880e8d7664cc" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/3f/f9/2b3ff4e56e5fa7debfaf9eb135d0da96f3e9a1d5b27222223c7296336e5f/typer-0.25.1-py3-none-any.whl", upload-time = 2026-04-30T19:32:18Z, size = 58409, hashes = { sha256 = "75caa44ed46a03fb2dab8808753ffacdbfea88495e74c85a28c5eefcf5f39c89" } }] + +[[packages]] +name = "typing-extensions" +version = "4.15.0" +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", upload-time = 2025-08-25T13:49:26Z, size = 109391, hashes = { sha256 = "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", upload-time = 2025-08-25T13:49:24Z, size = 44614, hashes = { sha256 = "f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548" } }] + +[[packages]] +name = "typing-inspection" +version = "0.4.2" +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", upload-time = 2025-10-01T02:14:41Z, size = 75949, hashes = { sha256 = "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", upload-time = 2025-10-01T02:14:40Z, size = 14611, hashes = { sha256 = "4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7" } }] + +[[packages]] +name = "urllib3" +version = "2.7.0" +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", upload-time = 2026-05-07T16:13:18Z, size = 433602, hashes = { sha256 = "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", upload-time = 2026-05-07T16:13:17Z, size = 131087, hashes = { sha256 = "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" } }] + +[[packages]] +name = "us" +version = "3.2.0" +sdist = { url = "https://files.pythonhosted.org/packages/35/12/06f87be706ccc5794569d14f903c2f755aa98e1a9d53e4e7e17d9986e9d1/us-3.2.0.tar.gz", upload-time = 2024-07-22T01:09:42Z, size = 16046, hashes = { sha256 = "cb223e85393dcc5171ead0dd212badc47f9667b23700fea3e7ea5f310d545338" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/65/a8/1791660a87f03d10a3bce00401a66035999c91f5a9a6987569b84df5719d/us-3.2.0-py3-none-any.whl", upload-time = 2024-07-22T01:09:41Z, size = 13775, hashes = { sha256 = "571714ad6d473c72bbd2058a53404cdf4ecc0129e4f19adfcbeb4e2d7e3dc3e7" } }] + +[[packages]] +name = "wcwidth" +version = "0.7.0" +sdist = { url = "https://files.pythonhosted.org/packages/2c/ee/afaf0f85a9a18fe47a67f1e4422ed6cf1fe642f0ae0a2f81166231303c52/wcwidth-0.7.0.tar.gz", upload-time = 2026-05-02T16:04:12Z, size = 182132, hashes = { sha256 = "90e3a7ea092341c44b99562e75d09e4d5160fe7a3974c6fb842a101a95e7eed0" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/41/52/e465037f5375f43533d1a80b6923955201596a99142ed524d77b571a1418/wcwidth-0.7.0-py3-none-any.whl", upload-time = 2026-05-02T16:04:11Z, size = 110825, hashes = { sha256 = "5d69154c429a82910e241c738cd0e2976fac8a2dd47a1a805f4afed1c0f136f2" } }] + +[[packages]] +name = "wheel" +version = "0.47.0" +sdist = { url = "https://files.pythonhosted.org/packages/39/62/75f18a0f03b4219c456652c7780e4d749b929eb605c098ce3a5b6b6bc081/wheel-0.47.0.tar.gz", upload-time = 2026-04-22T15:51:27Z, size = 63854, hashes = { sha256 = "cc72bd1009ba0cf63922e28f94d9d83b920aa2bb28f798a31d0691b02fa3c9b3" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/87/1b/9e33c09813d65e248f7f773119148a612516a4bea93e9c6f545f78455b7c/wheel-0.47.0-py3-none-any.whl", upload-time = 2026-04-22T15:51:26Z, size = 32218, hashes = { sha256 = "212281cab4dff978f6cedd499cd893e1f620791ca6ff7107cf270781e587eced" } }] diff --git a/src/policyengine/data/install/uk/py313/constraints.txt b/src/policyengine/data/install/uk/py313/constraints.txt new file mode 100644 index 00000000..38c57a5c --- /dev/null +++ b/src/policyengine/data/install/uk/py313/constraints.txt @@ -0,0 +1,1304 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmprdlhdfl4/requirements.in --python-version 3.13 --python-platform x86_64-manylinux_2_28 --format requirements.txt --generate-hashes --output-file bundles/4.4.3/install/uk/py313/constraints.txt +annotated-doc==0.0.4 \ + --hash=sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320 \ + --hash=sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4 + # via typer +annotated-types==0.7.0 \ + --hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 \ + --hash=sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89 + # via pydantic +anyio==4.13.0 \ + --hash=sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708 \ + --hash=sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc + # via httpx +asttokens==3.0.1 \ + --hash=sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a \ + --hash=sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7 + # via stack-data +attrs==26.1.0 \ + --hash=sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309 \ + --hash=sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32 + # via + # jsonschema + # referencing +blosc2==4.2.0 \ + --hash=sha256:0f6444e125142876f8ce02f1ec8a13499f436a01e7ffdffd080d7156fd5fa079 \ + --hash=sha256:1a77412d3229a7ec4ce8e353604e563400cc57346d6e8ba578453a6134bf2190 \ + --hash=sha256:1e2f0767c68c4e5dea1543c7c138421264db494a6bbeb6ab81f101bcb6382ff4 \ + --hash=sha256:2423b70dc17b048382f8a9a17085842a7c3c2f9bb14d3be2f8a7cbb378ef4ad9 \ + --hash=sha256:291f689635c9ebc30a6b13fdc0f2069ab7a245fa27dabe8fa14b6d35c3f096cf \ + --hash=sha256:3b72e9bbce0459ec695e25bb1fba8fa05ba9af4fed71c220d20376df99cf32fa \ + --hash=sha256:44a2070a6efa990986a26a4f9a2d8a2fa9ee9ec705617d38750bcb019c53d632 \ + --hash=sha256:4f7b006333891d3594660abb7820be0497c0baab3538742562caa78e03e5312c \ + --hash=sha256:59f4de7f9e8a587e5c6e6ae54ba74f4d78a47a1cc3f097d03105274b36720da6 \ + --hash=sha256:5b16df388e1884e458955de64db6ce6db438154fb3fe9089180ef9863ceb79bf \ + --hash=sha256:6ff429d2364f423229e82037adb1efe91a5f3dc767f0817cbc635adf84b83e20 \ + --hash=sha256:7888ac409a479da50d7e02eeb1bcbf1e45213af362eff1b938d584cf66c2f39b \ + --hash=sha256:87c3a108c8ce311eb00a7c3d32d4d0ab023599a2d23fc07c998debe2dad00f8e \ + --hash=sha256:89227492844ec7b487e7182314ac75997d5f864be2025cf6879f355fdb669532 \ + --hash=sha256:8ff3c6b2cf7d3e6a3481f7e1a6eef283af3e2b65f53401b1ebc63eea14b0b758 \ + --hash=sha256:976abf343866c97de637adb452153dfbe63c2b69a2a4999dc494ebc22585a567 \ + --hash=sha256:9c5c0ae30c831a90a9d1973cecbeab99a7de2df4f172ac8020d2d60d1c2c5ae2 \ + --hash=sha256:9cadf2708888e586027178be9e17215ae6f20fb5829596e9771751aa453e7a0e \ + --hash=sha256:9eb69182c51cda1b402aaf78ce908759f7a277420ce3fad9981ff560544e50b3 \ + --hash=sha256:a07e0d16aab433e10d173b553fabb7b8cf64e5dd826eaae548d2e9a9ac5f2f69 \ + --hash=sha256:a269a8b265caed0093f3ee99eff8c8691da407764f5ee5b1bd0c12044fcb6c51 \ + --hash=sha256:ad857c3dddaf5486a49b59f4f351079bfc8f50786d033638bf722e4fa7595249 \ + --hash=sha256:afc041c5de1d66fb731c45bd5bcf84356da3f17b4acdec5a8448236c6d48f845 \ + --hash=sha256:b8d907efa30a2ca4895dd37fa0b527ee88be17df1981f98194f867d97ff07429 \ + --hash=sha256:bb67066f1a64d7929f271836994e5fb0383ae8b8f03d673650a94dafd7eaa349 \ + --hash=sha256:bb82cc1d528bac82c0b5c2009377f5be6528405d2737fd151ffce4dc6fe0a96b \ + --hash=sha256:bbefc417322a59443d844b4d03e66b228694ec6bfd1de8bbd832c4aa0eaebe64 \ + --hash=sha256:d28efb0b13c1f22db4a799d22ab02b0024fd4ecd1cc47dbe756d88e08079867a \ + --hash=sha256:e997adbf086a4b98f732504952193afa817c41a7c70d26bce71fdd397542c664 \ + --hash=sha256:f48ea67ccd751999e9bb3c4e10853d422167b9619af701b1fdb08cc27584db96 \ + --hash=sha256:fa448c419a8227321cab735aece33fca1afac1447cd140a3db81a6b2bed560fa + # via tables +certifi==2026.4.22 \ + --hash=sha256:3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a \ + --hash=sha256:8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580 + # via + # httpcore + # httpx + # requests +charset-normalizer==3.4.7 \ + --hash=sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc \ + --hash=sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c \ + --hash=sha256:07d9e39b01743c3717745f4c530a6349eadbfa043c7577eef86c502c15df2c67 \ + --hash=sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4 \ + --hash=sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0 \ + --hash=sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c \ + --hash=sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5 \ + --hash=sha256:12a6fff75f6bc66711b73a2f0addfc4c8c15a20e805146a02d147a318962c444 \ + --hash=sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153 \ + --hash=sha256:14265bfe1f09498b9d8ec91e9ec9fa52775edf90fcbde092b25f4a33d444fea9 \ + --hash=sha256:16d971e29578a5e97d7117866d15889a4a07befe0e87e703ed63cd90cb348c01 \ + --hash=sha256:177a0ba5f0211d488e295aaf82707237e331c24788d8d76c96c5a41594723217 \ + --hash=sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b \ + --hash=sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c \ + --hash=sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a \ + --hash=sha256:1dc8b0ea451d6e69735094606991f32867807881400f808a106ee1d963c46a83 \ + --hash=sha256:1efde3cae86c8c273f1eb3b287be7d8499420cf2fe7585c41d370d3e790054a5 \ + --hash=sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7 \ + --hash=sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb \ + --hash=sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c \ + --hash=sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1 \ + --hash=sha256:2cd4a60d0e2fb04537162c62bbbb4182f53541fe0ede35cdf270a1c1e723cc42 \ + --hash=sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab \ + --hash=sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df \ + --hash=sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e \ + --hash=sha256:320ade88cfb846b8cd6b4ddf5ee9e80ee0c1f52401f2456b84ae1ae6a1a5f207 \ + --hash=sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18 \ + --hash=sha256:36836d6ff945a00b88ba1e4572d721e60b5b8c98c155d465f56ad19d68f23734 \ + --hash=sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38 \ + --hash=sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110 \ + --hash=sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18 \ + --hash=sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44 \ + --hash=sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d \ + --hash=sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48 \ + --hash=sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e \ + --hash=sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5 \ + --hash=sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d \ + --hash=sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53 \ + --hash=sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790 \ + --hash=sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c \ + --hash=sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b \ + --hash=sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116 \ + --hash=sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d \ + --hash=sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10 \ + --hash=sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6 \ + --hash=sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2 \ + --hash=sha256:6370e8686f662e6a3941ee48ed4742317cafbe5707e36406e9df792cdb535776 \ + --hash=sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a \ + --hash=sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265 \ + --hash=sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008 \ + --hash=sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943 \ + --hash=sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374 \ + --hash=sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246 \ + --hash=sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e \ + --hash=sha256:6e0d51f618228538a3e8f46bd246f87a6cd030565e015803691603f55e12afb5 \ + --hash=sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616 \ + --hash=sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15 \ + --hash=sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41 \ + --hash=sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960 \ + --hash=sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752 \ + --hash=sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e \ + --hash=sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72 \ + --hash=sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7 \ + --hash=sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8 \ + --hash=sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b \ + --hash=sha256:813c0e0132266c08eb87469a642cb30aaff57c5f426255419572aaeceeaa7bf4 \ + --hash=sha256:82b271f5137d07749f7bf32f70b17ab6eaabedd297e75dce75081a24f76eb545 \ + --hash=sha256:84c018e49c3bf790f9c2771c45e9313a08c2c2a6342b162cd650258b57817706 \ + --hash=sha256:8751d2787c9131302398b11e6c8068053dcb55d5a8964e114b6e196cf16cb366 \ + --hash=sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb \ + --hash=sha256:87fad7d9ba98c86bcb41b2dc8dbb326619be2562af1f8ff50776a39e55721c5a \ + --hash=sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e \ + --hash=sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00 \ + --hash=sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f \ + --hash=sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a \ + --hash=sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1 \ + --hash=sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66 \ + --hash=sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356 \ + --hash=sha256:a6c5863edfbe888d9eff9c8b8087354e27618d9da76425c119293f11712a6319 \ + --hash=sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4 \ + --hash=sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad \ + --hash=sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d \ + --hash=sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5 \ + --hash=sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7 \ + --hash=sha256:aef65cd602a6d0e0ff6f9930fcb1c8fec60dd2cfcb6facaf4bdb0e5873042db0 \ + --hash=sha256:af21eb4409a119e365397b2adbaca4c9ccab56543a65d5dbd9f920d6ac29f686 \ + --hash=sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34 \ + --hash=sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49 \ + --hash=sha256:bb8cc7534f51d9a017b93e3e85b260924f909601c3df002bcdb58ddb4dc41a5c \ + --hash=sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1 \ + --hash=sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e \ + --hash=sha256:bd9b23791fe793e4968dba0c447e12f78e425c59fc0e3b97f6450f4781f3ee60 \ + --hash=sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0 \ + --hash=sha256:c0f081d69a6e58272819b70288d3221a6ee64b98df852631c80f293514d3b274 \ + --hash=sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d \ + --hash=sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0 \ + --hash=sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae \ + --hash=sha256:c593052c465475e64bbfe5dbd81680f64a67fdc752c56d7a0ae205dc8aeefe0f \ + --hash=sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d \ + --hash=sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe \ + --hash=sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3 \ + --hash=sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393 \ + --hash=sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1 \ + --hash=sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af \ + --hash=sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44 \ + --hash=sha256:d61f00a0869d77422d9b2aba989e2d24afa6ffd552af442e0e58de4f35ea6d00 \ + --hash=sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c \ + --hash=sha256:dca4bbc466a95ba9c0234ef56d7dd9509f63da22274589ebd4ed7f1f4d4c54e3 \ + --hash=sha256:dd915403e231e6b1809fe9b6d9fc55cf8fb5e02765ac625d9cd623342a7905d7 \ + --hash=sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd \ + --hash=sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e \ + --hash=sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b \ + --hash=sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8 \ + --hash=sha256:e5f4d355f0a2b1a31bc3edec6795b46324349c9cb25eed068049e4f472fb4259 \ + --hash=sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859 \ + --hash=sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46 \ + --hash=sha256:e80c8378d8f3d83cd3164da1ad2df9e37a666cdde7b1cb2298ed0b558064be30 \ + --hash=sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b \ + --hash=sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46 \ + --hash=sha256:ed065083d0898c9d5b4bbec7b026fd755ff7454e6e8b73a67f8c744b13986e24 \ + --hash=sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a \ + --hash=sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24 \ + --hash=sha256:f22dec1690b584cea26fade98b2435c132c1b5f68e39f5a0b7627cd7ae31f1dc \ + --hash=sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215 \ + --hash=sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063 \ + --hash=sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832 \ + --hash=sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6 \ + --hash=sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79 \ + --hash=sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464 + # via requests +click==8.3.3 \ + --hash=sha256:398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2 \ + --hash=sha256:a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613 + # via typer +decorator==5.2.1 \ + --hash=sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360 \ + --hash=sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a + # via ipython +dpath==2.2.0 \ + --hash=sha256:34f7e630dc55ea3f219e555726f5da4b4b25f2200319c8e6902c394258dd6a3e \ + --hash=sha256:b330a375ded0a0d2ed404440f6c6a715deae5313af40bbb01c8a41d891900576 + # via policyengine-core +executing==2.2.1 \ + --hash=sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4 \ + --hash=sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017 + # via stack-data +filelock==3.29.0 \ + --hash=sha256:69974355e960702e789734cb4871f884ea6fe50bd8404051a3530bc07809cf90 \ + --hash=sha256:96f5f6344709aa1572bbf631c640e4ebeeb519e08da902c39a001882f30ac258 + # via huggingface-hub +fsspec==2026.4.0 \ + --hash=sha256:11ef7bb35dab8a394fde6e608221d5cf3e8499401c249bebaeaad760a1a8dec2 \ + --hash=sha256:301d8ac70ae90ef3ad05dcf94d6c3754a097f9b5fe4667d2787aa359ec7df7e4 + # via huggingface-hub +h11==0.16.0 \ + --hash=sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1 \ + --hash=sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86 + # via httpcore +h5py==3.16.0 \ + --hash=sha256:099f2525c9dcf28de366970a5fb34879aab20491589fa89ce2863a84218bb524 \ + --hash=sha256:0f456f556e4e2cebeebd9d66adf8dc321770a42593494a0b6f0af54a7567b242 \ + --hash=sha256:15922e485844f77c0b9d275396d435db3baa58292a9c2176a386e072e0cf2491 \ + --hash=sha256:1677ad48b703f44efc9ea0c3ab284527f81bc4f318386aaaebc5fede6bbae56f \ + --hash=sha256:171038f23bccddfc23f344cadabdfc9917ff554db6a0d417180d2747fe4c75a7 \ + --hash=sha256:17d1f1630f92ad74494a9a7392ab25982ce2b469fc62da6074c0ce48366a2999 \ + --hash=sha256:1897a771a7f40d05c262fc8f37376ec37873218544b70216872876c627640f63 \ + --hash=sha256:18f2bbcd545e6991412253b98727374c356d67caa920e68dc79eab36bf5fedad \ + --hash=sha256:2b2c02b0a160faed5fb33f1ba8a264a37ee240b22e049ecc827345d0d9043074 \ + --hash=sha256:314b6054fe0b1051c2b0cb2df5cbdab15622fb05e80f202e3b6a5eee0d6fe365 \ + --hash=sha256:346df559a0f7dcb31cf8e44805319e2ab24b8957c45e7708ce503b2ec79ba725 \ + --hash=sha256:370a845f432c2c9619db8eed334d1e610c6015796122b0e57aa46312c22617d9 \ + --hash=sha256:39c2838fb1e8d97bcf1755e60ad1f3dd76a7b2a475928dc321672752678b96db \ + --hash=sha256:3e6cb3387c756de6a9492d601553dffea3fe11b5f22b443aac708c69f3f55e16 \ + --hash=sha256:3fae9197390c325e62e0a1aa977f2f62d994aa87aab182abbea85479b791197c \ + --hash=sha256:42108e93326c50c2810025aade9eac9d6827524cdccc7d4b75a546e5ab308edb \ + --hash=sha256:42b012933a83e1a558c673176676a10ce2fd3759976a0fedee1e672d1e04fc9d \ + --hash=sha256:43259303989ac8adacc9986695b31e35dba6fd1e297ff9c6a04b7da5542139cc \ + --hash=sha256:4c6ab014ab704b4feaa719ae783b86522ed0bf1f82184704ed3c9e4e3228796e \ + --hash=sha256:656f00e4d903199a1d58df06b711cf3ca632b874b4207b7dbec86185b5c8c7d4 \ + --hash=sha256:698dd69291272642ffda44a0ecd6cd3bda5faf9621452d255f57ce91487b9794 \ + --hash=sha256:719439d14b83f74eeb080e9650a6c7aa6d0d9ea0ca7f804347b05fac6fbf18af \ + --hash=sha256:7c4dd4cf5f0a4e36083f73172f6cfc25a5710789269547f132a20975bfe2434c \ + --hash=sha256:7e420b539fb6023a259a1b14d4c9f6df8cf50d7268f48e161169987a57b737ff \ + --hash=sha256:8389e13a1fd745ad2856873e8187fd10268b2d9677877bb667b41aebd771d8b7 \ + --hash=sha256:85b9c49dd58dc44cf70af944784e2c2038b6f799665d0dcbbc812a26e0faa859 \ + --hash=sha256:86385ea895508220b8a7e45efa428aeafaa586bd737c7af9ee04661d8d84a10d \ + --hash=sha256:8975273c2c5921c25700193b408e28d6bdd0111c37468b2d4e25dcec4cd1d84d \ + --hash=sha256:8c1eff849cdd53cbc73c214c30ebdb6f1bb8b64790b4b4fc36acdb5e43570210 \ + --hash=sha256:9300ad32dea9dfc5171f94d5f6948e159ed93e4701280b0f508773b3f582f402 \ + --hash=sha256:96b422019a1c8975c2d5dadcf61d4ba6f01c31f92bbde6e4649607885fe502d6 \ + --hash=sha256:9c9d307c0ef862d1cd5714f72ecfafe0a5d7529c44845afa8de9f46e5ba8bd65 \ + --hash=sha256:a0dbaad796840ccaa67a4c144a0d0c8080073c34c76d5a6941d6818678ef2738 \ + --hash=sha256:a6fbc5367d4046801f9b7db9191b31895f22f1c6df1f9987d667854cac493538 \ + --hash=sha256:bdef06507725b455fccba9c16529121a5e1fbf56aa375f7d9713d9e8ff42454d \ + --hash=sha256:c3f0a0e136f2e95dd0b67146abb6668af4f1a69c81ef8651a2d316e8e01de447 \ + --hash=sha256:c5313566f4643121a78503a473f0fb1e6dcc541d5115c44f05e037609c565c4d \ + --hash=sha256:df02dd29bd247f98674634dfe41f89fd7c16ba3d7de8695ec958f58404a4e618 \ + --hash=sha256:dfc21898ff025f1e8e67e194965a95a8d4754f452f83454538f98f8a3fcb207e \ + --hash=sha256:e06f864bedb2c8e7c1358e6c73af48519e317457c444d6f3d332bb4e8fa6d7d9 \ + --hash=sha256:e2c04d129f180019e216ee5f9c40b78a418634091c8782e1f723a6ca3658b965 \ + --hash=sha256:e4360f15875a532bc7b98196c7592ed4fc92672a57c0a621355961cafb17a6dd \ + --hash=sha256:ec86d4fffd87a0f4cb3d5796ceb5a50123a2a6d99b43e616e5504e66a953eca3 \ + --hash=sha256:fa48993a0b799737ba7fd21e2350fa0a60701e58180fae9f2de834bc39a147ab \ + --hash=sha256:faca8fb4e4319c09d83337adc80b2ca7d5c5a343c2d6f1b6388f32cfecca13c1 \ + --hash=sha256:fb1720028d99040792bb2fb31facb8da44a6f29df7697e0b84f0d79aff2e9bd3 \ + --hash=sha256:ff24039e2573297787c3063df64b60aab0591980ac898329a08b0320e0cf2527 \ + --hash=sha256:ffbab2fedd6581f6aa31cf1639ca2cb86e02779de525667892ebf4cc9fd26434 + # via policyengine-core +hf-xet==1.5.0 \ + --hash=sha256:1e60df5a42e9bed8628b6416af2cba4cba57ae9f02de226a06b020d98e1aab18 \ + --hash=sha256:2806c7c17b4d23f8d88f7c4814f838c3b6150773fe339c20af23e1cfaf2797e4 \ + --hash=sha256:2baea1b0b989e5c152fe81425f7745ddc8901280ba3d97c98d8cdece7b706c60 \ + --hash=sha256:3531b1823a0e6d77d80f9ed15ca0e00f0d115094f8ac033d5cae88f4564cc949 \ + --hash=sha256:4b35549ce62601b84da4ff9b24d970032ace3d4430f52d91bcbb26c901d6c690 \ + --hash=sha256:526345b3ed45f374f6317349df489167606736c876241ba984105afe7fd4839d \ + --hash=sha256:5906bf7718d3636dc13402914736abe723492cb730f744834f5f5b67d3a12702 \ + --hash=sha256:5f3dc2248fc01cc0a00cd392ab497f1ca373fcbc7e3f2da1f452480b384e839e \ + --hash=sha256:73a0dae8c71de3b0633a45c73f4a4a5ed09e94b43441d82981a781d4f12baa42 \ + --hash=sha256:786d28e2eb8315d5035544b9d137b4a842d600c434bb91bf7d0d953cce906ad4 \ + --hash=sha256:7d70fe2ce97b9db73b9c9b9c81fe3693640aec83416a966c446afea54acfae3c \ + --hash=sha256:872d5601e6deea30d15865ede55d29eac6daf5a534ab417b99b6ef6b076dd96c \ + --hash=sha256:8dbcbab554c9ef158ef2c991545c3e970ddd8cc7acdcd0a78c5a41095dab4ded \ + --hash=sha256:9929561f5abf4581c8ea79587881dfef6b8abb2a0d8a51915936fc2a614f4e73 \ + --hash=sha256:9a0ee58cd18d5ea799f7ed11290bbccbe56bdd8b1d97ca74b9cc49a3945d7a3b \ + --hash=sha256:a60290ec57e9b71767fba7c3645ddafdd0759974b540441510c629c6db6db24a \ + --hash=sha256:b285cea1b5bab46b758772716ba8d6854a1a0310fed1c249d678a8b38601e5a0 \ + --hash=sha256:b6c9df403040248c76d808d3e047d64db2d923bae593eb244c41e425cf6cd7be \ + --hash=sha256:c799d49f1a5544a0ef7591c0ee75e0d6b93d6f56dc7a4979f59f7518d2872216 \ + --hash=sha256:cf7b2dc6f31a4ea754bb50f74cde482dcf5d366d184076d8530b9872787f3761 \ + --hash=sha256:dad0dc84e941b8ba3c860659fe1fdc35c049d47cce293f003287757e971a8f56 \ + --hash=sha256:e0fb0a34d9f406eed88233e829a67ec016bec5af19e480eac65a233ea289a948 \ + --hash=sha256:e5de0f6deada0dada870bb376a11bcd1f08abf3a968a6d118f33e72d1b1eb480 \ + --hash=sha256:f7b7bbae318e583a86fb21e5a4a175d6721d628a2874f4bd022d0e660c32a682 \ + --hash=sha256:fd6e5a9b0fdac4ed03ed45ef79254a655b1aaab514a02202617fbf643f5fdf7a + # via huggingface-hub +httpcore==1.0.9 \ + --hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \ + --hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8 + # via httpx +httpx==0.28.1 \ + --hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \ + --hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad + # via huggingface-hub +huggingface-hub==1.14.0 \ + --hash=sha256:d6d2c9cd6be1d02ae9ec6672d5587d10a427f377db688e82528f426a041622c2 \ + --hash=sha256:efe075535c62e130b30e836b138e13785f6f043d1f0539e0a39aa411a99e90b8 + # via policyengine-core +idna==3.14 \ + --hash=sha256:466d810d7a2cc1022bea9b037c39728d51ae7dad40d480fc9b7d7ecf98ba8ee3 \ + --hash=sha256:e677eaf072e290f7b725f9acf0b3a2bd55f9fd6f7c70abe5f0e34823d0accf69 + # via + # anyio + # httpx + # requests +iniconfig==2.3.0 \ + --hash=sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730 \ + --hash=sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12 + # via pytest +ipython==8.39.0 \ + --hash=sha256:4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624 \ + --hash=sha256:bb3c51c4fa8148ab1dea07a79584d1c854e234ea44aa1283bcb37bc75054651f + # via + # policyengine-core + # pyvis +jedi==0.20.0 \ + --hash=sha256:7bdd9c2634f56713299976f4cbd59cb3fa92165cc5e05ea811fb253480728b67 \ + --hash=sha256:c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011 + # via ipython +jinja2==3.1.6 \ + --hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \ + --hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67 + # via pyvis +jsonpickle==4.1.1 \ + --hash=sha256:bb141da6057898aa2438ff268362b126826c812a1721e31cf08a6e142910dc91 \ + --hash=sha256:f86e18f13e2b96c1c1eede0b7b90095bbb61d99fedc14813c44dc2f361dbbae1 + # via pyvis +jsonschema==4.26.0 \ + --hash=sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326 \ + --hash=sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce + # via policyengine +jsonschema-specifications==2025.9.1 \ + --hash=sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe \ + --hash=sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d + # via jsonschema +markdown-it-py==4.2.0 \ + --hash=sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49 \ + --hash=sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a + # via rich +markupsafe==3.0.3 \ + --hash=sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f \ + --hash=sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a \ + --hash=sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf \ + --hash=sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19 \ + --hash=sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf \ + --hash=sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c \ + --hash=sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175 \ + --hash=sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219 \ + --hash=sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb \ + --hash=sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6 \ + --hash=sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab \ + --hash=sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26 \ + --hash=sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1 \ + --hash=sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce \ + --hash=sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218 \ + --hash=sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634 \ + --hash=sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695 \ + --hash=sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad \ + --hash=sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73 \ + --hash=sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c \ + --hash=sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe \ + --hash=sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa \ + --hash=sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559 \ + --hash=sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa \ + --hash=sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37 \ + --hash=sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758 \ + --hash=sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f \ + --hash=sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8 \ + --hash=sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d \ + --hash=sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c \ + --hash=sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97 \ + --hash=sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a \ + --hash=sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19 \ + --hash=sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9 \ + --hash=sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9 \ + --hash=sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc \ + --hash=sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2 \ + --hash=sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4 \ + --hash=sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354 \ + --hash=sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50 \ + --hash=sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698 \ + --hash=sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9 \ + --hash=sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b \ + --hash=sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc \ + --hash=sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115 \ + --hash=sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e \ + --hash=sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485 \ + --hash=sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f \ + --hash=sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12 \ + --hash=sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025 \ + --hash=sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009 \ + --hash=sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d \ + --hash=sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b \ + --hash=sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a \ + --hash=sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5 \ + --hash=sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f \ + --hash=sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d \ + --hash=sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1 \ + --hash=sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287 \ + --hash=sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6 \ + --hash=sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f \ + --hash=sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581 \ + --hash=sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed \ + --hash=sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b \ + --hash=sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c \ + --hash=sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026 \ + --hash=sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8 \ + --hash=sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676 \ + --hash=sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6 \ + --hash=sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e \ + --hash=sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d \ + --hash=sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d \ + --hash=sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01 \ + --hash=sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7 \ + --hash=sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419 \ + --hash=sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795 \ + --hash=sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1 \ + --hash=sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5 \ + --hash=sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d \ + --hash=sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42 \ + --hash=sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe \ + --hash=sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda \ + --hash=sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e \ + --hash=sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737 \ + --hash=sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523 \ + --hash=sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591 \ + --hash=sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc \ + --hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \ + --hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50 + # via jinja2 +matplotlib-inline==0.2.2 \ + --hash=sha256:3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6 \ + --hash=sha256:72f3fe8fce36b70d4a5b612f899090cd0401deddc4ea90e1572b9f4bfb058c79 + # via ipython +mdurl==0.1.2 \ + --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \ + --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba + # via markdown-it-py +microdf-python==1.3.0 \ + --hash=sha256:e17757a198648108eae24f39384e27b5ae8061acf1b43fa56520010dc00a7b55 \ + --hash=sha256:f352fe32c25a4fd6d6188ef6aaca0214b53b29a8a7913aca6af0362dd9c922bd + # via + # policyengine + # policyengine-core + # policyengine-uk +msgpack==1.1.2 \ + --hash=sha256:0051fffef5a37ca2cd16978ae4f0aef92f164df86823871b5162812bebecd8e2 \ + --hash=sha256:04fb995247a6e83830b62f0b07bf36540c213f6eac8e851166d8d86d83cbd014 \ + --hash=sha256:180759d89a057eab503cf62eeec0aa61c4ea1200dee709f3a8e9397dbb3b6931 \ + --hash=sha256:1d1418482b1ee984625d88aa9585db570180c286d942da463533b238b98b812b \ + --hash=sha256:1de460f0403172cff81169a30b9a92b260cb809c4cb7e2fc79ae8d0510c78b6b \ + --hash=sha256:1fdf7d83102bf09e7ce3357de96c59b627395352a4024f6e2458501f158bf999 \ + --hash=sha256:1fff3d825d7859ac888b0fbda39a42d59193543920eda9d9bea44d958a878029 \ + --hash=sha256:283ae72fc89da59aa004ba147e8fc2f766647b1251500182fac0350d8af299c0 \ + --hash=sha256:2929af52106ca73fcb28576218476ffbb531a036c2adbcf54a3664de124303e9 \ + --hash=sha256:2e86a607e558d22985d856948c12a3fa7b42efad264dca8a3ebbcfa2735d786c \ + --hash=sha256:350ad5353a467d9e3b126d8d1b90fe05ad081e2e1cef5753f8c345217c37e7b8 \ + --hash=sha256:354e81bcdebaab427c3df4281187edc765d5d76bfb3a7c125af9da7a27e8458f \ + --hash=sha256:365c0bbe981a27d8932da71af63ef86acc59ed5c01ad929e09a0b88c6294e28a \ + --hash=sha256:372839311ccf6bdaf39b00b61288e0557916c3729529b301c52c2d88842add42 \ + --hash=sha256:3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e \ + --hash=sha256:41d1a5d875680166d3ac5c38573896453bbbea7092936d2e107214daf43b1d4f \ + --hash=sha256:42eefe2c3e2af97ed470eec850facbe1b5ad1d6eacdbadc42ec98e7dcf68b4b7 \ + --hash=sha256:446abdd8b94b55c800ac34b102dffd2f6aa0ce643c55dfc017ad89347db3dbdb \ + --hash=sha256:454e29e186285d2ebe65be34629fa0e8605202c60fbc7c4c650ccd41870896ef \ + --hash=sha256:4efd7b5979ccb539c221a4c4e16aac1a533efc97f3b759bb5a5ac9f6d10383bf \ + --hash=sha256:5559d03930d3aa0f3aacb4c42c776af1a2ace2611871c84a75afe436695e6245 \ + --hash=sha256:5928604de9b032bc17f5099496417f113c45bc6bc21b5c6920caf34b3c428794 \ + --hash=sha256:59415c6076b1e30e563eb732e23b994a61c159cec44deaf584e5cc1dd662f2af \ + --hash=sha256:5a46bf7e831d09470ad92dff02b8b1ac92175ca36b087f904a0519857c6be3ff \ + --hash=sha256:602b6740e95ffc55bfb078172d279de3773d7b7db1f703b2f1323566b878b90e \ + --hash=sha256:61c8aa3bd513d87c72ed0b37b53dd5c5a0f58f2ff9f26e1555d3bd7948fb7296 \ + --hash=sha256:67016ae8c8965124fdede9d3769528ad8284f14d635337ffa6a713a580f6c030 \ + --hash=sha256:6bde749afe671dc44893f8d08e83bf475a1a14570d67c4bb5cec5573463c8833 \ + --hash=sha256:6c15b7d74c939ebe620dd8e559384be806204d73b4f9356320632d783d1f7939 \ + --hash=sha256:70a0dff9d1f8da25179ffcf880e10cf1aad55fdb63cd59c9a49a1b82290062aa \ + --hash=sha256:70c5a7a9fea7f036b716191c29047374c10721c389c21e9ffafad04df8c52c90 \ + --hash=sha256:7bc8813f88417599564fafa59fd6f95be417179f76b40325b500b3c98409757c \ + --hash=sha256:80a0ff7d4abf5fecb995fcf235d4064b9a9a8a40a3ab80999e6ac1e30b702717 \ + --hash=sha256:86f8136dfa5c116365a8a651a7d7484b65b13339731dd6faebb9a0242151c406 \ + --hash=sha256:897c478140877e5307760b0ea66e0932738879e7aa68144d9b78ea4c8302a84a \ + --hash=sha256:8b696e83c9f1532b4af884045ba7f3aa741a63b2bc22617293a2c6a7c645f251 \ + --hash=sha256:8e22ab046fa7ede9e36eeb4cfad44d46450f37bb05d5ec482b02868f451c95e2 \ + --hash=sha256:94fd7dc7d8cb0a54432f296f2246bc39474e017204ca6f4ff345941d4ed285a7 \ + --hash=sha256:99e2cb7b9031568a2a5c73aa077180f93dd2e95b4f8d3b8e14a73ae94a9e667e \ + --hash=sha256:9ade919fac6a3e7260b7f64cea89df6bec59104987cbea34d34a2fa15d74310b \ + --hash=sha256:9fba231af7a933400238cb357ecccf8ab5d51535ea95d94fc35b7806218ff844 \ + --hash=sha256:a465f0dceb8e13a487e54c07d04ae3ba131c7c5b95e2612596eafde1dccf64a9 \ + --hash=sha256:a605409040f2da88676e9c9e5853b3449ba8011973616189ea5ee55ddbc5bc87 \ + --hash=sha256:a668204fa43e6d02f89dbe79a30b0d67238d9ec4c5bd8a940fc3a004a47b721b \ + --hash=sha256:a7787d353595c7c7e145e2331abf8b7ff1e6673a6b974ded96e6d4ec09f00c8c \ + --hash=sha256:a8f6e7d30253714751aa0b0c84ae28948e852ee7fb0524082e6716769124bc23 \ + --hash=sha256:ad09b984828d6b7bb52d1d1d0c9be68ad781fa004ca39216c8a1e63c0f34ba3c \ + --hash=sha256:bafca952dc13907bdfdedfc6a5f579bf4f292bdd506fadb38389afa3ac5b208e \ + --hash=sha256:be52a8fc79e45b0364210eef5234a7cf8d330836d0a64dfbb878efa903d84620 \ + --hash=sha256:be5980f3ee0e6bd44f3a9e9dea01054f175b50c3e6cdb692bc9424c0bbb8bf69 \ + --hash=sha256:c63eea553c69ab05b6747901b97d620bb2a690633c77f23feb0c6a947a8a7b8f \ + --hash=sha256:d198d275222dc54244bf3327eb8cbe00307d220241d9cec4d306d49a44e85f68 \ + --hash=sha256:d62ce1f483f355f61adb5433ebfd8868c5f078d1a52d042b0a998682b4fa8c27 \ + --hash=sha256:d99ef64f349d5ec3293688e91486c5fdb925ed03807f64d98d205d2713c60b46 \ + --hash=sha256:db6192777d943bdaaafb6ba66d44bf65aa0e9c5616fa1d2da9bb08828c6b39aa \ + --hash=sha256:e23ce8d5f7aa6ea6d2a2b326b4ba46c985dbb204523759984430db7114f8aa00 \ + --hash=sha256:e64c8d2f5e5d5fda7b842f55dec6133260ea8f53c4257d64494c534f306bf7a9 \ + --hash=sha256:e69b39f8c0aa5ec24b57737ebee40be647035158f14ed4b40e6f150077e21a84 \ + --hash=sha256:ea5405c46e690122a76531ab97a079e184c0daf491e588592d6a23d3e32af99e \ + --hash=sha256:f2cb069d8b981abc72b41aea1c580ce92d57c673ec61af4c500153a626cb9e20 \ + --hash=sha256:fac4be746328f90caa3cd4bc67e6fe36ca2bf61d5c6eb6d895b6527e3f05071e \ + --hash=sha256:fffee09044073e69f2bad787071aeec727183e7580443dfeb8556cbf1978d162 + # via blosc2 +ndindex==1.10.1 \ + --hash=sha256:03cf1e6cdac876bd8fc92d3b65bb223496b1581d10eab3ba113f7c195121a959 \ + --hash=sha256:046c1e88d46b2bd2fd3483e06d27b4e85132b55bc693f2fca2db0bb56eea1e78 \ + --hash=sha256:08bfdc1f7a0b408d15b3ce61d141ebbebdb47a25341967e425e104c5bd512a5c \ + --hash=sha256:092b92c07690292ec7c6b266c38d7e63d254ec8d913ed06f2a8e16103eb7861a \ + --hash=sha256:0ad8e060b26568c4e67c7b1dc2bc64e28597afdaabd7d63f98f655bfe2daa644 \ + --hash=sha256:0f6113c1f031248f8818cbee1aa92aa3c9472b7701debcce9fddebcd2f610f11 \ + --hash=sha256:157b5c34a1b779f5d27b790d9bd7e7b156d284e76be83c591a3ba003984f4956 \ + --hash=sha256:1827a40301405b44ad709e388c5b48cf35cd90a67f77e63f0f17d87f6000fa81 \ + --hash=sha256:1ae21b06235cb0884e97cf672780c170449baa0314085595cfe751705fa352de \ + --hash=sha256:23d35696f802548143b5cc199bf2f171efb0061aa7934959251dd3bae56d038c \ + --hash=sha256:27385939f317b55773ea53f6bf9334810cf1d66206034c0a6a6f2a88f2001c3c \ + --hash=sha256:27a7729a4d33df6b96f7d5edff281d2b987bbe6545031c5eb606b95c47694f54 \ + --hash=sha256:28741daca5926adff402247cd406f453ed5bb6042e82d6855938f805190e5ce9 \ + --hash=sha256:2d6442ecce9b395aade5e9f2431e169e01393953a069f6d2d53a63b6c94d1d06 \ + --hash=sha256:3307817bdc92846b18f309fae3582856f567dd6e0742fb0b41ac68682bfc4e2a \ + --hash=sha256:346a4bf09f5771548665c8206e81daadb6b9925d409746e709894bdd98adc701 \ + --hash=sha256:37f87f0e7690ae0324334740e0661d6297f2e62c9bf925127d249fb7eddd0ad8 \ + --hash=sha256:3b0d9ce2c8488444499ab6d40e92e09867bf4413f5cf04c01635de923f44aa67 \ + --hash=sha256:3ce3bd0882572269ca09285112cf38ce84baa2aaa5891551af968ca7c18f84bb \ + --hash=sha256:4cea15cff221e76abd12e3e940c26124184735cf421c229307f5db6742e14dd7 \ + --hash=sha256:588e8875d836a93b3cd9af482c8074bb02288ae1aff92cf277e1f02d9ae0f992 \ + --hash=sha256:59a3222befc0f7cdc85fb9b90a567ae890f70a864bdeb660517e9ebcb36bf1bc \ + --hash=sha256:5c026dbbf2455d97ce6456d8a50b349aee8fefa11027d020638c89e9be2c9c4c \ + --hash=sha256:5c3634a8df43e7928122225a3d64d850c8957bd1edf2e403907deacb478af27b \ + --hash=sha256:6928e47fb008903f2e41309b7ff1e59b16abbcd59e2e945454571c28b2433c9e \ + --hash=sha256:72af787dcee3661f36fff9d144d989aacefe32e2c8b51ceef9babd46afb93a18 \ + --hash=sha256:752e78a5e87911ded117c57a7246596f26c9c6da066de3c2b533b3db694949bb \ + --hash=sha256:777bb6fa1dc72527fb43744b8c1499ca86e8e110b238d7aad6a686489c23d3bd \ + --hash=sha256:78bfe25941d2dac406391ddd9baf0b0fce163807b98ecc2c47a3030ee8466319 \ + --hash=sha256:78ce45106ebf67aeba99714818c721d8fd5fb9534daebd2565665a2d64b50fc9 \ + --hash=sha256:7da34a78410c14341d5fff73be5ce924bd36500bf7f640fc59b8607d3a0df95e \ + --hash=sha256:8644c76e74c0fbbdaa54752de30b7c6b98b1e8f6c05f0c6228632a29c862d83f \ + --hash=sha256:87f83e8c35a7f49a68cd3a3054c406e6c22f8c1315f3905f7a778c657669187e \ + --hash=sha256:890bb92f0a779e6f16bdbcc8bd2e06c32bcc0239e5893ba246114eb924aecaaa \ + --hash=sha256:8ff1558ddbfedcecd1f6ed7777530917ad08f9c253fcaa8b7152a7aa4ca0264f \ + --hash=sha256:9599fcb7411ffe601c367f0a5d4bc0ed588e3e7d9dc7604bdb32c8f669456b9e \ + --hash=sha256:967b87b88dadb62555ec1039695c347254eccb8ca3d124c0e5dbe084c525fa93 \ + --hash=sha256:9b5297f207ebc068c7cdf9e3cd7b95aa5c9ec04295d0a7e56b529f66787d4685 \ + --hash=sha256:9d581f931e61f182478f18bdf5edd3955899df5da4892ed0d5de547a4cfd5b6f \ + --hash=sha256:9fdf3ca16efcdfbb8800aa88fbab1bc6528e6a0504bcb9cf7af4cb9d50e9f5d9 \ + --hash=sha256:a91e1a0398120233d5c3b23ccb2d4b78e970d66136f1a7221fa9a53873c3d5c5 \ + --hash=sha256:a9a211ec2198994cb3600cd46adb335a740f27e4d406b40d48ed7b98d2d2a89b \ + --hash=sha256:ae73cd2d66b09ef2f2a7d7f93bad396d6abf168d1ee825e403c6c5fb8ae1341c \ + --hash=sha256:bada24abee6bc6ca438b2e6b68a752fc9b58b67bdcb54008e2bc6330ecb0a777 \ + --hash=sha256:bc236d1612714cbd80610cf25a6ef92584ff1402e9d5a5c50e926195716f7d22 \ + --hash=sha256:c5e9762452b163e33cfb6e821f86e45ba0b53bdfcd23ab5d57b48a8f566898cb \ + --hash=sha256:c65ca639a7abf72d79f22424f4abd18dece1f289a2b7b028a0ca455edd2168d4 \ + --hash=sha256:c67dde588c0fb89d872931a4ed5f9b4d21c1c70a3d92fdf0812a1de154239816 \ + --hash=sha256:c9dd58d91220b1c1fe516324bfcf4114566c98e84b1cbbe416abe345c75bd557 \ + --hash=sha256:cb76e0f3f235d8b1c768b17e771de48775d281713795c3aa045e8114ad61bdda \ + --hash=sha256:cdb86a4176f2ae23bd4bcd0401ca35d5dad2d1ed0d0dca1ff64480ebe41b75d9 \ + --hash=sha256:cf5855881884b8467dfcf45764ccf2e4279075be14b155b89c96994bb08d2e6f \ + --hash=sha256:cf80241b40adffdc3276b2c9fb63a96c6c98b4a9d941892738de8add65083962 \ + --hash=sha256:cf9e05986b2eb8c5993bce0f911d6cedd15bda30b5e35dd354b1ad1f4cc3599d \ + --hash=sha256:d0ebdba2fade3f6916fe21fd49e2a0935af4f58c56100a60f3f2eb26e20baee7 \ + --hash=sha256:dc7ebdbd465d25f29a9cd7ba31c304172351fc85626835385bcb72807d309a9a \ + --hash=sha256:e2ad917bcdf8dc5ba1e21f01054c991d26862d4d01c3c203a50e907096d558ac \ + --hash=sha256:e69a2cb1ac7be955c3c77f1def83f410775a81525c9ce2d4c0a3f2a61589ed47 \ + --hash=sha256:e81a9bd36fe054b6c9fcc53d26bc9a28cf15d1ab52a0f5b854f894116f3a54e1 \ + --hash=sha256:e851990a68937db5f485cd9f3e760c1fd47fa0f2a99f63a5e2cc880908faf3bb \ + --hash=sha256:ef3ef22390a892d16286505083ee5b326317b21c255a0c7f744b1290a0b964a6 \ + --hash=sha256:f77c4fd3f34c53037678020ab4e060da4bbdcae3a428797c7cbec69a6785dc93 \ + --hash=sha256:f99b3e89220da3244d03c9c5473669c7107d361c129fd9b064622744dee1ce15 \ + --hash=sha256:fa60637dfae1ee3fc057e420a52cc4ace38cf2c0d1a0451af2a3cba84d281842 \ + --hash=sha256:fe5341e24dc992b09c258456ac90a09a6d25efdc2cb86dcc91d32c8891e1df9a + # via blosc2 +networkx==3.6.1 \ + --hash=sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509 \ + --hash=sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762 + # via pyvis +numexpr==2.14.1 \ + --hash=sha256:03130afa04edf83a7b590d207444f05a00363c9b9ea5d81c0f53b1ea13fad55a \ + --hash=sha256:05f9366d23a2e991fd5a8b5e61a17558f028ba86158a4552f8f239b005cdf83c \ + --hash=sha256:06855053de7a3a8425429bd996e8ae3c50b57637ad3e757e0fa0602a7874be30 \ + --hash=sha256:09078ba73cffe94745abfbcc2d81ab8b4b4e9d7bfbbde6cac2ee5dbf38eee222 \ + --hash=sha256:0d1dcbdc4d0374c0d523cee2f94f06b001623cbc1fd163612841017a3495427c \ + --hash=sha256:15015d47d3d1487072d58c0e7682ef2eb608321e14099c39d52e2dd689483611 \ + --hash=sha256:1f1a5e817c534539351aa75d26088e9e1e0ef1b3a6ab484047618a652ccc4fc3 \ + --hash=sha256:2773ee1133f77009a1fc2f34fe236f3d9823779f5f75450e183137d49f00499f \ + --hash=sha256:2a381e5e919a745c9503bcefffc1c7f98c972c04ec58fc8e999ed1a929e01ba6 \ + --hash=sha256:2d03fcb4644a12f70a14d74006f72662824da5b6128bf1bcd10cc3ed80e64c34 \ + --hash=sha256:2eac7a5a2f70b3768c67056445d1ceb4ecd9b853c8eda9563823b551aeaa5082 \ + --hash=sha256:33265294376e7e2ae4d264d75b798a915d2acf37b9dd2b9405e8b04f84d05cfc \ + --hash=sha256:36f8d5c1bd1355df93b43d766790f9046cccfc1e32b7c6163f75bcde682cda07 \ + --hash=sha256:3a2839efa25f3c8d4133252ea7342d8f81226c7c4dda81f97a57e090b9d87a48 \ + --hash=sha256:439ec4d57b853792ebe5456e3160312281c3a7071ecac5532ded3278ede614de \ + --hash=sha256:44f84e0e5af219dbb62a081606156420815890e041b87252fbcea5df55214c4c \ + --hash=sha256:47041f2f7b9e69498fb311af672ba914a60e6e6d804011caacb17d66f639e659 \ + --hash=sha256:4be00b1086c7b7a5c32e31558122b7b80243fe098579b170967da83f3152b48b \ + --hash=sha256:538961096c2300ea44240209181e31fae82759d26b51713b589332b9f2a4117e \ + --hash=sha256:557887ad7f5d3c2a40fd7310e50597045a68e66b20a77b3f44d7bc7608523b4b \ + --hash=sha256:587c41509bc373dfb1fe6086ba55a73147297247bedb6d588cda69169fc412f2 \ + --hash=sha256:5aedf38d4c0c19d3cecfe0334c3f4099fb496f54c146223d30fa930084bc8574 \ + --hash=sha256:638dce8320f4a1483d5ca4fda69f60a70ed7e66be6e68bc23fb9f1a6b78a9e3b \ + --hash=sha256:64ae5dfd62d74a3ef82fe0b37f80527247f3626171ad82025900f46ffca4b39a \ + --hash=sha256:67ea4771029ce818573b1998f5ca416bd255156feea017841b86176a938f7d19 \ + --hash=sha256:6e575fd3ad41ddf3355d0c7ef6bd0168619dc1779a98fe46693cad5e95d25e6e \ + --hash=sha256:70d80fcb418a54ca208e9a38e58ddc425c07f66485176b261d9a67c7f2864f73 \ + --hash=sha256:75440c54fc01e130396650fdf307aa9d41a67dc06ddbfb288971b591c13a395b \ + --hash=sha256:76db0bc6267e591ab9c4df405ffb533598e4c88239db7338d11ae9e4b368a85a \ + --hash=sha256:790447be6879a6c51b9545f79612d24c9ea0a41d537a84e15e6a8ddef0b6268e \ + --hash=sha256:7e87f6d203ac57239de32261c941e9748f9309cbc0da6295eabd0c438b920d3a \ + --hash=sha256:823cd82c8e7937981339f634e7a9c6a92cb2d0b9d0a5cf627a5e394fffc05377 \ + --hash=sha256:83647d846d3eeeb9a9255311236135286728b398d0d41d35dedb532dca807fe9 \ + --hash=sha256:91ebae0ab18c799b0e6b8c5a8d11e1fa3848eb4011271d99848b297468a39430 \ + --hash=sha256:94c711f6d8f17dfb4606842b403699603aa591ab9f6bf23038b488ea9cfb0f09 \ + --hash=sha256:955c92b064f9074d2970cf3138f5e3b965be673b82024962ed526f39bc25a920 \ + --hash=sha256:9f9137f1351b310436662b5dc6f4082a245efa8950c3b0d9008028df92fefb9b \ + --hash=sha256:9fdcd4735121658a313f878fd31136d1bfc6a5b913219e7274e9fca9f8dac3bb \ + --hash=sha256:a40b350cd45b4446076fa11843fa32bbe07024747aeddf6d467290bf9011b392 \ + --hash=sha256:a4ba71db47ea99c659d88ee6233fa77b6dc83392f1d324e0c90ddf617ae3f421 \ + --hash=sha256:af111c8fe6fc55d15e4c7cab11920fc50740d913636d486545b080192cd0ad73 \ + --hash=sha256:c5f1b1605695778896534dfc6e130d54a65cd52be7ed2cd0cfee3981fd676bf5 \ + --hash=sha256:d08856cfc1b440eb1caaa60515235369654321995dd68eb9377577392020f6cb \ + --hash=sha256:d0fab3fd06a04f6b86102552b26aa5d85e20ac7d8296c15764c726eeabae6cc8 \ + --hash=sha256:d686dfb2c1382d9e6e0ee0b7647f943c1886dba3adbf606c625479f35f1956c1 \ + --hash=sha256:db78fa0c9fcbaded3ae7453faf060bd7a18b0dc10299d7fcd02d9362be1213ed \ + --hash=sha256:dce0b5a0447baa7b44bc218ec2d7dcd175b8eee6083605293349c0c1d9b82fb6 \ + --hash=sha256:dd72d8c2a165fe45ea7650b16eb8cc1792a94a722022006bb97c86fe51fd2091 \ + --hash=sha256:dde9fa47ed319e1e1728940a539df3cb78326b7754bc7c6ab3152afc91808f9b \ + --hash=sha256:e23b87f744e04e302d82ac5e2189ae20a533566aec76a46885376e20b0645bf8 \ + --hash=sha256:e9b2f957798c67a2428be96b04bce85439bed05efe78eb78e4c2ca43737578e7 \ + --hash=sha256:ebe4980f9494b9f94d10d2e526edc29e72516698d3bf95670ba79415492212a4 \ + --hash=sha256:ec368819502b64f190c3f71be14a304780b5935c42aae5bf22c27cc2cbba70b5 \ + --hash=sha256:ede79f7ff06629f599081de644546ce7324f1581c09b0ac174da88a470d39c21 \ + --hash=sha256:edea2f20c2040df8b54ee8ca8ebda63de9545b2112872466118e9df4d0ae99f3 \ + --hash=sha256:eee6d4fbbbc368e6cdd0772734d6249128d957b3b8ad47a100789009f4de7083 \ + --hash=sha256:fdd886f4b7dbaf167633ee396478f0d0aa58ea2f9e7ccc3c6431019623e8d68f + # via + # blosc2 + # policyengine-core + # tables +numpy==2.4.4 \ + --hash=sha256:07077278157d02f65c43b1b26a3886bce886f95d20aabd11f87932750dfb14ed \ + --hash=sha256:08f2e31ed5e6f04b118e49821397f12767934cfdd12a1ce86a058f91e004ee50 \ + --hash=sha256:0aec54fd785890ecca25a6003fd9a5aed47ad607bbac5cd64f836ad8666f4959 \ + --hash=sha256:0d35aea54ad1d420c812bfa0385c71cd7cc5bcf7c65fed95fc2cd02fe8c79827 \ + --hash=sha256:0d4e437e295f18ec29bc79daf55e8a47a9113df44d66f702f02a293d93a2d6dd \ + --hash=sha256:0dfd3f9d3adbe2920b68b5cd3d51444e13a10792ec7154cd0a2f6e74d4ab3233 \ + --hash=sha256:1378871da56ca8943c2ba674530924bb8ca40cd228358a3b5f302ad60cf875fc \ + --hash=sha256:15716cfef24d3a9762e3acdf87e27f58dc823d1348f765bbea6bef8c639bfa1b \ + --hash=sha256:19710a9ca9992d7174e9c52f643d4272dcd1558c5f7af7f6f8190f633bd651a7 \ + --hash=sha256:23cbfd4c17357c81021f21540da84ee282b9c8fba38a03b7b9d09ba6b951421e \ + --hash=sha256:2483e4584a1cb3092da4470b38866634bafb223cbcd551ee047633fd2584599a \ + --hash=sha256:27a8d92cd10f1382a67d7cf4db7ce18341b66438bdd9f691d7b0e48d104c2a9d \ + --hash=sha256:28a650663f7314afc3e6ec620f44f333c386aad9f6fc472030865dc0ebb26ee3 \ + --hash=sha256:2aa0613a5177c264ff5921051a5719d20095ea586ca88cc802c5c218d1c67d3e \ + --hash=sha256:2c194dd721e54ecad9ad387c1d35e63dce5c4450c6dc7dd5611283dda239aabb \ + --hash=sha256:2d19e6e2095506d1736b7d80595e0f252d76b89f5e715c35e06e937679ea7d7a \ + --hash=sha256:2d390634c5182175533585cc89f3608a4682ccb173cc9bb940b2881c8d6f8fa0 \ + --hash=sha256:30caa73029a225b2d40d9fae193e008e24b2026b7ee1a867b7ee8d96ca1a448e \ + --hash=sha256:42c16925aa5a02362f986765f9ebabf20de75cdefdca827d14315c568dcab113 \ + --hash=sha256:45dbed2ab436a9e826e302fcdcbe9133f9b0006e5af7168afb8963a6520da103 \ + --hash=sha256:4636de7fd195197b7535f231b5de9e4b36d2c440b6e566d2e4e4746e6af0ca93 \ + --hash=sha256:4a19d9dba1a76618dd86b164d608566f393f8ec6ac7c44f0cc879011c45e65af \ + --hash=sha256:4bbc7f303d125971f60ec0aaad5e12c62d0d2c925f0ab1273debd0e4ba37aba5 \ + --hash=sha256:4d6d57903571f86180eb98f8f0c839fa9ebbfb031356d87f1361be91e433f5b7 \ + --hash=sha256:4e874c976154687c1f71715b034739b45c7711bec81db01914770373d125e392 \ + --hash=sha256:51fc224f7ca4d92656d5a5eb315f12eb5fe2c97a66249aa7b5f562528a3be38c \ + --hash=sha256:58c8b5929fcb8287cbd6f0a3fae19c6e03a5c48402ae792962ac465224a629a4 \ + --hash=sha256:5a285b3b96f951841799528cd1f4f01cd70e7e0204b4abebac9463eecfcf2a40 \ + --hash=sha256:5c70f1cc1c4efbe316a572e2d8b9b9cc44e89b95f79ca3331553fbb63716e2bf \ + --hash=sha256:62d6b0f03b694173f9fcb1fb317f7222fd0b0b103e784c6549f5e53a27718c44 \ + --hash=sha256:6a246d5914aa1c820c9443ddcee9c02bec3e203b0c080349533fae17727dfd1b \ + --hash=sha256:6aa3236c78803afbcb255045fbef97a9e25a1f6c9888357d205ddc42f4d6eba5 \ + --hash=sha256:6bbe4eb67390b0a0265a2c25458f6b90a409d5d069f1041e6aff1e27e3d9a79e \ + --hash=sha256:715d1c092715954784bc79e1174fc2a90093dc4dc84ea15eb14dad8abdcdeb74 \ + --hash=sha256:72944b19f2324114e9dc86a159787333b77874143efcf89a5167ef83cfee8af0 \ + --hash=sha256:81f4a14bee47aec54f883e0cad2d73986640c1590eb9bfaaba7ad17394481e6e \ + --hash=sha256:846300f379b5b12cc769334464656bc882e0735d27d9726568bc932fdc49d5ec \ + --hash=sha256:86b6f55f5a352b48d7fbfd2dbc3d5b780b2d79f4d3c121f33eb6efb22e9a2015 \ + --hash=sha256:874f200b2a981c647340f841730fc3a2b54c9d940566a3c4149099591e2c4c3d \ + --hash=sha256:8a87ec22c87be071b6bdbd27920b129b94f2fc964358ce38f3822635a3e2e03d \ + --hash=sha256:8b3b60bb7cba2c8c81837661c488637eee696f59a877788a396d33150c35d842 \ + --hash=sha256:8e3ed142f2728df44263aaf5fb1f5b0b99f4070c553a0d7f033be65338329150 \ + --hash=sha256:93e15038125dc1e5345d9b5b68aa7f996ec33b98118d18c6ca0d0b7d6198b7e8 \ + --hash=sha256:989824e9faf85f96ec9c7761cd8d29c531ad857bfa1daa930cba85baaecf1a9a \ + --hash=sha256:99d838547ace2c4aace6c4f76e879ddfe02bb58a80c1549928477862b7a6d6ed \ + --hash=sha256:9b2aec6af35c113b05695ebb5749a787acd63cafc83086a05771d1e1cd1e555f \ + --hash=sha256:9c585a1790d5436a5374bac930dad6ed244c046ed91b2b2a3634eb2971d21008 \ + --hash=sha256:a7164afb23be6e37ad90b2f10426149fd75aee07ca55653d2aa41e66c4ef697e \ + --hash=sha256:ac6b31e35612a26483e20750126d30d0941f949426974cace8e6b5c58a3657b0 \ + --hash=sha256:ad2e2ef14e0b04e544ea2fa0a36463f847f113d314aa02e5b402fdf910ef309e \ + --hash=sha256:b268594bccac7d7cf5844c7732e3f20c50921d94e36d7ec9b79e9857694b1b2f \ + --hash=sha256:b5f0362dc928a6ecd9db58868fca5e48485205e3855957bdedea308f8672ea4a \ + --hash=sha256:ba1f4fc670ed79f876f70082eff4f9583c15fb9a4b89d6188412de4d18ae2f40 \ + --hash=sha256:ba203255017337d39f89bdd58417f03c4426f12beed0440cfd933cb15f8669c7 \ + --hash=sha256:c901b15172510173f5cb310eae652908340f8dede90fff9e3bf6c0d8dfd92f83 \ + --hash=sha256:c9b39d38a9bd2ae1becd7eac1303d031c5c110ad31f2b319c6e7d98b135c934d \ + --hash=sha256:d2a8490669bfe99a233298348acc2d824d496dee0e66e31b66a6022c2ad74a5c \ + --hash=sha256:dddbbd259598d7240b18c9d87c56a9d2fb3b02fe266f49a7c101532e78c1d871 \ + --hash=sha256:df3775294accfdd75f32c74ae39fcba920c9a378a2fc18a12b6820aa8c1fb502 \ + --hash=sha256:e44319a2953c738205bf3354537979eaa3998ed673395b964c1176083dd46252 \ + --hash=sha256:e4a010c27ff6f210ff4c6ef34394cd61470d01014439b192ec22552ee867f2a8 \ + --hash=sha256:e823b8b6edc81e747526f70f71a9c0a07ac4e7ad13020aa736bb7c9d67196115 \ + --hash=sha256:e892aff75639bbef0d2a2cfd55535510df26ff92f63c92cd84ef8d4ba5a5557f \ + --hash=sha256:eea7ac5d2dce4189771cedb559c738a71512768210dc4e4753b107a2048b3d0e \ + --hash=sha256:ef4059d6e5152fa1a39f888e344c73fdc926e1b2dd58c771d67b0acfbf2aa67d \ + --hash=sha256:f169b9a863d34f5d11b8698ead99febeaa17a13ca044961aa8e2662a6c7766a0 \ + --hash=sha256:f2cf083b324a467e1ab358c105f6cad5ea950f50524668a80c486ff1db24e119 \ + --hash=sha256:f8474c4241bc18b750be2abea9d7a9ec84f46ef861dbacf86a4f6e043401f79e \ + --hash=sha256:f983334aea213c99992053ede6168500e5f086ce74fbc4acc3f2b00f5762e9db \ + --hash=sha256:f9e75681b59ddaa5e659898085ae0eaea229d054f2ac0c7e563a62205a700121 \ + --hash=sha256:fbc356aae7adf9e6336d336b9c8111d390a05df88f1805573ebb0807bd06fd1d \ + --hash=sha256:fcfe2045fd2e8f3cb0ce9d4ba6dba6333b8fa05bb8a4939c908cd43322d14c7e + # via + # blosc2 + # h5py + # microdf-python + # numexpr + # pandas + # policyengine-core + # tables +packaging==26.2 \ + --hash=sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e \ + --hash=sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661 + # via + # huggingface-hub + # plotly + # policyengine + # pytest + # tables + # wheel +pandas==3.0.3 \ + --hash=sha256:0383c72c75cdcca61a9e116e611143902dbfd08bff356829c2f6d1cf40a9ca8c \ + --hash=sha256:05f1f1752b8533ea03f7f39a9c15b1a058d067bb48f4748948e7a8691e0510f2 \ + --hash=sha256:08d789b41f87e0905880e293cedf6197ce71fe67cc081358b1e148a491b9bd13 \ + --hash=sha256:0d589105b3c14645af1738ff279b2995102d8f7a03b0a66dc8d95550eb513e04 \ + --hash=sha256:13fc1e853d9e04743d11ba75a985ccbc2a317fe07d8af61e445a6fd24dacd6a6 \ + --hash=sha256:14da8316da4d0c5a77618425996bfb1248ca87fc2c1486e6fde4652bd18b5824 \ + --hash=sha256:1928e07221f82db493cd4af1e23c1bfca524a19a4699887975bff68f49a72bfb \ + --hash=sha256:261e308dfb22448384b7580cf719d2f998fe2966c92893c3e77d14008af1f066 \ + --hash=sha256:275c14e0fce14a2ec20eee474aecd305478ea3c1e6f6a9d8fe219a165542717e \ + --hash=sha256:335f62418ed562cfc3c49e9e196375c28b729dcef8543abf4f9438e381bf3c76 \ + --hash=sha256:3650109c0f22879df8bd6179ab9ee3d7f1d1d4e7e0094a3f0032d9f51e2e64ac \ + --hash=sha256:39436b377d56d2a2e52d0395bdbee171f01068e99af5250509aceeb929f765c7 \ + --hash=sha256:3c20a521bbb85902f79f7270c80a59e1b5452d96d170c034f207181870f97ac5 \ + --hash=sha256:3e91cec1879ada0624fc3dc9953c5cbd60208e59c0db28f540c5d6d47502422f \ + --hash=sha256:455f6f8139d4282188f526868dbc3c828470e88a3d9d59a891bd46a455f21b98 \ + --hash=sha256:46997386d528eb40376ecd6b033cf4a8a1e5282580f68f43de875b78cba2199d \ + --hash=sha256:4db8c527972a821cf5286b40ccc57642a39bc62e62022b42f99f8a67fca8c3a1 \ + --hash=sha256:4e15135e2ee5df1063313e2425ceef8ac0f4ae775893815b0923651b806a5639 \ + --hash=sha256:51b1fe551acb77dac643c6fda86084d8d446c10fe64b06a9cc29c4cc8540e7f2 \ + --hash=sha256:557409bc4178e70ee8d9ddb494798e51ebf6ea59330f6be22c51bab2a7db6c49 \ + --hash=sha256:5cc09a68b3120e0f54870dede8287a7bb1fa463907e4fcec1ea77cab6179bf7a \ + --hash=sha256:60ae316d3fd75d1858d450d0db0103ea2be3e7d4a95ec2f064f7e2ae63f7b028 \ + --hash=sha256:6674ab18ad8c57802867264b00e15e7bb904700cdd9046e3b2fa1fce237439ea \ + --hash=sha256:67b3b64c11910cfa29f4e94a14d3bff9ee693b6fc76055e7cad549cee0aec5fa \ + --hash=sha256:696a4a00a2a2a35d4e5deb3fc946641b96c944f02230e4f76137fe35d806c4fc \ + --hash=sha256:6dc0b3fd2169c9157deed50b4d519553a3655c8c6a96027136d654592be973a9 \ + --hash=sha256:7e65d5407dc0b394f509699650e4a2ec01c0514f21850f453fa60f3be79a5dbf \ + --hash=sha256:819959dab7bbd0049c15623fbac4e29a191b9528160a61fb1032242d8ced2d9c \ + --hash=sha256:8a1e45c80cceb3b4a21bc5939d52e8cbd8d9b7305309219d59e9754d9ce09e27 \ + --hash=sha256:9c39be2d709d01fa972a0cabc522389fceca4f3969332ba25a7d6c5802cf976a \ + --hash=sha256:9d71c63ae4ebdbf70209742096f1fc46a83a0613c99d4b23766cced9ff8cd62a \ + --hash=sha256:a2d2dff8a04f3917b55ab3910c32990f8ddf7eceba114947838cefa976a68977 \ + --hash=sha256:a4eeb6830daf35a71cc09649bd823e2b542dac246cdee9614c6e4bd65028cd6a \ + --hash=sha256:a55066a0505dae0ba2b50a46637db34b46f9094c65c5d4800794ef6335010938 \ + --hash=sha256:a82d532a3351d435432cd913edbccaf8b8e01d4dd0e5ced5a8d2e8ecd94c7e44 \ + --hash=sha256:b168fc218fd80a6cbdbdbc1a97ddc7889ed057d7eb45f50d866ceab5f39904c4 \ + --hash=sha256:b2c95f8bfc1ee412bf482605d7bfd30c12d1d26bd59fdd91efeef1d4718decb1 \ + --hash=sha256:ba7e08b9ac1d54569cd1e256e3668975ed624d6826f7b68df0342b012007bddb \ + --hash=sha256:bab900348131a7db1f69a7309ef141fd5680f1487094193bcbbb61791573bf8f \ + --hash=sha256:bd3a518890b400d32f9023722dc9a9a5c969f00b415419a3c06c043f09bb5d7d \ + --hash=sha256:c7be265b62cef88e253a941e4698604973736dcfe242fdb5198f0f7bc473cdcc \ + --hash=sha256:d26cbe1fcfc12e8fd900e2454163e466b2d3af84f7c75481df7683ffc073d870 \ + --hash=sha256:d4be06d68f9ddcfc645b87534911da79a8fbffc7573c80e0edcf42a5020624d8 \ + --hash=sha256:d72828c20c6d6e83e1e22a6a3b47b326b71664112fa9705dcbccfd7a39b62085 \ + --hash=sha256:dd1a5d1def6a46002e964510bdc67c368aa0951df5d1d9f8365336f5a1f490cd \ + --hash=sha256:e3a2ec42c98ffa2565a67e08e218d06d72576d758d90facb7c00805194d8f360 \ + --hash=sha256:f8894dc474d648fe7b6ff0ca9b0bd73950d19952bc1a6534540762c5d79d305c \ + --hash=sha256:fed2ff7fd9779120e388e285fc029bd5cf9490cdd2e4166a9ee22c0e49a9ab09 + # via + # microdf-python + # policyengine + # policyengine-core +parso==0.8.7 \ + --hash=sha256:a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c \ + --hash=sha256:eaaac4c9fdd5e9e8852dc778d2d7405897ec510f2a298071453e5e3a07914bb1 + # via jedi +pexpect==4.9.0 \ + --hash=sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 \ + --hash=sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f + # via ipython +plotly==5.24.1 \ + --hash=sha256:dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae \ + --hash=sha256:f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089 + # via policyengine-core +pluggy==1.6.0 \ + --hash=sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3 \ + --hash=sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746 + # via pytest +policyengine==4.4.3 \ + --hash=sha256:555f1461b11ba5d934d5e432e806fcf6d31d2e41a742cd010e9c3c46acd0652e \ + --hash=sha256:a12e8ed43a4b0f205d853853ccc678b2b8857381b8111336e711e35d8e6b1336 + # via -r /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmprdlhdfl4/requirements.in +policyengine-core==3.26.1 \ + --hash=sha256:185374b3c1fe13dc951637c49a9853211ca61a8a9971eb9cc4c4b07b1477240a \ + --hash=sha256:dc4e3007bcd137cbe608042d067cedb889a9b8671db3d08c8e237f1ac3e324b4 + # via + # -r /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmprdlhdfl4/requirements.in + # policyengine-uk +policyengine-uk==2.88.14 \ + --hash=sha256:21a4387ae52dcb5430b6d790edcc321816ed47147a3a0e21ffd482a36834d352 \ + --hash=sha256:ed10005ba7d0c973c0966ebbf7672853fb3caaa0456b8bf485fb13f8c323d975 + # via -r /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmprdlhdfl4/requirements.in +prompt-toolkit==3.0.52 \ + --hash=sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855 \ + --hash=sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955 + # via ipython +psutil==6.1.1 \ + --hash=sha256:018aeae2af92d943fdf1da6b58665124897cfc94faa2ca92098838f83e1b1bca \ + --hash=sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377 \ + --hash=sha256:1924e659d6c19c647e763e78670a05dbb7feaf44a0e9c94bf9e14dfc6ba50468 \ + --hash=sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3 \ + --hash=sha256:384636b1a64b47814437d1173be1427a7c83681b17a450bfc309a1953e329603 \ + --hash=sha256:6d4281f5bbca041e2292be3380ec56a9413b790579b8e593b1784499d0005dac \ + --hash=sha256:8be07491f6ebe1a693f17d4f11e69d0dc1811fa082736500f649f79df7735303 \ + --hash=sha256:8df0178ba8a9e5bc84fed9cfa61d54601b371fbec5c8eebad27575f1e105c0d4 \ + --hash=sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160 \ + --hash=sha256:9ccc4316f24409159897799b83004cb1e24f9819b0dcf9c0b68bdcb6cefee6a8 \ + --hash=sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003 \ + --hash=sha256:c777eb75bb33c47377c9af68f30e9f11bc78e0f07fbf907be4a5d70b2fe5f030 \ + --hash=sha256:ca9609c77ea3b8481ab005da74ed894035936223422dc591d6772b147421f777 \ + --hash=sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5 \ + --hash=sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53 \ + --hash=sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649 \ + --hash=sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8 + # via + # policyengine + # policyengine-core +ptyprocess==0.7.0 \ + --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 \ + --hash=sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220 + # via pexpect +pure-eval==0.2.3 \ + --hash=sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0 \ + --hash=sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42 + # via stack-data +py-cpuinfo==9.0.0 \ + --hash=sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690 \ + --hash=sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5 + # via tables +pydantic==2.13.4 \ + --hash=sha256:45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba \ + --hash=sha256:c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6 + # via + # blosc2 + # policyengine + # policyengine-uk +pydantic-core==2.46.4 \ + --hash=sha256:00c603d540afdd6b80eb39f078f33ebd46211f02f33e34a32d9f053bba711de0 \ + --hash=sha256:0186750b482eefa11d7f435892b09c5c606193ef3375bcf94aa00ae6bfb66262 \ + --hash=sha256:041bde0a48fd37cf71cab1c9d56d3e8625a3793fef1f7dd232b3ff37e978ecda \ + --hash=sha256:0c563b08bca408dc7f65f700633d8442fffb2421fc47b8101377e9fd65051ff0 \ + --hash=sha256:0cbe8b01f948de4286c74cdd6c667aceb38f5c1e26f0693b3983d9d74887c65e \ + --hash=sha256:0ce40cd7b21210e99342afafbd4d0f76d784eb5b1d60f3bdc566be4983c6c73b \ + --hash=sha256:0e96592440881c74a213e5ad528e2b24d3d4f940de2766bed9010ab1d9e51594 \ + --hash=sha256:10e17cbb10a330363733efc4d7c4d0dd827ac0909b8f6a6542298fed1ea62f29 \ + --hash=sha256:133878133d271ade3d41d1bfb2a45ec38dbdbda40bc065921c6b04e4630127e2 \ + --hash=sha256:14d4edf427bdcf950a8a02d7cb44a08614388dd6e1bdcbf4f67504fa7887da9c \ + --hash=sha256:14f4c5d6db102bd796a627bbb3a17b4cf4574b9ae861d8b7c9a9661c6dd3362d \ + --hash=sha256:17299feefe090f2caa5b8e37222bb5f663e4935a8bfa6931d4102e5df1a9f398 \ + --hash=sha256:184c081504d17f1c1066e430e117142b2c77d9448a97f7b65c6ac9fd9aee238d \ + --hash=sha256:18e5ceec2ab67e6d5f1a9085e5a24c9c4e2ac4545730bfe668680bca05e555f3 \ + --hash=sha256:19e51f073cd3df251856a8a4189fbdf1de4012c3ebacfb1884f94f1eb406079f \ + --hash=sha256:1a7dd0b3ee80d90150e3495a3a13ac34dbcbfd4f012996a6a1d8900e91b5c0fb \ + --hash=sha256:1d8ba486450b14f3b1d63bc521d410ec7565e52f887b9fb671791886436a42f7 \ + --hash=sha256:2108ba5c1c1eca18030634489dc544844144ee36357f2f9f780b93e7ddbb44b5 \ + --hash=sha256:228ee9bae8bef5b1e97ec58302f80357c37199e0d0a99174e138d28e6957b9d9 \ + --hash=sha256:23ace664830ee0bfe014a0c7bc248b1f7f25ed7ad103852c317624a1083af462 \ + --hash=sha256:2412e734dcb48da14d4e4006b82b46b74f2518b8a26ee7e58c6844a6cd6d03c4 \ + --hash=sha256:29c61fc04a3d840155ff08e475a04809278972fe6aef51e2720554e96367e34b \ + --hash=sha256:2f84c03c8607173d16b5a854ec68a2f9079ae03237a54fb506d13af47e1d018d \ + --hash=sha256:3009f12e4e90b7f88b4f9adb1b0c4a3d58fe7820f3238c190047209d148026df \ + --hash=sha256:3245406455a5d98187ec35530fd772b1d799b26667980872c8d4614991e2c4a2 \ + --hash=sha256:3447661d99f75a3683a4cf5c87da72f2161964611864dbbeac7fbb118bb4bfc0 \ + --hash=sha256:372429a130e469c9cd698925ce5fc50940b7a1336b0d82038e63d5bbc4edc519 \ + --hash=sha256:395aebd9183f9d112f569aeb5b2214d1a10a33bec8456447f7fbdfa51d38d4cd \ + --hash=sha256:3a233125ac121aa3ffba9a2b59edfc4a985a76092dc8279586ab4b71390875e7 \ + --hash=sha256:3be77f45df024d789a672ae34f8b06fb346c4f9f46ea714956660ea4862e89ac \ + --hash=sha256:3bf92c5d0e00fefaab325a4d27828fe6b6e2a21848686b5b60d2d9eeb09d76c6 \ + --hash=sha256:3ecbc122d18468d06ca279dc26a8c2e2d5acb10943bb35e36ae92096dc3b5565 \ + --hash=sha256:3fb702cd90b0446a3a1c5e470bfa0dd23c0233b676a9099ddcc964fa6ca13898 \ + --hash=sha256:428e04521a40150c85216fc8b85e8d39fece235a9cf5e383761238c7fa9b96fb \ + --hash=sha256:432c179df7874eeb73307aad2df0755e1ae0efa61ff0ea89b93e194411ae3928 \ + --hash=sha256:4a05d69cba51d852c5c3e92758653245a50c0b646ced0cf05bd793ed592839d6 \ + --hash=sha256:4c63ebc82684aa89d9a3bcbd13d515b3be44250dc68dd3bd81526c1cb31286c3 \ + --hash=sha256:4fc73cb559bdb54b1134a706a2802a4cddd27a0633f5abb7e53056268751ac6a \ + --hash=sha256:4fcbe087dbc2068af7eda3aa87634eba216dbda64d1ae73c8684b621d33f6596 \ + --hash=sha256:56cb4851bcaf3d117eddcef4fe66afd750a50274b0da8e22be256d10e5611987 \ + --hash=sha256:5855698a4856556d86e8e6cd8434bc3ac0314ee8e12089ae0e143f64c6256e4e \ + --hash=sha256:5a4330cdbc57162e4b3aa303f588ba752257694c9c9be3e7ebb11b4aca659b5d \ + --hash=sha256:5b712b53160b79a5850310b912a5ef8e57e56947c8ad690c227f5c9d7e561712 \ + --hash=sha256:5d5902252db0d3cedf8d4a1bc68f70eeb430f7e4c7104c8c476753519b423008 \ + --hash=sha256:617d7e2ca7dcb8c5cf6bcb8c59b8832c94b36196bbf1cbd1bfb56ed341905edd \ + --hash=sha256:62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1 \ + --hash=sha256:633147d34cf4550417f12e2b1a0383973bdf5cdfde212cb09e9a581cf10820be \ + --hash=sha256:66ce7632c22d837c95301830e111ad0128a32b8207533b60896a96c4915192ea \ + --hash=sha256:6b3ace8194b0e5204818c92802dcdca7fc6d88aabbb799d7c795540d9cd6d292 \ + --hash=sha256:6f2eeda33a839975441c86a4119e1383c50b47faf0cbb5176985565c6bb02c33 \ + --hash=sha256:7027560ee92211647d0d34e3f7cd6f50da56399d26a9c8ad0da286d3869a53f3 \ + --hash=sha256:7283d57845ecf5a163403eb0702dfc220cc4fbdd18919cb5ccea4f95ee1cdab4 \ + --hash=sha256:7a5f930472650a82629163023e630d160863fce524c616f4e5186e5de9d9a49b \ + --hash=sha256:7bfb192b3f4b9e8a89b6277b6ce787564f62cfd272055f6e685726b111dc7826 \ + --hash=sha256:811ff8e9c313ab425368bcbb36e5c4ebd7108c2bbf4e4089cfbb0b01eff63fac \ + --hash=sha256:8233f2947cf85404441fd7e0085f53b10c93e0ee78611099b5c7237e36aacbf7 \ + --hash=sha256:82cf5301172168103724d49a1444d3378cb20cdee30b116a1bd6031236298a5d \ + --hash=sha256:8358a950c8909158e3df31538a7e4edc2d7265a7c54b47f0864d9e5bae9dcebf \ + --hash=sha256:85bb3611ff1802f3ee7fdd7dbff26b56f343fb432d57a4728fdd49b6ef35e2f4 \ + --hash=sha256:86e1a4418c6cd97d60c95c71164158eaf7324fae7b0923264016baa993eba6fc \ + --hash=sha256:8b9bab013d1c7a79d3501ff86d0bc9c31bf587db4551677b96bec07df78c6b15 \ + --hash=sha256:8c5dac79fa1614d1e06ca695109c6105923bd9c7d1d6c918d4e637b7e6b32fd3 \ + --hash=sha256:8d0820e8192167f80d88d64038e609c31452eeca865b4e1d9950a27a4609b00b \ + --hash=sha256:8daafc69c93ee8a0204506a3b6b30f586ef54028f52aeeeb5c4cfc5184fd5914 \ + --hash=sha256:9037063db01f09b09e237c282b6792bd4da634b5402c4e7f0c61effed7701a04 \ + --hash=sha256:905a0ed8ea6f2d61c1738835f99b699348d7857379083e5fc497fa0c967a407c \ + --hash=sha256:90884113d8b48f760e9587002789ddd741e76ab9f89518cd1e43b1f1a52ec44b \ + --hash=sha256:91a06d2e259ecfbd8c901d70c3c507900458498142b3026a296b7de4d1322cc9 \ + --hash=sha256:926c9541b14b12b1681dca8a0b75feb510b06c6341b70a8e500c2fdcff837cce \ + --hash=sha256:9401557acd873c3a7f3eb9383edef8ac4968f9510e340f4808d427e75667e7b4 \ + --hash=sha256:9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a \ + --hash=sha256:962ccbab7b642487b1d8b7df90ef677e03134cf1fd8880bf698649b22a69371f \ + --hash=sha256:97e7cf2be5c77b7d1a9713a05605d49460d02c6078d38d8bef3cbe323c548424 \ + --hash=sha256:9aa768456404a8bf48a4406685ac2bec8e72b62c69313734fa3b73cf33b3a894 \ + --hash=sha256:9bc519fbf2b7578398853d815009ae5e4d4603d12f4e3f91da8c06852d3da3e9 \ + --hash=sha256:9d56801be94b86a9da183e5f3766e6310752b99ff647e38b09a9500d88e46e76 \ + --hash=sha256:9f444c499b3eefd3a92e348059471ea0c3a6e303d9c1cec09fa748fd9f895201 \ + --hash=sha256:9fa8ae11da9e2b3126c6426f147e0fba88d96d65921799bb30c6abd1cb2c97fb \ + --hash=sha256:a0f62d0a58f4e7da165457e995725421e0064f2255d8eccebc49f41bbc23b109 \ + --hash=sha256:a396dcc17e5a0b164dbe026896245a4fa9ff402edca1dff0be3d53a517f74de4 \ + --hash=sha256:aaa2a54443eff1950ba5ddc6b6ccda0d9c84a364276a62f969bdf2a390650848 \ + --hash=sha256:ad785e92e6dc634c21555edc8bd6b64957ab844541bcb96a1366c202951ae526 \ + --hash=sha256:af8244b2bef6aaad6d92cda81372de7f8c8d36c9f0c3ea36e827c60e7d9467a0 \ + --hash=sha256:b078afbc25f3a1436c7a1d2cd3e322497ee99615ba97c563566fdf46aff1ee01 \ + --hash=sha256:b2f69dec1725e79a012d920df1707de5caf7ed5e08f3be4435e25803efc47458 \ + --hash=sha256:b8458003118a712e66286df6a707db01c52c0f52f7db8e4a38f0da1d3b94fc4e \ + --hash=sha256:bb63e0198ca18aad131c089b9204c23079c3afa95487e561f4c522d519e55aba \ + --hash=sha256:bfec22eab3c8cc2ceec0248aec886624116dc079afa027ecc8ad4a7e62010f8a \ + --hash=sha256:c1747f85cee84c26985853c6f3d9bd3e75da5212912443fa111c113b9c246f39 \ + --hash=sha256:c1b3f518abeca3aa13c712fd202306e145abf59a18b094a6bafb2d2bbf59192c \ + --hash=sha256:c50f2528cf200c5eed56faf3f4e22fcd5f38c157a8b78576e6ba3168ec35f000 \ + --hash=sha256:c68fcd102d71ea85c5b2dfac3f4f8476eff42a9e078fd5faefff6d145063536b \ + --hash=sha256:c7a7bd4e39e8e4c12c39cd480356842b6a8a06e41b23a55a5e3e191718838ddf \ + --hash=sha256:c94f0688e7b8d0a67abf40e57a7eaaecd17cc9586706a31b76c031f63df052b4 \ + --hash=sha256:cbaf13819775b7f769bf4a1f066cb6df7a28d4480081a589828ef190226881cd \ + --hash=sha256:cd2213145bcc2ba85884d0ac63d222fece9209678f77b9b4d76f054c561adb28 \ + --hash=sha256:ce5c1d2a8b27468f433ca974829c44060b8097eedc39933e3c206a90ee49c4a9 \ + --hash=sha256:d396ec2b979760aaf3218e76c24e65bd0aca24983298653b3a9d7a45f9e47b30 \ + --hash=sha256:d51026d73fcfd93610abc7b27789c26b313920fcfb20e27462d74a7f8b06e983 \ + --hash=sha256:d80ee3d731373b24cebbc10d689ca4ee1875caf0d5703a245db18efd4dd37fc1 \ + --hash=sha256:d995260fdf4e1db774581b4900e0f832abe3c7c84996726bbc161b19c8f29e76 \ + --hash=sha256:da4b951fe36dc7c3a1ccb4e3cd1747c3542b8c9ceede8fc86cae054e764485f5 \ + --hash=sha256:daa27d92c36f24388fe3ad306b174781c747627f134452e4f128ea00ce1fe8c4 \ + --hash=sha256:db06ffe51636ffe9ca531fe9023dd64bdd794be8754cb5df57c5498ae5b518a7 \ + --hash=sha256:e0d65b8c354be7fb5f720c3caa8bc940bc2d20ce749c8e06135f07f8ed95dd7c \ + --hash=sha256:e68b7a074f65a2fd746c52a7ce6142ab7006074ac269ace0c25cd8ba171f8066 \ + --hash=sha256:e739fee756ba1010f8bcccb534252e85a35fe45ae92c295a06059ce58b74ccd3 \ + --hash=sha256:e846ae7835bf0703ae43f534ab79a867146dadd59dc9ca5c8b53d5c8f7c9ef02 \ + --hash=sha256:e9c26f834c65f5752f3f06cb08cb86a913ceb7274d0db6e267808a708b46bc89 \ + --hash=sha256:ea793e075b70290d89d8142074262885d3f7da19634845135751bd6344f73b50 \ + --hash=sha256:f027324c56cd5406ca49c124b0db10e56c69064fec039acc571c29020cc87c76 \ + --hash=sha256:f13a646d65d09fbf1bc6b3a9635d30095c8e7e5cc419ff35ecc563c5fd04cd49 \ + --hash=sha256:f47286a97f0bc9b8859519809077b91b2cefe4ae47fcbf5e466a009c1c5d742b \ + --hash=sha256:f747929cf940cddb5b3668a390056ddd5ba2e5010615ea2dcf4f9c4f3ab8791d \ + --hash=sha256:f99626688942fb746e545232e7726926f3be91b5975f8b55327665fafda991c7 \ + --hash=sha256:f9fa868638bf362d3d138ea55829cefb3d5f4b0d7f142234382a15e2485dbec4 \ + --hash=sha256:fbdb89b3e1c94a30cc5edfce477c6e6a5dc4d8f84665b455c27582f211a1c72c \ + --hash=sha256:fc010ab034c8c7452522748bf937df58020d256ccae0874463d1f4d01758af8e \ + --hash=sha256:fc3e9034a63de20e15e8ade85358bc6efc614008cab72898b4b4952bea0509ff \ + --hash=sha256:fd8b3d9fd264be37976686c7f65cd52a83f5e84f4bfd2adf9c1d469676bbb6ae + # via pydantic +pygments==2.20.0 \ + --hash=sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f \ + --hash=sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176 + # via + # ipython + # pytest + # rich +pytest==8.4.2 \ + --hash=sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01 \ + --hash=sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79 + # via policyengine-core +python-dateutil==2.9.0.post0 \ + --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ + --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 + # via pandas +pyvis==0.3.2 \ + --hash=sha256:5720c4ca8161dc5d9ab352015723abb7a8bb8fb443edeb07f7a322db34a97555 + # via policyengine-core +pyyaml==6.0.3 \ + --hash=sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c \ + --hash=sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a \ + --hash=sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3 \ + --hash=sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956 \ + --hash=sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6 \ + --hash=sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c \ + --hash=sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65 \ + --hash=sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a \ + --hash=sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0 \ + --hash=sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b \ + --hash=sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1 \ + --hash=sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6 \ + --hash=sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7 \ + --hash=sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e \ + --hash=sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007 \ + --hash=sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310 \ + --hash=sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4 \ + --hash=sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9 \ + --hash=sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295 \ + --hash=sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea \ + --hash=sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0 \ + --hash=sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e \ + --hash=sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac \ + --hash=sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9 \ + --hash=sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7 \ + --hash=sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35 \ + --hash=sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb \ + --hash=sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b \ + --hash=sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69 \ + --hash=sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5 \ + --hash=sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b \ + --hash=sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c \ + --hash=sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369 \ + --hash=sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd \ + --hash=sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824 \ + --hash=sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198 \ + --hash=sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065 \ + --hash=sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c \ + --hash=sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c \ + --hash=sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764 \ + --hash=sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196 \ + --hash=sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b \ + --hash=sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00 \ + --hash=sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac \ + --hash=sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8 \ + --hash=sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e \ + --hash=sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28 \ + --hash=sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3 \ + --hash=sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5 \ + --hash=sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4 \ + --hash=sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b \ + --hash=sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf \ + --hash=sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5 \ + --hash=sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702 \ + --hash=sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8 \ + --hash=sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788 \ + --hash=sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da \ + --hash=sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d \ + --hash=sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc \ + --hash=sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c \ + --hash=sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba \ + --hash=sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f \ + --hash=sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917 \ + --hash=sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5 \ + --hash=sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26 \ + --hash=sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f \ + --hash=sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b \ + --hash=sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be \ + --hash=sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c \ + --hash=sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3 \ + --hash=sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6 \ + --hash=sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926 \ + --hash=sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0 + # via huggingface-hub +referencing==0.37.0 \ + --hash=sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231 \ + --hash=sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8 + # via + # jsonschema + # jsonschema-specifications +requests==2.34.0 \ + --hash=sha256:7d62fe92f50eb82c529b0916bb445afa1531a566fc8f35ffdc64446e771b856a \ + --hash=sha256:917520a21b767485ce7c588f4ebb917c436b24a31231b44228715eaeb5a52c60 + # via + # blosc2 + # policyengine + # policyengine-core +rich==15.0.0 \ + --hash=sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb \ + --hash=sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36 + # via typer +rpds-py==0.30.0 \ + --hash=sha256:07ae8a593e1c3c6b82ca3292efbe73c30b61332fd612e05abee07c79359f292f \ + --hash=sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136 \ + --hash=sha256:0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3 \ + --hash=sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7 \ + --hash=sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65 \ + --hash=sha256:12f90dd7557b6bd57f40abe7747e81e0c0b119bef015ea7726e69fe550e394a4 \ + --hash=sha256:1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169 \ + --hash=sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf \ + --hash=sha256:1b151685b23929ab7beec71080a8889d4d6d9fa9a983d213f07121205d48e2c4 \ + --hash=sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2 \ + --hash=sha256:250fa00e9543ac9b97ac258bd37367ff5256666122c2d0f2bc97577c60a1818c \ + --hash=sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4 \ + --hash=sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3 \ + --hash=sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6 \ + --hash=sha256:32c8528634e1bf7121f3de08fa85b138f4e0dc47657866630611b03967f041d7 \ + --hash=sha256:33f559f3104504506a44bb666b93a33f5d33133765b0c216a5bf2f1e1503af89 \ + --hash=sha256:3896fa1be39912cf0757753826bc8bdc8ca331a28a7c4ae46b7a21280b06bb85 \ + --hash=sha256:389a2d49eded1896c3d48b0136ead37c48e221b391c052fba3f4055c367f60a6 \ + --hash=sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa \ + --hash=sha256:3adbb8179ce342d235c31ab8ec511e66c73faa27a47e076ccc92421add53e2bb \ + --hash=sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6 \ + --hash=sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87 \ + --hash=sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856 \ + --hash=sha256:422c3cb9856d80b09d30d2eb255d0754b23e090034e1deb4083f8004bd0761e4 \ + --hash=sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f \ + --hash=sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53 \ + --hash=sha256:47b0ef6231c58f506ef0b74d44e330405caa8428e770fec25329ed2cb971a229 \ + --hash=sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad \ + --hash=sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23 \ + --hash=sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db \ + --hash=sha256:495aeca4b93d465efde585977365187149e75383ad2684f81519f504f5c13038 \ + --hash=sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27 \ + --hash=sha256:4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00 \ + --hash=sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18 \ + --hash=sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083 \ + --hash=sha256:55f66022632205940f1827effeff17c4fa7ae1953d2b74a8581baaefb7d16f8c \ + --hash=sha256:58edca431fb9b29950807e301826586e5bbf24163677732429770a697ffe6738 \ + --hash=sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898 \ + --hash=sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e \ + --hash=sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7 \ + --hash=sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08 \ + --hash=sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6 \ + --hash=sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551 \ + --hash=sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e \ + --hash=sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288 \ + --hash=sha256:67b02ec25ba7a9e8fa74c63b6ca44cf5707f2fbfadae3ee8e7494297d56aa9df \ + --hash=sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0 \ + --hash=sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2 \ + --hash=sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05 \ + --hash=sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0 \ + --hash=sha256:6de2a32a1665b93233cde140ff8b3467bdb9e2af2b91079f0333a0974d12d464 \ + --hash=sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5 \ + --hash=sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404 \ + --hash=sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7 \ + --hash=sha256:7c64d38fb49b6cdeda16ab49e35fe0da2e1e9b34bc38bd78386530f218b37139 \ + --hash=sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394 \ + --hash=sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb \ + --hash=sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15 \ + --hash=sha256:858738e9c32147f78b3ac24dc0edb6610000e56dc0f700fd5f651d0a0f0eb9ff \ + --hash=sha256:8d6d1cc13664ec13c1b84241204ff3b12f9bb82464b8ad6e7a5d3486975c2eed \ + --hash=sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6 \ + --hash=sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e \ + --hash=sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95 \ + --hash=sha256:946fe926af6e44f3697abbc305ea168c2c31d3e3ef1058cf68f379bf0335a78d \ + --hash=sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950 \ + --hash=sha256:9854cf4f488b3d57b9aaeb105f06d78e5529d3145b1e4a41750167e8c213c6d3 \ + --hash=sha256:993914b8e560023bc0a8bf742c5f303551992dcb85e247b1e5c7f4a7d145bda5 \ + --hash=sha256:99b47d6ad9a6da00bec6aabe5a6279ecd3c06a329d4aa4771034a21e335c3a97 \ + --hash=sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e \ + --hash=sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e \ + --hash=sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b \ + --hash=sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd \ + --hash=sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad \ + --hash=sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8 \ + --hash=sha256:a2bffea6a4ca9f01b3f8e548302470306689684e61602aa3d141e34da06cf425 \ + --hash=sha256:a452763cc5198f2f98898eb98f7569649fe5da666c2dc6b5ddb10fde5a574221 \ + --hash=sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d \ + --hash=sha256:a51033ff701fca756439d641c0ad09a41d9242fa69121c7d8769604a0a629825 \ + --hash=sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51 \ + --hash=sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e \ + --hash=sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f \ + --hash=sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8 \ + --hash=sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f \ + --hash=sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d \ + --hash=sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07 \ + --hash=sha256:ba3af48635eb83d03f6c9735dfb21785303e73d22ad03d489e88adae6eab8877 \ + --hash=sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31 \ + --hash=sha256:c2262bdba0ad4fc6fb5545660673925c2d2a5d9e2e0fb603aad545427be0fc58 \ + --hash=sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94 \ + --hash=sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28 \ + --hash=sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000 \ + --hash=sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1 \ + --hash=sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1 \ + --hash=sha256:d9a0ca5da0386dee0655b4ccdf46119df60e0f10da268d04fe7cc87886872ba7 \ + --hash=sha256:da279aa314f00acbb803da1e76fa18666778e8a8f83484fba94526da5de2cba7 \ + --hash=sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40 \ + --hash=sha256:dc4f992dfe1e2bc3ebc7444f6c7051b4bc13cd8e33e43511e8ffd13bf407010d \ + --hash=sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0 \ + --hash=sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84 \ + --hash=sha256:dea5b552272a944763b34394d04577cf0f9bd013207bc32323b5a89a53cf9c2f \ + --hash=sha256:dff13836529b921e22f15cb099751209a60009731a68519630a24d61f0b1b30a \ + --hash=sha256:e0b65193a413ccc930671c55153a03ee57cecb49e6227204b04fae512eb657a7 \ + --hash=sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419 \ + --hash=sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8 \ + --hash=sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a \ + --hash=sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9 \ + --hash=sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be \ + --hash=sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed \ + --hash=sha256:ee6af14263f25eedc3bb918a3c04245106a42dfd4f5c2285ea6f997b1fc3f89a \ + --hash=sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d \ + --hash=sha256:f207f69853edd6f6700b86efb84999651baf3789e78a466431df1331608e5324 \ + --hash=sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f \ + --hash=sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2 \ + --hash=sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f \ + --hash=sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5 + # via + # jsonschema + # referencing +shellingham==1.5.4 \ + --hash=sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686 \ + --hash=sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de + # via typer +six==1.17.0 \ + --hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \ + --hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81 + # via python-dateutil +sortedcontainers==2.4.0 \ + --hash=sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88 \ + --hash=sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0 + # via policyengine-core +stack-data==0.6.3 \ + --hash=sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9 \ + --hash=sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695 + # via ipython +standard-imghdr==3.13.0 \ + --hash=sha256:30a1bff5465605bb496f842a6ac3cc1f2131bf3025b0da28d4877d6d4b7cc8e9 \ + --hash=sha256:8d9c68058d882f6fc3542a8d39ef9ff94d2187dc90bd0c851e0902776b7b7a42 + # via policyengine-core +tables==3.11.1 \ + --hash=sha256:1e78fe190fdeb4afe430b79651bae2a4f341904eb85aa8dbafe5f1caee1c7f67 \ + --hash=sha256:3a9c35f87fcb6a48c79fbc4e3ab15ca8f6053c4ce13063d6ca2ec36cbb58f40f \ + --hash=sha256:4cf3218b76ba78d156d6ee75c19fb757d50682f6c7b4905370441afbfc9d77f3 \ + --hash=sha256:56bf6fb9132ead989b7e76695d7613d6d08f071a8019038d6565ba90c66b9f3e \ + --hash=sha256:78abcf413091bc7c1e4e8c10fbbb438d1ac0b5a87436c5b972c3e8253871b6fb \ + --hash=sha256:7fa6cb03f6fe55ae4f85e89ec5450e5c40cc4c52d8c3b60eb157a445c2219e89 \ + --hash=sha256:a4bbd95036a4d0cc5c86c1f87fbb490b4c53cd70982f1c01b3ed6dcb3085cbb9 \ + --hash=sha256:a6f7a3b82dbf0ae0f30de635ca88bb42dd87938b0950369d0ee4289c52ae6de2 \ + --hash=sha256:e3cfe79484351f7216eb8f3767bfa1217bfd271b04428f79cfa7ef6d7491919d \ + --hash=sha256:eb30684c42a77bbecdef2b9c763c4372b0ddc9cc5bd8b2a2055f2042eee67217 \ + --hash=sha256:f0367d2e3df0f10ea63ccf4279f3fe58e32ec481767320301a483e2b3cd83efc + # via policyengine-uk +tenacity==9.1.4 \ + --hash=sha256:6095a360c919085f28c6527de529e76a06ad89b23659fa881ae0649b867a9d55 \ + --hash=sha256:adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a + # via plotly +threadpoolctl==3.6.0 \ + --hash=sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb \ + --hash=sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e + # via blosc2 +tqdm==4.67.3 \ + --hash=sha256:7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb \ + --hash=sha256:ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf + # via huggingface-hub +traitlets==5.15.0 \ + --hash=sha256:4fead733f81cf1c4c938e06f8ca4633896833c9d89eff878159457f4d4392971 \ + --hash=sha256:fb36a18867a6803deab09f3c5e0fa81bb7b26a5c9e82501c9933f759166eff40 + # via + # ipython + # matplotlib-inline +typer==0.25.1 \ + --hash=sha256:75caa44ed46a03fb2dab8808753ffacdbfea88495e74c85a28c5eefcf5f39c89 \ + --hash=sha256:9616eb8853a09ffeabab1698952f33c6f29ffdbceb4eaeecf571880e8d7664cc + # via huggingface-hub +typing-extensions==4.15.0 \ + --hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \ + --hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548 + # via + # huggingface-hub + # pydantic + # pydantic-core + # typing-inspection +typing-inspection==0.4.2 \ + --hash=sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7 \ + --hash=sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464 + # via pydantic +urllib3==2.7.0 \ + --hash=sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c \ + --hash=sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897 + # via requests +wcwidth==0.7.0 \ + --hash=sha256:5d69154c429a82910e241c738cd0e2976fac8a2dd47a1a805f4afed1c0f136f2 \ + --hash=sha256:90e3a7ea092341c44b99562e75d09e4d5160fe7a3974c6fb842a101a95e7eed0 + # via prompt-toolkit +wheel==0.47.0 \ + --hash=sha256:212281cab4dff978f6cedd499cd893e1f620791ca6ff7107cf270781e587eced \ + --hash=sha256:cc72bd1009ba0cf63922e28f94d9d83b920aa2bb28f798a31d0691b02fa3c9b3 + # via policyengine-core diff --git a/src/policyengine/data/install/uk/py313/pylock.toml b/src/policyengine/data/install/uk/py313/pylock.toml new file mode 100644 index 00000000..4fc3d0bc --- /dev/null +++ b/src/policyengine/data/install/uk/py313/pylock.toml @@ -0,0 +1,490 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmprdlhdfl4/requirements.in --python-version 3.13 --python-platform x86_64-manylinux_2_28 --format pylock.toml --output-file bundles/4.4.3/install/uk/py313/pylock.toml +lock-version = "1.0" +created-by = "uv" +requires-python = ">=3.13" + +[[packages]] +name = "annotated-doc" +version = "0.0.4" +sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", upload-time = 2025-11-10T22:07:42Z, size = 7288, hashes = { sha256 = "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", upload-time = 2025-11-10T22:07:40Z, size = 5303, hashes = { sha256 = "571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320" } }] + +[[packages]] +name = "annotated-types" +version = "0.7.0" +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", upload-time = 2024-05-20T21:33:25Z, size = 16081, hashes = { sha256 = "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", upload-time = 2024-05-20T21:33:24Z, size = 13643, hashes = { sha256 = "1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53" } }] + +[[packages]] +name = "anyio" +version = "4.13.0" +sdist = { url = "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz", upload-time = 2026-03-24T12:59:09Z, size = 231622, hashes = { sha256 = "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/da/42/e921fccf5015463e32a3cf6ee7f980a6ed0f395ceeaa45060b61d86486c2/anyio-4.13.0-py3-none-any.whl", upload-time = 2026-03-24T12:59:08Z, size = 114353, hashes = { sha256 = "08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708" } }] + +[[packages]] +name = "asttokens" +version = "3.0.1" +sdist = { url = "https://files.pythonhosted.org/packages/be/a5/8e3f9b6771b0b408517c82d97aed8f2036509bc247d46114925e32fe33f0/asttokens-3.0.1.tar.gz", upload-time = 2025-11-15T16:43:48Z, size = 62308, hashes = { sha256 = "71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl", upload-time = 2025-11-15T16:43:16Z, size = 27047, hashes = { sha256 = "15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a" } }] + +[[packages]] +name = "attrs" +version = "26.1.0" +sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", upload-time = 2026-03-19T14:22:25Z, size = 952055, hashes = { sha256 = "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", upload-time = 2026-03-19T14:22:23Z, size = 67548, hashes = { sha256 = "c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309" } }] + +[[packages]] +name = "blosc2" +version = "4.2.0" +marker = "python_full_version >= '3.11'" +sdist = { url = "https://files.pythonhosted.org/packages/64/2b/47b891a836260185652781abf98c8868a0df361f79e66ace13cee2b46235/blosc2-4.2.0.tar.gz", upload-time = 2026-05-07T11:26:30Z, size = 5205444, hashes = { sha256 = "bbefc417322a59443d844b4d03e66b228694ec6bfd1de8bbd832c4aa0eaebe64" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/f4/ab/a0aefc8a327b7577b68fca1f456f625c2d8fbbd85d3c07531079ff75e96c/blosc2-4.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", upload-time = 2026-05-07T11:26:11Z, size = 6381473, hashes = { sha256 = "f48ea67ccd751999e9bb3c4e10853d422167b9619af701b1fdb08cc27584db96" } }] + +[[packages]] +name = "certifi" +version = "2026.4.22" +sdist = { url = "https://files.pythonhosted.org/packages/25/ee/6caf7a40c36a1220410afe15a1cc64993a1f864871f698c0f93acb72842a/certifi-2026.4.22.tar.gz", upload-time = 2026-04-22T11:26:11Z, size = 137077, hashes = { sha256 = "8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/22/30/7cd8fdcdfbc5b869528b079bfb76dcdf6056b1a2097a662e5e8c04f42965/certifi-2026.4.22-py3-none-any.whl", upload-time = 2026-04-22T11:26:09Z, size = 135707, hashes = { sha256 = "3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a" } }] + +[[packages]] +name = "charset-normalizer" +version = "3.4.7" +sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", upload-time = 2026-04-02T09:28:39Z, size = 144271, hashes = { sha256 = "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" } } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2026-04-02T09:26:50Z, size = 215595, hashes = { sha256 = "e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd" } }, + { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", upload-time = 2026-04-02T09:28:37Z, size = 61958, hashes = { sha256 = "3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d" } }, +] + +[[packages]] +name = "click" +version = "8.3.3" +sdist = { url = "https://files.pythonhosted.org/packages/bb/63/f9e1ea081ce35720d8b92acde70daaedace594dc93b693c869e0d5910718/click-8.3.3.tar.gz", upload-time = 2026-04-22T15:11:27Z, size = 328061, hashes = { sha256 = "398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/ae/44/c1221527f6a71a01ec6fbad7fa78f1d50dfa02217385cf0fa3eec7087d59/click-8.3.3-py3-none-any.whl", upload-time = 2026-04-22T15:11:25Z, size = 110502, hashes = { sha256 = "a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613" } }] + +[[packages]] +name = "decorator" +version = "5.2.1" +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", upload-time = 2025-02-24T04:41:34Z, size = 56711, hashes = { sha256 = "65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", upload-time = 2025-02-24T04:41:32Z, size = 9190, hashes = { sha256 = "d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a" } }] + +[[packages]] +name = "dpath" +version = "2.2.0" +sdist = { url = "https://files.pythonhosted.org/packages/b5/ce/e1fd64d36e4a5717bd5e6b2ad188f5eaa2e902fde871ea73a79875793fc9/dpath-2.2.0.tar.gz", upload-time = 2024-06-12T22:08:03Z, size = 28266, hashes = { sha256 = "34f7e630dc55ea3f219e555726f5da4b4b25f2200319c8e6902c394258dd6a3e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/05/d1/8952806fbf9583004ab479d8f58a9496c3d35f6b6009ddd458bdd9978eaf/dpath-2.2.0-py3-none-any.whl", upload-time = 2024-06-12T22:08:01Z, size = 17618, hashes = { sha256 = "b330a375ded0a0d2ed404440f6c6a715deae5313af40bbb01c8a41d891900576" } }] + +[[packages]] +name = "executing" +version = "2.2.1" +sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", upload-time = 2025-09-01T09:48:10Z, size = 1129488, hashes = { sha256 = "3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", upload-time = 2025-09-01T09:48:08Z, size = 28317, hashes = { sha256 = "760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017" } }] + +[[packages]] +name = "filelock" +version = "3.29.0" +sdist = { url = "https://files.pythonhosted.org/packages/b5/fe/997687a931ab51049acce6fa1f23e8f01216374ea81374ddee763c493db5/filelock-3.29.0.tar.gz", upload-time = 2026-04-19T15:39:10Z, size = 57571, hashes = { sha256 = "69974355e960702e789734cb4871f884ea6fe50bd8404051a3530bc07809cf90" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/81/47/dd9a212ef6e343a6857485ffe25bba537304f1913bdbed446a23f7f592e1/filelock-3.29.0-py3-none-any.whl", upload-time = 2026-04-19T15:39:08Z, size = 39812, hashes = { sha256 = "96f5f6344709aa1572bbf631c640e4ebeeb519e08da902c39a001882f30ac258" } }] + +[[packages]] +name = "fsspec" +version = "2026.4.0" +sdist = { url = "https://files.pythonhosted.org/packages/d5/8d/1c51c094345df128ca4a990d633fe1a0ff28726c9e6b3c41ba65087bba1d/fsspec-2026.4.0.tar.gz", upload-time = 2026-04-29T20:42:38Z, size = 312760, hashes = { sha256 = "301d8ac70ae90ef3ad05dcf94d6c3754a097f9b5fe4667d2787aa359ec7df7e4" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/d5/0c/043d5e551459da400957a1395e0febbf771446ff34291afcbe3d8be2a279/fsspec-2026.4.0-py3-none-any.whl", upload-time = 2026-04-29T20:42:36Z, size = 203402, hashes = { sha256 = "11ef7bb35dab8a394fde6e608221d5cf3e8499401c249bebaeaad760a1a8dec2" } }] + +[[packages]] +name = "h11" +version = "0.16.0" +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", upload-time = 2025-04-24T03:35:25Z, size = 101250, hashes = { sha256 = "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", upload-time = 2025-04-24T03:35:24Z, size = 37515, hashes = { sha256 = "63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86" } }] + +[[packages]] +name = "h5py" +version = "3.16.0" +sdist = { url = "https://files.pythonhosted.org/packages/db/33/acd0ce6863b6c0d7735007df01815403f5589a21ff8c2e1ee2587a38f548/h5py-3.16.0.tar.gz", upload-time = 2026-03-06T13:49:08Z, size = 446526, hashes = { sha256 = "a0dbaad796840ccaa67a4c144a0d0c8080073c34c76d5a6941d6818678ef2738" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/bd/98/ef2b6fe2903e377cbe870c3b2800d62552f1e3dbe81ce49e1923c53d1c5c/h5py-3.16.0-cp313-cp313-manylinux_2_28_x86_64.whl", upload-time = 2026-03-06T13:48:25Z, size = 5400417, hashes = { sha256 = "9300ad32dea9dfc5171f94d5f6948e159ed93e4701280b0f508773b3f582f402" } }] + +[[packages]] +name = "hf-xet" +version = "1.5.0" +marker = "platform_machine == 'AMD64' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64'" +sdist = { url = "https://files.pythonhosted.org/packages/74/d8/5c06fc76461418326a7decf8367480c35be11a41fd938633929c60a9ec6b/hf_xet-1.5.0.tar.gz", upload-time = 2026-05-06T06:18:15Z, size = 837196, hashes = { sha256 = "e0fb0a34d9f406eed88233e829a67ec016bec5af19e480eac65a233ea289a948" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/49/4d/103f76b04310e5e57656696cc184690d20c466af0bca3ca88f8c8ea5d4f3/hf_xet-1.5.0-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", upload-time = 2026-05-06T06:17:44Z, size = 4465986, hashes = { sha256 = "3531b1823a0e6d77d80f9ed15ca0e00f0d115094f8ac033d5cae88f4564cc949" } }] + +[[packages]] +name = "httpcore" +version = "1.0.9" +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", upload-time = 2025-04-24T22:06:22Z, size = 85484, hashes = { sha256 = "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", upload-time = 2025-04-24T22:06:20Z, size = 78784, hashes = { sha256 = "2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55" } }] + +[[packages]] +name = "httpx" +version = "0.28.1" +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", upload-time = 2024-12-06T15:37:23Z, size = 141406, hashes = { sha256 = "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", upload-time = 2024-12-06T15:37:21Z, size = 73517, hashes = { sha256 = "d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad" } }] + +[[packages]] +name = "huggingface-hub" +version = "1.14.0" +sdist = { url = "https://files.pythonhosted.org/packages/39/40/43109e943fd718b0ccd0cd61eb4f1c347df22bf81f5874c6f22adf44bcff/huggingface_hub-1.14.0.tar.gz", upload-time = 2026-05-06T14:14:34Z, size = 782365, hashes = { sha256 = "d6d2c9cd6be1d02ae9ec6672d5587d10a427f377db688e82528f426a041622c2" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/89/a5/33b49ba7bea7c41bb37f74ec0f8beea0831e052330196633fe2c77516ea6/huggingface_hub-1.14.0-py3-none-any.whl", upload-time = 2026-05-06T14:14:32Z, size = 661479, hashes = { sha256 = "efe075535c62e130b30e836b138e13785f6f043d1f0539e0a39aa411a99e90b8" } }] + +[[packages]] +name = "idna" +version = "3.14" +sdist = { url = "https://files.pythonhosted.org/packages/05/b1/efac073e0c297ecf2fb33c346989a529d4e19164f1759102dee5953ee17e/idna-3.14.tar.gz", upload-time = 2026-05-10T20:32:15Z, size = 198272, hashes = { sha256 = "466d810d7a2cc1022bea9b037c39728d51ae7dad40d480fc9b7d7ecf98ba8ee3" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/6c/3c/3f62dee257eb3d6b2c1ef2a09d36d9793c7111156a73b5654d2c2305e5ce/idna-3.14-py3-none-any.whl", upload-time = 2026-05-10T20:32:14Z, size = 72184, hashes = { sha256 = "e677eaf072e290f7b725f9acf0b3a2bd55f9fd6f7c70abe5f0e34823d0accf69" } }] + +[[packages]] +name = "iniconfig" +version = "2.3.0" +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", upload-time = 2025-10-18T21:55:43Z, size = 20503, hashes = { sha256 = "c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", upload-time = 2025-10-18T21:55:41Z, size = 7484, hashes = { sha256 = "f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12" } }] + +[[packages]] +name = "ipython" +version = "8.39.0" +sdist = { url = "https://files.pythonhosted.org/packages/40/18/f8598d287006885e7136451fdea0755af4ebcbfe342836f24deefaed1164/ipython-8.39.0.tar.gz", upload-time = 2026-03-27T10:02:13Z, size = 5513971, hashes = { sha256 = "4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c0/56/4cc7fc9e9e3f38fd324f24f8afe0ad8bb5fa41283f37f1aaf9de0612c968/ipython-8.39.0-py3-none-any.whl", upload-time = 2026-03-27T10:02:07Z, size = 831849, hashes = { sha256 = "bb3c51c4fa8148ab1dea07a79584d1c854e234ea44aa1283bcb37bc75054651f" } }] + +[[packages]] +name = "jedi" +version = "0.20.0" +sdist = { url = "https://files.pythonhosted.org/packages/46/b7/a3635f6a2d7cf5b5dd98064fc1d5fbbafcb25477bcea204a3a92145d158b/jedi-0.20.0.tar.gz", upload-time = 2026-05-01T23:38:47Z, size = 3119416, hashes = { sha256 = "c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/9a/93/242e2eab5fe682ffcb8b0084bde703a41d51e17ee0f3a31ff0d9d813620a/jedi-0.20.0-py2.py3-none-any.whl", upload-time = 2026-05-01T23:38:43Z, size = 4884812, hashes = { sha256 = "7bdd9c2634f56713299976f4cbd59cb3fa92165cc5e05ea811fb253480728b67" } }] + +[[packages]] +name = "jinja2" +version = "3.1.6" +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", upload-time = 2025-03-05T20:05:02Z, size = 245115, hashes = { sha256 = "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", upload-time = 2025-03-05T20:05:00Z, size = 134899, hashes = { sha256 = "85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" } }] + +[[packages]] +name = "jsonpickle" +version = "4.1.1" +sdist = { url = "https://files.pythonhosted.org/packages/e4/a6/d07afcfdef402900229bcca795f80506b207af13a838d4d99ad45abf530c/jsonpickle-4.1.1.tar.gz", upload-time = 2025-06-02T20:36:11Z, size = 316885, hashes = { sha256 = "f86e18f13e2b96c1c1eede0b7b90095bbb61d99fedc14813c44dc2f361dbbae1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c1/73/04df8a6fa66d43a9fd45c30f283cc4afff17da671886e451d52af60bdc7e/jsonpickle-4.1.1-py3-none-any.whl", upload-time = 2025-06-02T20:36:08Z, size = 47125, hashes = { sha256 = "bb141da6057898aa2438ff268362b126826c812a1721e31cf08a6e142910dc91" } }] + +[[packages]] +name = "jsonschema" +version = "4.26.0" +sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", upload-time = 2026-01-07T13:41:07Z, size = 366583, hashes = { sha256 = "0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", upload-time = 2026-01-07T13:41:05Z, size = 90630, hashes = { sha256 = "d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce" } }] + +[[packages]] +name = "jsonschema-specifications" +version = "2025.9.1" +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", upload-time = 2025-09-08T01:34:59Z, size = 32855, hashes = { sha256 = "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", upload-time = 2025-09-08T01:34:57Z, size = 18437, hashes = { sha256 = "98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe" } }] + +[[packages]] +name = "markdown-it-py" +version = "4.2.0" +sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", upload-time = 2026-05-07T12:08:28Z, size = 82454, hashes = { sha256 = "04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", upload-time = 2026-05-07T12:08:27Z, size = 91687, hashes = { sha256 = "9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a" } }] + +[[packages]] +name = "markupsafe" +version = "3.0.3" +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", upload-time = 2025-09-27T18:37:40Z, size = 80313, hashes = { sha256 = "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-09-27T18:36:45Z, size = 22980, hashes = { sha256 = "ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676" } }] + +[[packages]] +name = "matplotlib-inline" +version = "0.2.2" +sdist = { url = "https://files.pythonhosted.org/packages/bd/c0/9f7c9a46090390368a4d7bcb76bb87a4a36c421e4c0792cdb53486ffac7a/matplotlib_inline-0.2.2.tar.gz", upload-time = 2026-05-08T17:33:33Z, size = 8150, hashes = { sha256 = "72f3fe8fce36b70d4a5b612f899090cd0401deddc4ea90e1572b9f4bfb058c79" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/41/09/5b161152e2d90f7b87f781c2e1267494aef9c32498df793f73ad0a0a494a/matplotlib_inline-0.2.2-py3-none-any.whl", upload-time = 2026-05-08T17:33:32Z, size = 9534, hashes = { sha256 = "3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6" } }] + +[[packages]] +name = "mdurl" +version = "0.1.2" +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", upload-time = 2022-08-14T12:40:10Z, size = 8729, hashes = { sha256 = "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", upload-time = 2022-08-14T12:40:09Z, size = 9979, hashes = { sha256 = "84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8" } }] + +[[packages]] +name = "microdf-python" +version = "1.3.0" +sdist = { url = "https://files.pythonhosted.org/packages/a3/1b/a4b6a53c8e6668c190e1928ebf9f8c67d6a4995ff4a4b0e3403ded30d4ab/microdf_python-1.3.0.tar.gz", upload-time = 2026-04-17T23:20:57Z, size = 28141, hashes = { sha256 = "f352fe32c25a4fd6d6188ef6aaca0214b53b29a8a7913aca6af0362dd9c922bd" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b9/aa/ce692e0488b5e6c0943f52886cf6a15f5d9a6dee7744b190a3a1d67f5d6e/microdf_python-1.3.0-py3-none-any.whl", upload-time = 2026-04-17T23:20:56Z, size = 28908, hashes = { sha256 = "e17757a198648108eae24f39384e27b5ae8061acf1b43fa56520010dc00a7b55" } }] + +[[packages]] +name = "msgpack" +version = "1.1.2" +marker = "python_full_version >= '3.11'" +sdist = { url = "https://files.pythonhosted.org/packages/4d/f2/bfb55a6236ed8725a96b0aa3acbd0ec17588e6a2c3b62a93eb513ed8783f/msgpack-1.1.2.tar.gz", upload-time = 2025-10-08T09:15:56Z, size = 173581, hashes = { sha256 = "3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/5d/ba/459f18c16f2b3fc1a1ca871f72f07d70c07bf768ad0a507a698b8052ac58/msgpack-1.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-10-08T09:15:17Z, size = 424657, hashes = { sha256 = "fac4be746328f90caa3cd4bc67e6fe36ca2bf61d5c6eb6d895b6527e3f05071e" } }] + +[[packages]] +name = "ndindex" +version = "1.10.1" +marker = "python_full_version >= '3.11'" +sdist = { url = "https://files.pythonhosted.org/packages/f5/92/4b9d2f4e0f3eabcfc7b02b48261f6e5ad36a3e2c1bbdcc4e3b7b6c768fa6/ndindex-1.10.1.tar.gz", upload-time = 2025-11-19T20:40:08Z, size = 271395, hashes = { sha256 = "0f6113c1f031248f8818cbee1aa92aa3c9472b7701debcce9fddebcd2f610f11" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/21/91/d8f19f0b8fc9c5585b50fda44c05415da0bdc5fa9c9c69011015dac27880/ndindex-1.10.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-11-19T20:39:00Z, size = 528213, hashes = { sha256 = "e69a2cb1ac7be955c3c77f1def83f410775a81525c9ce2d4c0a3f2a61589ed47" } }] + +[[packages]] +name = "networkx" +version = "3.6.1" +sdist = { url = "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz", upload-time = 2025-12-08T17:02:39Z, size = 2517025, hashes = { sha256 = "26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", upload-time = 2025-12-08T17:02:38Z, size = 2068504, hashes = { sha256 = "d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762" } }] + +[[packages]] +name = "numexpr" +version = "2.14.1" +sdist = { url = "https://files.pythonhosted.org/packages/cb/2f/fdba158c9dbe5caca9c3eca3eaffffb251f2fb8674bf8e2d0aed5f38d319/numexpr-2.14.1.tar.gz", upload-time = 2025-10-13T16:17:27Z, size = 119400, hashes = { sha256 = "4be00b1086c7b7a5c32e31558122b7b80243fe098579b170967da83f3152b48b" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/fc/f9/c9457652dfe28e2eb898372da2fe786c6db81af9540c0f853ee04a0699cc/numexpr-2.14.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-10-13T16:15:17Z, size = 446574, hashes = { sha256 = "05f9366d23a2e991fd5a8b5e61a17558f028ba86158a4552f8f239b005cdf83c" } }] + +[[packages]] +name = "numpy" +version = "2.4.4" +sdist = { url = "https://files.pythonhosted.org/packages/d7/9f/b8cef5bffa569759033adda9481211426f12f53299629b410340795c2514/numpy-2.4.4.tar.gz", upload-time = 2026-03-29T13:22:01Z, size = 20731587, hashes = { sha256 = "2d390634c5182175533585cc89f3608a4682ccb173cc9bb940b2881c8d6f8fa0" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/d1/73/a9d864e42a01896bb5974475438f16086be9ba1f0d19d0bb7a07427c4a8b/numpy-2.4.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2026-03-29T13:19:37Z, size = 16632682, hashes = { sha256 = "c901b15172510173f5cb310eae652908340f8dede90fff9e3bf6c0d8dfd92f83" } }] + +[[packages]] +name = "packaging" +version = "26.2" +sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", upload-time = 2026-04-24T20:15:23Z, size = 228134, hashes = { sha256 = "ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", upload-time = 2026-04-24T20:15:22Z, size = 100195, hashes = { sha256 = "5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e" } }] + +[[packages]] +name = "pandas" +version = "3.0.3" +sdist = { url = "https://files.pythonhosted.org/packages/f8/87/4341c6252d1c47b08768c3d25ac487362bf403f0313ddae4a2a26c9b1b4c/pandas-3.0.3.tar.gz", upload-time = 2026-05-11T18:54:29Z, size = 4651414, hashes = { sha256 = "696a4a00a2a2a35d4e5deb3fc946641b96c944f02230e4f76137fe35d806c4fc" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/99/68/1237369725aa617bb358263d535803e3053fdbc593513ec5ed9c9896b5b6/pandas-3.0.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2026-05-11T18:53:07Z, size = 10891243, hashes = { sha256 = "a4eeb6830daf35a71cc09649bd823e2b542dac246cdee9614c6e4bd65028cd6a" } }] + +[[packages]] +name = "parso" +version = "0.8.7" +sdist = { url = "https://files.pythonhosted.org/packages/30/4b/90c937815137d43ce71ba043cd3566221e9df6b9c805f24b5d138c9d40a7/parso-0.8.7.tar.gz", upload-time = 2026-05-01T23:13:02Z, size = 401824, hashes = { sha256 = "eaaac4c9fdd5e9e8852dc778d2d7405897ec510f2a298071453e5e3a07914bb1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/99/5d/8268b644392ee874ee82a635cd0df1773de230bde356c38de28e298392cc/parso-0.8.7-py2.py3-none-any.whl", upload-time = 2026-05-01T23:12:58Z, size = 107025, hashes = { sha256 = "a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c" } }] + +[[packages]] +name = "pexpect" +version = "4.9.0" +marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", upload-time = 2023-11-25T09:07:26Z, size = 166450, hashes = { sha256 = "ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", upload-time = 2023-11-25T06:56:14Z, size = 63772, hashes = { sha256 = "7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523" } }] + +[[packages]] +name = "plotly" +version = "5.24.1" +sdist = { url = "https://files.pythonhosted.org/packages/79/4f/428f6d959818d7425a94c190a6b26fbc58035cbef40bf249be0b62a9aedd/plotly-5.24.1.tar.gz", upload-time = 2024-09-12T15:36:31Z, size = 9479398, hashes = { sha256 = "dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/e5/ae/580600f441f6fc05218bd6c9d5794f4aef072a7d9093b291f1c50a9db8bc/plotly-5.24.1-py3-none-any.whl", upload-time = 2024-09-12T15:36:24Z, size = 19054220, hashes = { sha256 = "f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089" } }] + +[[packages]] +name = "pluggy" +version = "1.6.0" +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", upload-time = 2025-05-15T12:30:07Z, size = 69412, hashes = { sha256 = "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", upload-time = 2025-05-15T12:30:06Z, size = 20538, hashes = { sha256 = "e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" } }] + +[[packages]] +name = "policyengine" +version = "4.4.3" +sdist = { url = "https://files.pythonhosted.org/packages/92/f1/1164557ced4db47a9fddf7e5d301a30578de0cb1fb284c5803c238916df7/policyengine-4.4.3.tar.gz", upload-time = 2026-05-11T19:53:39Z, size = 522387, hashes = { sha256 = "555f1461b11ba5d934d5e432e806fcf6d31d2e41a742cd010e9c3c46acd0652e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/68/16/f42e21772742c594194b53302e798c83065c45f34df9b04578540488149d/policyengine-4.4.3-py3-none-any.whl", upload-time = 2026-05-11T19:53:37Z, size = 160790, hashes = { sha256 = "a12e8ed43a4b0f205d853853ccc678b2b8857381b8111336e711e35d8e6b1336" } }] + +[[packages]] +name = "policyengine-core" +version = "3.26.1" +sdist = { url = "https://files.pythonhosted.org/packages/e7/56/666e1e708cbd61078989edc943d5389d45123beb7124a5e3180171656ff6/policyengine_core-3.26.1.tar.gz", upload-time = 2026-05-07T23:46:43Z, size = 472159, hashes = { sha256 = "dc4e3007bcd137cbe608042d067cedb889a9b8671db3d08c8e237f1ac3e324b4" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/15/2f/9be635fe4dfb2fe65d200c33695f5a96ef98a2921f06ff6d465384b0e551/policyengine_core-3.26.1-py3-none-any.whl", upload-time = 2026-05-07T23:46:41Z, size = 232190, hashes = { sha256 = "185374b3c1fe13dc951637c49a9853211ca61a8a9971eb9cc4c4b07b1477240a" } }] + +[[packages]] +name = "policyengine-uk" +version = "2.88.14" +sdist = { url = "https://files.pythonhosted.org/packages/8c/2b/ab82aa30c5d27176fd9d449ff5ed9708d0080b00912f7dc2efa0af0fd87e/policyengine_uk-2.88.14.tar.gz", upload-time = 2026-05-09T04:19:25Z, size = 1185947, hashes = { sha256 = "21a4387ae52dcb5430b6d790edcc321816ed47147a3a0e21ffd482a36834d352" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/a3/fc/276fb639a46bda35523329d8968bcc4089fde9e97fab82722c0ec853c6cc/policyengine_uk-2.88.14-py3-none-any.whl", upload-time = 2026-05-09T04:19:23Z, size = 1913671, hashes = { sha256 = "ed10005ba7d0c973c0966ebbf7672853fb3caaa0456b8bf485fb13f8c323d975" } }] + +[[packages]] +name = "prompt-toolkit" +version = "3.0.52" +sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", upload-time = 2025-08-27T15:24:02Z, size = 434198, hashes = { sha256 = "28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", upload-time = 2025-08-27T15:23:59Z, size = 391431, hashes = { sha256 = "9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955" } }] + +[[packages]] +name = "psutil" +version = "6.1.1" +sdist = { url = "https://files.pythonhosted.org/packages/1f/5a/07871137bb752428aa4b659f910b399ba6f291156bdea939be3e96cae7cb/psutil-6.1.1.tar.gz", upload-time = 2024-12-19T18:21:20Z, size = 508502, hashes = { sha256 = "cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/9c/39/0f88a830a1c8a3aba27fededc642da37613c57cbff143412e3536f89784f/psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", upload-time = 2024-12-19T18:21:55Z, size = 287477, hashes = { sha256 = "97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160" } }] + +[[packages]] +name = "ptyprocess" +version = "0.7.0" +marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", upload-time = 2020-12-28T15:15:30Z, size = 70762, hashes = { sha256 = "5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", upload-time = 2020-12-28T15:15:28Z, size = 13993, hashes = { sha256 = "4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35" } }] + +[[packages]] +name = "pure-eval" +version = "0.2.3" +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", upload-time = 2024-07-21T12:58:21Z, size = 19752, hashes = { sha256 = "5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", upload-time = 2024-07-21T12:58:20Z, size = 11842, hashes = { sha256 = "1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0" } }] + +[[packages]] +name = "py-cpuinfo" +version = "9.0.0" +marker = "python_full_version >= '3.11'" +sdist = { url = "https://files.pythonhosted.org/packages/37/a8/d832f7293ebb21690860d2e01d8115e5ff6f2ae8bbdc953f0eb0fa4bd2c7/py-cpuinfo-9.0.0.tar.gz", upload-time = 2022-10-25T20:38:06Z, size = 104716, hashes = { sha256 = "3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl", upload-time = 2022-10-25T20:38:27Z, size = 22335, hashes = { sha256 = "859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5" } }] + +[[packages]] +name = "pydantic" +version = "2.13.4" +sdist = { url = "https://files.pythonhosted.org/packages/18/a5/b60d21ac674192f8ab0ba4e9fd860690f9b4a6e51ca5df118733b487d8d6/pydantic-2.13.4.tar.gz", upload-time = 2026-05-06T13:43:05Z, size = 844775, hashes = { sha256 = "c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl", upload-time = 2026-05-06T13:43:02Z, size = 472262, hashes = { sha256 = "45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba" } }] + +[[packages]] +name = "pydantic-core" +version = "2.46.4" +sdist = { url = "https://files.pythonhosted.org/packages/9d/56/921726b776ace8d8f5db44c4ef961006580d91dc52b803c489fafd1aa249/pydantic_core-2.46.4.tar.gz", upload-time = 2026-05-06T13:37:06Z, size = 471464, hashes = { sha256 = "62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/07/f8/41db9de19d7987d6b04715a02b3b40aea467000275d9d758ffaa31af7d50/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", upload-time = 2026-05-06T13:39:18Z, size = 2094467, hashes = { sha256 = "9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a" } }] + +[[packages]] +name = "pygments" +version = "2.20.0" +sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", upload-time = 2026-03-29T13:29:33Z, size = 4955991, hashes = { sha256 = "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", upload-time = 2026-03-29T13:29:30Z, size = 1231151, hashes = { sha256 = "81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176" } }] + +[[packages]] +name = "pytest" +version = "8.4.2" +sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", upload-time = 2025-09-04T14:34:22Z, size = 1519618, hashes = { sha256 = "86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", upload-time = 2025-09-04T14:34:20Z, size = 365750, hashes = { sha256 = "872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79" } }] + +[[packages]] +name = "python-dateutil" +version = "2.9.0.post0" +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", upload-time = 2024-03-01T18:36:20Z, size = 342432, hashes = { sha256 = "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", upload-time = 2024-03-01T18:36:18Z, size = 229892, hashes = { sha256 = "a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" } }] + +[[packages]] +name = "pyvis" +version = "0.3.2" +wheels = [{ url = "https://files.pythonhosted.org/packages/ab/4b/e37e4e5d5ee1179694917b445768bdbfb084f5a59ecd38089d3413d4c70f/pyvis-0.3.2-py3-none-any.whl", upload-time = 2023-02-24T20:29:46Z, size = 756038, hashes = { sha256 = "5720c4ca8161dc5d9ab352015723abb7a8bb8fb443edeb07f7a322db34a97555" } }] + +[[packages]] +name = "pyyaml" +version = "6.0.3" +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", upload-time = 2025-09-25T21:33:16Z, size = 130960, hashes = { sha256 = "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-09-25T21:32:28Z, size = 801626, hashes = { sha256 = "0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6" } }] + +[[packages]] +name = "referencing" +version = "0.37.0" +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", upload-time = 2025-10-13T15:30:48Z, size = 78036, hashes = { sha256 = "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", upload-time = 2025-10-13T15:30:47Z, size = 26766, hashes = { sha256 = "381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231" } }] + +[[packages]] +name = "requests" +version = "2.34.0" +sdist = { url = "https://files.pythonhosted.org/packages/43/b8/7a707d60fea4c49094e40262cc0e2ca6c768cca21587e34d3f705afec47e/requests-2.34.0.tar.gz", upload-time = 2026-05-11T19:29:51Z, size = 142436, hashes = { sha256 = "7d62fe92f50eb82c529b0916bb445afa1531a566fc8f35ffdc64446e771b856a" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/ef/e6/e300fce5fe83c30520607a015dabd985df3251e188d234bfe9492e17a389/requests-2.34.0-py3-none-any.whl", upload-time = 2026-05-11T19:29:49Z, size = 73021, hashes = { sha256 = "917520a21b767485ce7c588f4ebb917c436b24a31231b44228715eaeb5a52c60" } }] + +[[packages]] +name = "rich" +version = "15.0.0" +sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", upload-time = 2026-04-12T08:24:00Z, size = 230680, hashes = { sha256 = "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", upload-time = 2026-04-12T08:24:02Z, size = 310654, hashes = { sha256 = "33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb" } }] + +[[packages]] +name = "rpds-py" +version = "0.30.0" +sdist = { url = "https://files.pythonhosted.org/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz", upload-time = 2025-11-30T20:24:38Z, size = 69469, hashes = { sha256 = "dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b7/de/f7192e12b21b9e9a68a6d0f249b4af3fdcdff8418be0767a627564afa1f1/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", upload-time = 2025-11-30T20:22:50Z, size = 394025, hashes = { sha256 = "9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6" } }] + +[[packages]] +name = "shellingham" +version = "1.5.4" +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", upload-time = 2023-10-24T04:13:40Z, size = 10310, hashes = { sha256 = "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", upload-time = 2023-10-24T04:13:38Z, size = 9755, hashes = { sha256 = "7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686" } }] + +[[packages]] +name = "six" +version = "1.17.0" +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", upload-time = 2024-12-04T17:35:28Z, size = 34031, hashes = { sha256 = "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", upload-time = 2024-12-04T17:35:26Z, size = 11050, hashes = { sha256 = "4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274" } }] + +[[packages]] +name = "sortedcontainers" +version = "2.4.0" +sdist = { url = "https://files.pythonhosted.org/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111/sortedcontainers-2.4.0.tar.gz", upload-time = 2021-05-16T22:03:42Z, size = 30594, hashes = { sha256 = "25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", upload-time = 2021-05-16T22:03:41Z, size = 29575, hashes = { sha256 = "a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0" } }] + +[[packages]] +name = "stack-data" +version = "0.6.3" +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", upload-time = 2023-09-30T13:58:05Z, size = 44707, hashes = { sha256 = "836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", upload-time = 2023-09-30T13:58:03Z, size = 24521, hashes = { sha256 = "d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695" } }] + +[[packages]] +name = "standard-imghdr" +version = "3.13.0" +sdist = { url = "https://files.pythonhosted.org/packages/1a/8d/ab2620fbe2e348483c9cb776c3b7b3cc407899291a041d7fa026469b7cd1/standard_imghdr-3.13.0.tar.gz", upload-time = 2024-10-30T16:01:36Z, size = 5511, hashes = { sha256 = "8d9c68058d882f6fc3542a8d39ef9ff94d2187dc90bd0c851e0902776b7b7a42" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/df/cb/e1da7e340586a078404c7e4328bfefc930867ace8a9a55916fd220cf9547/standard_imghdr-3.13.0-py3-none-any.whl", upload-time = 2024-10-30T16:01:13Z, size = 4639, hashes = { sha256 = "30a1bff5465605bb496f842a6ac3cc1f2131bf3025b0da28d4877d6d4b7cc8e9" } }] + +[[packages]] +name = "tables" +version = "3.11.1" +marker = "python_full_version >= '3.11'" +sdist = { url = "https://files.pythonhosted.org/packages/cc/a3/d213ebe7376d48055bd55a29cd9f99061afa0dcece608f94a5025d797b0a/tables-3.11.1.tar.gz", upload-time = 2026-03-01T11:43:36Z, size = 4790533, hashes = { sha256 = "78abcf413091bc7c1e4e8c10fbbb438d1ac0b5a87436c5b972c3e8253871b6fb" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/99/29/c2dc674ea70fa9a4819417289a9c0d3e4780835beeed573eb66964cfb763/tables-3.11.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2026-03-01T11:43:03Z, size = 7241357, hashes = { sha256 = "1e78fe190fdeb4afe430b79651bae2a4f341904eb85aa8dbafe5f1caee1c7f67" } }] + +[[packages]] +name = "tenacity" +version = "9.1.4" +sdist = { url = "https://files.pythonhosted.org/packages/47/c6/ee486fd809e357697ee8a44d3d69222b344920433d3b6666ccd9b374630c/tenacity-9.1.4.tar.gz", upload-time = 2026-02-07T10:45:33Z, size = 49413, hashes = { sha256 = "adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/d7/c1/eb8f9debc45d3b7918a32ab756658a0904732f75e555402972246b0b8e71/tenacity-9.1.4-py3-none-any.whl", upload-time = 2026-02-07T10:45:32Z, size = 28926, hashes = { sha256 = "6095a360c919085f28c6527de529e76a06ad89b23659fa881ae0649b867a9d55" } }] + +[[packages]] +name = "threadpoolctl" +version = "3.6.0" +marker = "python_full_version >= '3.11' and platform_machine != 'wasm32'" +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", upload-time = 2025-03-13T13:49:23Z, size = 21274, hashes = { sha256 = "8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", upload-time = 2025-03-13T13:49:21Z, size = 18638, hashes = { sha256 = "43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb" } }] + +[[packages]] +name = "tqdm" +version = "4.67.3" +sdist = { url = "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz", upload-time = 2026-02-03T17:35:53Z, size = 169598, hashes = { sha256 = "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl", upload-time = 2026-02-03T17:35:50Z, size = 78374, hashes = { sha256 = "ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf" } }] + +[[packages]] +name = "traitlets" +version = "5.15.0" +sdist = { url = "https://files.pythonhosted.org/packages/1b/22/40f55b26baeab80c2d7b3f1db0682f8954e4617fee7d90ce634022ef05c6/traitlets-5.15.0.tar.gz", upload-time = 2026-05-06T08:05:58Z, size = 163197, hashes = { sha256 = "4fead733f81cf1c4c938e06f8ca4633896833c9d89eff878159457f4d4392971" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/da/98/a9937a969d018a23badfea0b381f66783649d48e0ea6c41923265c3cbeb3/traitlets-5.15.0-py3-none-any.whl", upload-time = 2026-05-06T08:05:55Z, size = 85877, hashes = { sha256 = "fb36a18867a6803deab09f3c5e0fa81bb7b26a5c9e82501c9933f759166eff40" } }] + +[[packages]] +name = "typer" +version = "0.25.1" +sdist = { url = "https://files.pythonhosted.org/packages/e4/51/9aed62104cea109b820bbd6c14245af756112017d309da813ef107d42e7e/typer-0.25.1.tar.gz", upload-time = 2026-04-30T19:32:16Z, size = 122276, hashes = { sha256 = "9616eb8853a09ffeabab1698952f33c6f29ffdbceb4eaeecf571880e8d7664cc" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/3f/f9/2b3ff4e56e5fa7debfaf9eb135d0da96f3e9a1d5b27222223c7296336e5f/typer-0.25.1-py3-none-any.whl", upload-time = 2026-04-30T19:32:18Z, size = 58409, hashes = { sha256 = "75caa44ed46a03fb2dab8808753ffacdbfea88495e74c85a28c5eefcf5f39c89" } }] + +[[packages]] +name = "typing-extensions" +version = "4.15.0" +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", upload-time = 2025-08-25T13:49:26Z, size = 109391, hashes = { sha256 = "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", upload-time = 2025-08-25T13:49:24Z, size = 44614, hashes = { sha256 = "f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548" } }] + +[[packages]] +name = "typing-inspection" +version = "0.4.2" +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", upload-time = 2025-10-01T02:14:41Z, size = 75949, hashes = { sha256 = "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", upload-time = 2025-10-01T02:14:40Z, size = 14611, hashes = { sha256 = "4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7" } }] + +[[packages]] +name = "urllib3" +version = "2.7.0" +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", upload-time = 2026-05-07T16:13:18Z, size = 433602, hashes = { sha256 = "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", upload-time = 2026-05-07T16:13:17Z, size = 131087, hashes = { sha256 = "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" } }] + +[[packages]] +name = "wcwidth" +version = "0.7.0" +sdist = { url = "https://files.pythonhosted.org/packages/2c/ee/afaf0f85a9a18fe47a67f1e4422ed6cf1fe642f0ae0a2f81166231303c52/wcwidth-0.7.0.tar.gz", upload-time = 2026-05-02T16:04:12Z, size = 182132, hashes = { sha256 = "90e3a7ea092341c44b99562e75d09e4d5160fe7a3974c6fb842a101a95e7eed0" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/41/52/e465037f5375f43533d1a80b6923955201596a99142ed524d77b571a1418/wcwidth-0.7.0-py3-none-any.whl", upload-time = 2026-05-02T16:04:11Z, size = 110825, hashes = { sha256 = "5d69154c429a82910e241c738cd0e2976fac8a2dd47a1a805f4afed1c0f136f2" } }] + +[[packages]] +name = "wheel" +version = "0.47.0" +sdist = { url = "https://files.pythonhosted.org/packages/39/62/75f18a0f03b4219c456652c7780e4d749b929eb605c098ce3a5b6b6bc081/wheel-0.47.0.tar.gz", upload-time = 2026-04-22T15:51:27Z, size = 63854, hashes = { sha256 = "cc72bd1009ba0cf63922e28f94d9d83b920aa2bb28f798a31d0691b02fa3c9b3" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/87/1b/9e33c09813d65e248f7f773119148a612516a4bea93e9c6f545f78455b7c/wheel-0.47.0-py3-none-any.whl", upload-time = 2026-04-22T15:51:26Z, size = 32218, hashes = { sha256 = "212281cab4dff978f6cedd499cd893e1f620791ca6ff7107cf270781e587eced" } }] diff --git a/src/policyengine/data/install/us/py313/constraints.txt b/src/policyengine/data/install/us/py313/constraints.txt new file mode 100644 index 00000000..94732811 --- /dev/null +++ b/src/policyengine/data/install/us/py313/constraints.txt @@ -0,0 +1,1417 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmpmrfellmb/requirements.in --python-version 3.13 --python-platform x86_64-manylinux_2_28 --format requirements.txt --generate-hashes --output-file bundles/4.4.3/install/us/py313/constraints.txt +annotated-doc==0.0.4 \ + --hash=sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320 \ + --hash=sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4 + # via typer +annotated-types==0.7.0 \ + --hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 \ + --hash=sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89 + # via pydantic +anyio==4.13.0 \ + --hash=sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708 \ + --hash=sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc + # via httpx +asttokens==3.0.1 \ + --hash=sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a \ + --hash=sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7 + # via stack-data +attrs==26.1.0 \ + --hash=sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309 \ + --hash=sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32 + # via + # jsonschema + # referencing +blosc2==4.2.0 \ + --hash=sha256:0f6444e125142876f8ce02f1ec8a13499f436a01e7ffdffd080d7156fd5fa079 \ + --hash=sha256:1a77412d3229a7ec4ce8e353604e563400cc57346d6e8ba578453a6134bf2190 \ + --hash=sha256:1e2f0767c68c4e5dea1543c7c138421264db494a6bbeb6ab81f101bcb6382ff4 \ + --hash=sha256:2423b70dc17b048382f8a9a17085842a7c3c2f9bb14d3be2f8a7cbb378ef4ad9 \ + --hash=sha256:291f689635c9ebc30a6b13fdc0f2069ab7a245fa27dabe8fa14b6d35c3f096cf \ + --hash=sha256:3b72e9bbce0459ec695e25bb1fba8fa05ba9af4fed71c220d20376df99cf32fa \ + --hash=sha256:44a2070a6efa990986a26a4f9a2d8a2fa9ee9ec705617d38750bcb019c53d632 \ + --hash=sha256:4f7b006333891d3594660abb7820be0497c0baab3538742562caa78e03e5312c \ + --hash=sha256:59f4de7f9e8a587e5c6e6ae54ba74f4d78a47a1cc3f097d03105274b36720da6 \ + --hash=sha256:5b16df388e1884e458955de64db6ce6db438154fb3fe9089180ef9863ceb79bf \ + --hash=sha256:6ff429d2364f423229e82037adb1efe91a5f3dc767f0817cbc635adf84b83e20 \ + --hash=sha256:7888ac409a479da50d7e02eeb1bcbf1e45213af362eff1b938d584cf66c2f39b \ + --hash=sha256:87c3a108c8ce311eb00a7c3d32d4d0ab023599a2d23fc07c998debe2dad00f8e \ + --hash=sha256:89227492844ec7b487e7182314ac75997d5f864be2025cf6879f355fdb669532 \ + --hash=sha256:8ff3c6b2cf7d3e6a3481f7e1a6eef283af3e2b65f53401b1ebc63eea14b0b758 \ + --hash=sha256:976abf343866c97de637adb452153dfbe63c2b69a2a4999dc494ebc22585a567 \ + --hash=sha256:9c5c0ae30c831a90a9d1973cecbeab99a7de2df4f172ac8020d2d60d1c2c5ae2 \ + --hash=sha256:9cadf2708888e586027178be9e17215ae6f20fb5829596e9771751aa453e7a0e \ + --hash=sha256:9eb69182c51cda1b402aaf78ce908759f7a277420ce3fad9981ff560544e50b3 \ + --hash=sha256:a07e0d16aab433e10d173b553fabb7b8cf64e5dd826eaae548d2e9a9ac5f2f69 \ + --hash=sha256:a269a8b265caed0093f3ee99eff8c8691da407764f5ee5b1bd0c12044fcb6c51 \ + --hash=sha256:ad857c3dddaf5486a49b59f4f351079bfc8f50786d033638bf722e4fa7595249 \ + --hash=sha256:afc041c5de1d66fb731c45bd5bcf84356da3f17b4acdec5a8448236c6d48f845 \ + --hash=sha256:b8d907efa30a2ca4895dd37fa0b527ee88be17df1981f98194f867d97ff07429 \ + --hash=sha256:bb67066f1a64d7929f271836994e5fb0383ae8b8f03d673650a94dafd7eaa349 \ + --hash=sha256:bb82cc1d528bac82c0b5c2009377f5be6528405d2737fd151ffce4dc6fe0a96b \ + --hash=sha256:bbefc417322a59443d844b4d03e66b228694ec6bfd1de8bbd832c4aa0eaebe64 \ + --hash=sha256:d28efb0b13c1f22db4a799d22ab02b0024fd4ecd1cc47dbe756d88e08079867a \ + --hash=sha256:e997adbf086a4b98f732504952193afa817c41a7c70d26bce71fdd397542c664 \ + --hash=sha256:f48ea67ccd751999e9bb3c4e10853d422167b9619af701b1fdb08cc27584db96 \ + --hash=sha256:fa448c419a8227321cab735aece33fca1afac1447cd140a3db81a6b2bed560fa + # via tables +census==0.8.26 \ + --hash=sha256:c341bbce4bcdd75c0ddecf75f28ab7eda26a47d7fecc95c4690a2d8ee5b6a727 \ + --hash=sha256:c7f9944e38952b4ecc137d14d083018a1c2734f64d2fbc4a8946f35fd51888c2 + # via spm-calculator +certifi==2026.4.22 \ + --hash=sha256:3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a \ + --hash=sha256:8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580 + # via + # httpcore + # httpx + # requests +charset-normalizer==3.4.7 \ + --hash=sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc \ + --hash=sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c \ + --hash=sha256:07d9e39b01743c3717745f4c530a6349eadbfa043c7577eef86c502c15df2c67 \ + --hash=sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4 \ + --hash=sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0 \ + --hash=sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c \ + --hash=sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5 \ + --hash=sha256:12a6fff75f6bc66711b73a2f0addfc4c8c15a20e805146a02d147a318962c444 \ + --hash=sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153 \ + --hash=sha256:14265bfe1f09498b9d8ec91e9ec9fa52775edf90fcbde092b25f4a33d444fea9 \ + --hash=sha256:16d971e29578a5e97d7117866d15889a4a07befe0e87e703ed63cd90cb348c01 \ + --hash=sha256:177a0ba5f0211d488e295aaf82707237e331c24788d8d76c96c5a41594723217 \ + --hash=sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b \ + --hash=sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c \ + --hash=sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a \ + --hash=sha256:1dc8b0ea451d6e69735094606991f32867807881400f808a106ee1d963c46a83 \ + --hash=sha256:1efde3cae86c8c273f1eb3b287be7d8499420cf2fe7585c41d370d3e790054a5 \ + --hash=sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7 \ + --hash=sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb \ + --hash=sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c \ + --hash=sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1 \ + --hash=sha256:2cd4a60d0e2fb04537162c62bbbb4182f53541fe0ede35cdf270a1c1e723cc42 \ + --hash=sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab \ + --hash=sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df \ + --hash=sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e \ + --hash=sha256:320ade88cfb846b8cd6b4ddf5ee9e80ee0c1f52401f2456b84ae1ae6a1a5f207 \ + --hash=sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18 \ + --hash=sha256:36836d6ff945a00b88ba1e4572d721e60b5b8c98c155d465f56ad19d68f23734 \ + --hash=sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38 \ + --hash=sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110 \ + --hash=sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18 \ + --hash=sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44 \ + --hash=sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d \ + --hash=sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48 \ + --hash=sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e \ + --hash=sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5 \ + --hash=sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d \ + --hash=sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53 \ + --hash=sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790 \ + --hash=sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c \ + --hash=sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b \ + --hash=sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116 \ + --hash=sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d \ + --hash=sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10 \ + --hash=sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6 \ + --hash=sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2 \ + --hash=sha256:6370e8686f662e6a3941ee48ed4742317cafbe5707e36406e9df792cdb535776 \ + --hash=sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a \ + --hash=sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265 \ + --hash=sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008 \ + --hash=sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943 \ + --hash=sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374 \ + --hash=sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246 \ + --hash=sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e \ + --hash=sha256:6e0d51f618228538a3e8f46bd246f87a6cd030565e015803691603f55e12afb5 \ + --hash=sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616 \ + --hash=sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15 \ + --hash=sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41 \ + --hash=sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960 \ + --hash=sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752 \ + --hash=sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e \ + --hash=sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72 \ + --hash=sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7 \ + --hash=sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8 \ + --hash=sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b \ + --hash=sha256:813c0e0132266c08eb87469a642cb30aaff57c5f426255419572aaeceeaa7bf4 \ + --hash=sha256:82b271f5137d07749f7bf32f70b17ab6eaabedd297e75dce75081a24f76eb545 \ + --hash=sha256:84c018e49c3bf790f9c2771c45e9313a08c2c2a6342b162cd650258b57817706 \ + --hash=sha256:8751d2787c9131302398b11e6c8068053dcb55d5a8964e114b6e196cf16cb366 \ + --hash=sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb \ + --hash=sha256:87fad7d9ba98c86bcb41b2dc8dbb326619be2562af1f8ff50776a39e55721c5a \ + --hash=sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e \ + --hash=sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00 \ + --hash=sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f \ + --hash=sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a \ + --hash=sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1 \ + --hash=sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66 \ + --hash=sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356 \ + --hash=sha256:a6c5863edfbe888d9eff9c8b8087354e27618d9da76425c119293f11712a6319 \ + --hash=sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4 \ + --hash=sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad \ + --hash=sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d \ + --hash=sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5 \ + --hash=sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7 \ + --hash=sha256:aef65cd602a6d0e0ff6f9930fcb1c8fec60dd2cfcb6facaf4bdb0e5873042db0 \ + --hash=sha256:af21eb4409a119e365397b2adbaca4c9ccab56543a65d5dbd9f920d6ac29f686 \ + --hash=sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34 \ + --hash=sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49 \ + --hash=sha256:bb8cc7534f51d9a017b93e3e85b260924f909601c3df002bcdb58ddb4dc41a5c \ + --hash=sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1 \ + --hash=sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e \ + --hash=sha256:bd9b23791fe793e4968dba0c447e12f78e425c59fc0e3b97f6450f4781f3ee60 \ + --hash=sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0 \ + --hash=sha256:c0f081d69a6e58272819b70288d3221a6ee64b98df852631c80f293514d3b274 \ + --hash=sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d \ + --hash=sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0 \ + --hash=sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae \ + --hash=sha256:c593052c465475e64bbfe5dbd81680f64a67fdc752c56d7a0ae205dc8aeefe0f \ + --hash=sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d \ + --hash=sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe \ + --hash=sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3 \ + --hash=sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393 \ + --hash=sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1 \ + --hash=sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af \ + --hash=sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44 \ + --hash=sha256:d61f00a0869d77422d9b2aba989e2d24afa6ffd552af442e0e58de4f35ea6d00 \ + --hash=sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c \ + --hash=sha256:dca4bbc466a95ba9c0234ef56d7dd9509f63da22274589ebd4ed7f1f4d4c54e3 \ + --hash=sha256:dd915403e231e6b1809fe9b6d9fc55cf8fb5e02765ac625d9cd623342a7905d7 \ + --hash=sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd \ + --hash=sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e \ + --hash=sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b \ + --hash=sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8 \ + --hash=sha256:e5f4d355f0a2b1a31bc3edec6795b46324349c9cb25eed068049e4f472fb4259 \ + --hash=sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859 \ + --hash=sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46 \ + --hash=sha256:e80c8378d8f3d83cd3164da1ad2df9e37a666cdde7b1cb2298ed0b558064be30 \ + --hash=sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b \ + --hash=sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46 \ + --hash=sha256:ed065083d0898c9d5b4bbec7b026fd755ff7454e6e8b73a67f8c744b13986e24 \ + --hash=sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a \ + --hash=sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24 \ + --hash=sha256:f22dec1690b584cea26fade98b2435c132c1b5f68e39f5a0b7627cd7ae31f1dc \ + --hash=sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215 \ + --hash=sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063 \ + --hash=sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832 \ + --hash=sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6 \ + --hash=sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79 \ + --hash=sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464 + # via requests +click==8.3.3 \ + --hash=sha256:398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2 \ + --hash=sha256:a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613 + # via typer +decorator==5.2.1 \ + --hash=sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360 \ + --hash=sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a + # via ipython +dpath==2.2.0 \ + --hash=sha256:34f7e630dc55ea3f219e555726f5da4b4b25f2200319c8e6902c394258dd6a3e \ + --hash=sha256:b330a375ded0a0d2ed404440f6c6a715deae5313af40bbb01c8a41d891900576 + # via policyengine-core +et-xmlfile==2.0.0 \ + --hash=sha256:7a91720bc756843502c3b7504c77b8fe44217c85c537d85037f0f536151b2caa \ + --hash=sha256:dab3f4764309081ce75662649be815c4c9081e88f0837825f90fd28317d4da54 + # via openpyxl +executing==2.2.1 \ + --hash=sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4 \ + --hash=sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017 + # via stack-data +filelock==3.29.0 \ + --hash=sha256:69974355e960702e789734cb4871f884ea6fe50bd8404051a3530bc07809cf90 \ + --hash=sha256:96f5f6344709aa1572bbf631c640e4ebeeb519e08da902c39a001882f30ac258 + # via huggingface-hub +fsspec==2026.4.0 \ + --hash=sha256:11ef7bb35dab8a394fde6e608221d5cf3e8499401c249bebaeaad760a1a8dec2 \ + --hash=sha256:301d8ac70ae90ef3ad05dcf94d6c3754a097f9b5fe4667d2787aa359ec7df7e4 + # via huggingface-hub +h11==0.16.0 \ + --hash=sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1 \ + --hash=sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86 + # via httpcore +h5py==3.16.0 \ + --hash=sha256:099f2525c9dcf28de366970a5fb34879aab20491589fa89ce2863a84218bb524 \ + --hash=sha256:0f456f556e4e2cebeebd9d66adf8dc321770a42593494a0b6f0af54a7567b242 \ + --hash=sha256:15922e485844f77c0b9d275396d435db3baa58292a9c2176a386e072e0cf2491 \ + --hash=sha256:1677ad48b703f44efc9ea0c3ab284527f81bc4f318386aaaebc5fede6bbae56f \ + --hash=sha256:171038f23bccddfc23f344cadabdfc9917ff554db6a0d417180d2747fe4c75a7 \ + --hash=sha256:17d1f1630f92ad74494a9a7392ab25982ce2b469fc62da6074c0ce48366a2999 \ + --hash=sha256:1897a771a7f40d05c262fc8f37376ec37873218544b70216872876c627640f63 \ + --hash=sha256:18f2bbcd545e6991412253b98727374c356d67caa920e68dc79eab36bf5fedad \ + --hash=sha256:2b2c02b0a160faed5fb33f1ba8a264a37ee240b22e049ecc827345d0d9043074 \ + --hash=sha256:314b6054fe0b1051c2b0cb2df5cbdab15622fb05e80f202e3b6a5eee0d6fe365 \ + --hash=sha256:346df559a0f7dcb31cf8e44805319e2ab24b8957c45e7708ce503b2ec79ba725 \ + --hash=sha256:370a845f432c2c9619db8eed334d1e610c6015796122b0e57aa46312c22617d9 \ + --hash=sha256:39c2838fb1e8d97bcf1755e60ad1f3dd76a7b2a475928dc321672752678b96db \ + --hash=sha256:3e6cb3387c756de6a9492d601553dffea3fe11b5f22b443aac708c69f3f55e16 \ + --hash=sha256:3fae9197390c325e62e0a1aa977f2f62d994aa87aab182abbea85479b791197c \ + --hash=sha256:42108e93326c50c2810025aade9eac9d6827524cdccc7d4b75a546e5ab308edb \ + --hash=sha256:42b012933a83e1a558c673176676a10ce2fd3759976a0fedee1e672d1e04fc9d \ + --hash=sha256:43259303989ac8adacc9986695b31e35dba6fd1e297ff9c6a04b7da5542139cc \ + --hash=sha256:4c6ab014ab704b4feaa719ae783b86522ed0bf1f82184704ed3c9e4e3228796e \ + --hash=sha256:656f00e4d903199a1d58df06b711cf3ca632b874b4207b7dbec86185b5c8c7d4 \ + --hash=sha256:698dd69291272642ffda44a0ecd6cd3bda5faf9621452d255f57ce91487b9794 \ + --hash=sha256:719439d14b83f74eeb080e9650a6c7aa6d0d9ea0ca7f804347b05fac6fbf18af \ + --hash=sha256:7c4dd4cf5f0a4e36083f73172f6cfc25a5710789269547f132a20975bfe2434c \ + --hash=sha256:7e420b539fb6023a259a1b14d4c9f6df8cf50d7268f48e161169987a57b737ff \ + --hash=sha256:8389e13a1fd745ad2856873e8187fd10268b2d9677877bb667b41aebd771d8b7 \ + --hash=sha256:85b9c49dd58dc44cf70af944784e2c2038b6f799665d0dcbbc812a26e0faa859 \ + --hash=sha256:86385ea895508220b8a7e45efa428aeafaa586bd737c7af9ee04661d8d84a10d \ + --hash=sha256:8975273c2c5921c25700193b408e28d6bdd0111c37468b2d4e25dcec4cd1d84d \ + --hash=sha256:8c1eff849cdd53cbc73c214c30ebdb6f1bb8b64790b4b4fc36acdb5e43570210 \ + --hash=sha256:9300ad32dea9dfc5171f94d5f6948e159ed93e4701280b0f508773b3f582f402 \ + --hash=sha256:96b422019a1c8975c2d5dadcf61d4ba6f01c31f92bbde6e4649607885fe502d6 \ + --hash=sha256:9c9d307c0ef862d1cd5714f72ecfafe0a5d7529c44845afa8de9f46e5ba8bd65 \ + --hash=sha256:a0dbaad796840ccaa67a4c144a0d0c8080073c34c76d5a6941d6818678ef2738 \ + --hash=sha256:a6fbc5367d4046801f9b7db9191b31895f22f1c6df1f9987d667854cac493538 \ + --hash=sha256:bdef06507725b455fccba9c16529121a5e1fbf56aa375f7d9713d9e8ff42454d \ + --hash=sha256:c3f0a0e136f2e95dd0b67146abb6668af4f1a69c81ef8651a2d316e8e01de447 \ + --hash=sha256:c5313566f4643121a78503a473f0fb1e6dcc541d5115c44f05e037609c565c4d \ + --hash=sha256:df02dd29bd247f98674634dfe41f89fd7c16ba3d7de8695ec958f58404a4e618 \ + --hash=sha256:dfc21898ff025f1e8e67e194965a95a8d4754f452f83454538f98f8a3fcb207e \ + --hash=sha256:e06f864bedb2c8e7c1358e6c73af48519e317457c444d6f3d332bb4e8fa6d7d9 \ + --hash=sha256:e2c04d129f180019e216ee5f9c40b78a418634091c8782e1f723a6ca3658b965 \ + --hash=sha256:e4360f15875a532bc7b98196c7592ed4fc92672a57c0a621355961cafb17a6dd \ + --hash=sha256:ec86d4fffd87a0f4cb3d5796ceb5a50123a2a6d99b43e616e5504e66a953eca3 \ + --hash=sha256:fa48993a0b799737ba7fd21e2350fa0a60701e58180fae9f2de834bc39a147ab \ + --hash=sha256:faca8fb4e4319c09d83337adc80b2ca7d5c5a343c2d6f1b6388f32cfecca13c1 \ + --hash=sha256:fb1720028d99040792bb2fb31facb8da44a6f29df7697e0b84f0d79aff2e9bd3 \ + --hash=sha256:ff24039e2573297787c3063df64b60aab0591980ac898329a08b0320e0cf2527 \ + --hash=sha256:ffbab2fedd6581f6aa31cf1639ca2cb86e02779de525667892ebf4cc9fd26434 + # via policyengine-core +hf-xet==1.5.0 \ + --hash=sha256:1e60df5a42e9bed8628b6416af2cba4cba57ae9f02de226a06b020d98e1aab18 \ + --hash=sha256:2806c7c17b4d23f8d88f7c4814f838c3b6150773fe339c20af23e1cfaf2797e4 \ + --hash=sha256:2baea1b0b989e5c152fe81425f7745ddc8901280ba3d97c98d8cdece7b706c60 \ + --hash=sha256:3531b1823a0e6d77d80f9ed15ca0e00f0d115094f8ac033d5cae88f4564cc949 \ + --hash=sha256:4b35549ce62601b84da4ff9b24d970032ace3d4430f52d91bcbb26c901d6c690 \ + --hash=sha256:526345b3ed45f374f6317349df489167606736c876241ba984105afe7fd4839d \ + --hash=sha256:5906bf7718d3636dc13402914736abe723492cb730f744834f5f5b67d3a12702 \ + --hash=sha256:5f3dc2248fc01cc0a00cd392ab497f1ca373fcbc7e3f2da1f452480b384e839e \ + --hash=sha256:73a0dae8c71de3b0633a45c73f4a4a5ed09e94b43441d82981a781d4f12baa42 \ + --hash=sha256:786d28e2eb8315d5035544b9d137b4a842d600c434bb91bf7d0d953cce906ad4 \ + --hash=sha256:7d70fe2ce97b9db73b9c9b9c81fe3693640aec83416a966c446afea54acfae3c \ + --hash=sha256:872d5601e6deea30d15865ede55d29eac6daf5a534ab417b99b6ef6b076dd96c \ + --hash=sha256:8dbcbab554c9ef158ef2c991545c3e970ddd8cc7acdcd0a78c5a41095dab4ded \ + --hash=sha256:9929561f5abf4581c8ea79587881dfef6b8abb2a0d8a51915936fc2a614f4e73 \ + --hash=sha256:9a0ee58cd18d5ea799f7ed11290bbccbe56bdd8b1d97ca74b9cc49a3945d7a3b \ + --hash=sha256:a60290ec57e9b71767fba7c3645ddafdd0759974b540441510c629c6db6db24a \ + --hash=sha256:b285cea1b5bab46b758772716ba8d6854a1a0310fed1c249d678a8b38601e5a0 \ + --hash=sha256:b6c9df403040248c76d808d3e047d64db2d923bae593eb244c41e425cf6cd7be \ + --hash=sha256:c799d49f1a5544a0ef7591c0ee75e0d6b93d6f56dc7a4979f59f7518d2872216 \ + --hash=sha256:cf7b2dc6f31a4ea754bb50f74cde482dcf5d366d184076d8530b9872787f3761 \ + --hash=sha256:dad0dc84e941b8ba3c860659fe1fdc35c049d47cce293f003287757e971a8f56 \ + --hash=sha256:e0fb0a34d9f406eed88233e829a67ec016bec5af19e480eac65a233ea289a948 \ + --hash=sha256:e5de0f6deada0dada870bb376a11bcd1f08abf3a968a6d118f33e72d1b1eb480 \ + --hash=sha256:f7b7bbae318e583a86fb21e5a4a175d6721d628a2874f4bd022d0e660c32a682 \ + --hash=sha256:fd6e5a9b0fdac4ed03ed45ef79254a655b1aaab514a02202617fbf643f5fdf7a + # via huggingface-hub +httpcore==1.0.9 \ + --hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \ + --hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8 + # via httpx +httpx==0.28.1 \ + --hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \ + --hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad + # via huggingface-hub +huggingface-hub==1.14.0 \ + --hash=sha256:d6d2c9cd6be1d02ae9ec6672d5587d10a427f377db688e82528f426a041622c2 \ + --hash=sha256:efe075535c62e130b30e836b138e13785f6f043d1f0539e0a39aa411a99e90b8 + # via policyengine-core +idna==3.14 \ + --hash=sha256:466d810d7a2cc1022bea9b037c39728d51ae7dad40d480fc9b7d7ecf98ba8ee3 \ + --hash=sha256:e677eaf072e290f7b725f9acf0b3a2bd55f9fd6f7c70abe5f0e34823d0accf69 + # via + # anyio + # httpx + # requests +iniconfig==2.3.0 \ + --hash=sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730 \ + --hash=sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12 + # via pytest +ipython==8.39.0 \ + --hash=sha256:4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624 \ + --hash=sha256:bb3c51c4fa8148ab1dea07a79584d1c854e234ea44aa1283bcb37bc75054651f + # via + # policyengine-core + # pyvis +jedi==0.20.0 \ + --hash=sha256:7bdd9c2634f56713299976f4cbd59cb3fa92165cc5e05ea811fb253480728b67 \ + --hash=sha256:c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011 + # via ipython +jellyfish==1.2.1 \ + --hash=sha256:0028857c5381c9d55e21cc6cb0d7f9545c3a9a7bb7dbca3960fe0a898c691ac2 \ + --hash=sha256:01647c12261bc1f7b102e918e7665497176d87f6fc96271439c8855872bc2606 \ + --hash=sha256:0368596e176bf548b3be2979ff33e274fb6d5e13b2cebe85137b8b698b002a85 \ + --hash=sha256:05be396aebe3dce7a8cb2f97727ecdf99e86457c48e97190775dce33f8b7e39d \ + --hash=sha256:07b022412ebece96759006cb015d46b8218d7f896d8b327c6bbee784ddf38ed9 \ + --hash=sha256:0b21c1596ce283fd7ee954eb0eeb007d59e480364324bcd91ad55146e91f3936 \ + --hash=sha256:1098ce1f84ae3f147f0a18a6803ffb09b9c8cd5fedce42465643ca0b5c9d0224 \ + --hash=sha256:10da696747e2de0336180fd5ba77ef769a7c80f9743123545f7fc0251efbbcec \ + --hash=sha256:1354b558a0a16597b6032dd0af64bebd24994f7e7484cf14993320eb764b06cb \ + --hash=sha256:137cfcc26396d0f2e1265ac61f800bb921921ea722a43dd897e58190f767c474 \ + --hash=sha256:13f1ac9caba22af10bfe42f674822643c0266009f882e0fe652079706dc5d13a \ + --hash=sha256:14bbb30d988dec1d12183cf5d4621c908f98add2009c72a185e8c3e8d00b804f \ + --hash=sha256:15318c13070fe6d9caeb7e10f9cdf89ff47c9d20f05a9a2c0d3b5cb8062a7033 \ + --hash=sha256:1a3ccff843822e7f3ad6f91662488a3630724c8587976bce114f3c7238e8ffa1 \ + --hash=sha256:1ffeeb6c78c45fbb6d2a22b0173fb8a6af849001d6c26fab49c525136dbd9734 \ + --hash=sha256:212aaf177236192a735bbbf5938717aa8518d14a25b08b015e47e783e70be060 \ + --hash=sha256:21baa92d4a5112167721156f6d061c2ae105f2995b3a5e19cec6662928f0c439 \ + --hash=sha256:2348f698f9c1d72023afc8d39939045421a01da9b7e3078e3029227e35f28419 \ + --hash=sha256:29cfa8bfb72aacf2d611a3313b358ed4d4140fa3d3efcffea750c8e7f8acb1aa \ + --hash=sha256:2c28a4ae3e201e1c1b7bacacd40e2e76c4068b90c9ae3a0d525e0ac98206f1cc \ + --hash=sha256:32581c50b34a09889b2d96796170e53da313a1e7fde32be63c82e50e7e791e3c \ + --hash=sha256:32a85b752cb51463face13e2b1797cfa617cd7fb7073f15feaa4020a86a346ce \ + --hash=sha256:393f609fd6139ce782e747e22c399483ffc58341009e6a97e39ffe5f5b2c674c \ + --hash=sha256:4072e21ad4036af41bd57b447b1dda64fe60aa679cfa8854ba0a0338152439f1 \ + --hash=sha256:451ddf4094e108e33d3b86d7817a7e20a2c5e6812d08c34ee22f6a595f38dcca \ + --hash=sha256:4a21d7eda5e6996772055f798e3fe1de1b33b3edad7f6cf0567097a21585a812 \ + --hash=sha256:4b013876109d91fa6fc871ffa4e0dbfda11820c33dc4ad0e2967b3fc1187f804 \ + --hash=sha256:4b28fcefc0c3534277ff0306e6c10672fb050f4784b5f3be7037e80801569fb5 \ + --hash=sha256:4b3e3223aaad74e18aacc74775e01815e68af810258ceea6fa6a81b19f384312 \ + --hash=sha256:4c5acb213aa75a61bcfc176566e20f2503069667e760d83d403b59e115fef0dd \ + --hash=sha256:4e36d9000d4f7e1a35689a74ec7749d27a216dfa6c47cac2e5ad3de8a523bd69 \ + --hash=sha256:509355ebedec69a8bf0cc113a6bf9c01820d12fe2eea44f47dfa809faf2d5463 \ + --hash=sha256:5335f622458aa105289a8e358bc32ecd1b9634b6ffec3e77ea3577e49c297171 \ + --hash=sha256:536c80d8d4ec7f39cbb10b85d926ff96cef3cde4a83ca0991c07cd9835d5dc13 \ + --hash=sha256:56da7632e029912af25e25422fae3b6df318400297d552791f4b21da6d815ed6 \ + --hash=sha256:5bda2275f31a64adf3483e39f7a4e2107f7dfe3a3f85f0d2c0cb6ae5fbe4a443 \ + --hash=sha256:5fa0ba0946f3c274f6a87aaa3c631dc70a363bd46cceea828ce777e8db653b6f \ + --hash=sha256:63770120cc3386dcc13bcc4df508ab281a6b14c3b2c0e33586439a6c40ee122f \ + --hash=sha256:675ab43840488944899ca87f02d4813c1e32107e56afaba7489705a70214e8aa \ + --hash=sha256:68080af234256ef943f0add6fc79816b0c643d8df291c17a85c1b6e45bdfbb96 \ + --hash=sha256:68ea3ddd4dae1152a7f7155ef02a7bfad919611158d71b301f9aa167685819af \ + --hash=sha256:6a49ce2a580edd3b16b69421137deef464e2f8907f9ef906d49950b1a52908c1 \ + --hash=sha256:6c51e565f85ce38cf9388c4f916d53888b0fa34788fcebe3aff3db24948e0960 \ + --hash=sha256:6d2bac5982d7a08759ea487bfa00149e6aa8a3be7cd43c4ed1be1e3505425c69 \ + --hash=sha256:6e76b23431a667cd485fb562428d1ad29bae9fdd0fcdfb5a51cc8087bae0e88c \ + --hash=sha256:72d2fda61b23babe862018729be73c8b0dc12e3e6601f36f6e65d905e249f4db \ + --hash=sha256:748dc45a0394fbe9120b8b3b9a39fab0967c7e2d6ecdd5304af018e774f80f96 \ + --hash=sha256:7853d2ed7d6929c029312ec849410f1ea7ae76ce72ad1140fb73f6e8a1e6aa4f \ + --hash=sha256:80a49eb817eaa6591f43a31e5c93d79904de62537f029907ef88c050d781a638 \ + --hash=sha256:91cad49a4fb731b726afc5ae385a3217a7016ed88a04da40c131cff8136a5db5 \ + --hash=sha256:98a133b40dc00cfda6609e1b0cb0ab0b77796fc2719aae886a12009514f73499 \ + --hash=sha256:9913789a98ccf49213fbb1dabc597847a0ec33d3b0e151689498f4b38ba9be0f \ + --hash=sha256:9930e20f0e9f65ad1d57d98290c2be3abd75812d058815605f44a56056fb9a66 \ + --hash=sha256:9a73b5c6425a70ebd440579a677eb4f03b327b2f59090db34e6c937aeea5aabd \ + --hash=sha256:9c747ae5c0fb4bd519f6abbfe4bd704b2f1c63fd4dd3dbb8d8864478974e1571 \ + --hash=sha256:9d4448c874959ae012cda0f6d570ac0bd7f0fcf12007714eaebf86b86919b66f \ + --hash=sha256:a058f4c6a591d5e5a47569f5648a26303ba19c76a960fef7e0beba2aa959e52e \ + --hash=sha256:a0ef6f0ecc085c1f8fddb048f538c8bb89989e5d470eab45d4e9bd48ee73a40d \ + --hash=sha256:a3cab91020e3ff7565e55a611ec3e3257c093ac950d55778a48bfc8c57562b6e \ + --hash=sha256:ab1bfea271ce4bda09d975080d5465cf5a8b127e7c0ea61ea3f972417a7a2193 \ + --hash=sha256:b35d4b5b688f759ffd075190a9850b04671bad14c5b37124eb43e99306ec16ea \ + --hash=sha256:b37b76ea338c4a473c34a9b9e1e033a78aafb9040a8c0eea579fc5805d8e4b46 \ + --hash=sha256:b8986d9768daddd5e87abf513ae168ea0afe690a444d4c82d5b1b14b0d045820 \ + --hash=sha256:baa30c7b59bd1c5e105693108a6d7a98f3e7a1a59e23e15bc5897b91fd5849f5 \ + --hash=sha256:bcdcd603a7737cd3f5a2ab10ce9b49844329deb81c2daafcd8131e54fc730205 \ + --hash=sha256:bd186c041d9be86c4fa5e2490943ce5d7f05b472f45d7f49426f259f3dd20bc4 \ + --hash=sha256:bebccd0652ac1c7e438ae1f451edefde63d14b3af6f6daa30c599919dcb92886 \ + --hash=sha256:c3c18f13175a9c90f3abd8805720b0eb3e10eca1d5d4e0cf57722b2a62d62016 \ + --hash=sha256:c499ea3a134130797c50e367687a6a46a12653c59af381bee92c41a5ab0bd55d \ + --hash=sha256:c85aa2bc76a36d92a3197f406f86636664d5b323727dfec4fa2842a8a24a06ae \ + --hash=sha256:c888f624d03e55e501bc438906505c79fb307d8da37a6dda18dd1ac2e6d5ea9c \ + --hash=sha256:cf6cd68921f2bacc547ba1cf64ad0e76bc1727f3bab13bba2e5f5869aba038b1 \ + --hash=sha256:d2b56a1fd2c5126c4a3362ec4470291cdd3c7daa22f583da67e75e30dc425ce6 \ + --hash=sha256:d7be8021658b46b22500a77f1707901bd98fc210f185c229b81c74efd3c1baf2 \ + --hash=sha256:db97d873f23b0c15b4ed911ece10e5cc0bb96cdc53666d5c3788bd0af81807f1 \ + --hash=sha256:dd895cf63fac0a9f11b524fff810d9a6081dcf3c518b34172ac8684eb504dd43 \ + --hash=sha256:ddf05ea471da2808d77ecfa425d8884124b4754f4d483afa7703b6655530cf5c \ + --hash=sha256:e1b990fb15985571616f7f40a12d6fa062897b19fb5359b6dec3cd811d802c24 \ + --hash=sha256:e4a210a960f3917da757b0581750b6e0a8db9acef68dafbc1b6e2ae39e847ba8 \ + --hash=sha256:e5977810972c6f0b2e61252c4758fd5aee21abf663ff309881195a99d37daa94 \ + --hash=sha256:e967e67058b78189d2b20a9586c7720a05ec4a580d6a98c796cd5cd2b7b11303 \ + --hash=sha256:ecf62d4aad0baa8832ab60f96e7baedbe6558bd292597503d927e9c5bce745d8 \ + --hash=sha256:f121218dc33fb318c34ddd889dc7362606ce1316af2bb63b73cc1df81523ca34 \ + --hash=sha256:f69aeb08659a6c81d559bbe319075e3417434ae5b3a5e4a758d1c4055a03497a \ + --hash=sha256:fb3c6e537cb4605c22895a8d4a10cdb26611ba2bbfc7f0b4c1d06bb9d8aad648 + # via us +jinja2==3.1.6 \ + --hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \ + --hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67 + # via pyvis +jsonpickle==4.1.1 \ + --hash=sha256:bb141da6057898aa2438ff268362b126826c812a1721e31cf08a6e142910dc91 \ + --hash=sha256:f86e18f13e2b96c1c1eede0b7b90095bbb61d99fedc14813c44dc2f361dbbae1 + # via pyvis +jsonschema==4.26.0 \ + --hash=sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326 \ + --hash=sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce + # via policyengine +jsonschema-specifications==2025.9.1 \ + --hash=sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe \ + --hash=sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d + # via jsonschema +markdown-it-py==4.2.0 \ + --hash=sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49 \ + --hash=sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a + # via rich +markupsafe==3.0.3 \ + --hash=sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f \ + --hash=sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a \ + --hash=sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf \ + --hash=sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19 \ + --hash=sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf \ + --hash=sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c \ + --hash=sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175 \ + --hash=sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219 \ + --hash=sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb \ + --hash=sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6 \ + --hash=sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab \ + --hash=sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26 \ + --hash=sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1 \ + --hash=sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce \ + --hash=sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218 \ + --hash=sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634 \ + --hash=sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695 \ + --hash=sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad \ + --hash=sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73 \ + --hash=sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c \ + --hash=sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe \ + --hash=sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa \ + --hash=sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559 \ + --hash=sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa \ + --hash=sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37 \ + --hash=sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758 \ + --hash=sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f \ + --hash=sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8 \ + --hash=sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d \ + --hash=sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c \ + --hash=sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97 \ + --hash=sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a \ + --hash=sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19 \ + --hash=sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9 \ + --hash=sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9 \ + --hash=sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc \ + --hash=sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2 \ + --hash=sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4 \ + --hash=sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354 \ + --hash=sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50 \ + --hash=sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698 \ + --hash=sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9 \ + --hash=sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b \ + --hash=sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc \ + --hash=sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115 \ + --hash=sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e \ + --hash=sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485 \ + --hash=sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f \ + --hash=sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12 \ + --hash=sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025 \ + --hash=sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009 \ + --hash=sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d \ + --hash=sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b \ + --hash=sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a \ + --hash=sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5 \ + --hash=sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f \ + --hash=sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d \ + --hash=sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1 \ + --hash=sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287 \ + --hash=sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6 \ + --hash=sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f \ + --hash=sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581 \ + --hash=sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed \ + --hash=sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b \ + --hash=sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c \ + --hash=sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026 \ + --hash=sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8 \ + --hash=sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676 \ + --hash=sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6 \ + --hash=sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e \ + --hash=sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d \ + --hash=sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d \ + --hash=sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01 \ + --hash=sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7 \ + --hash=sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419 \ + --hash=sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795 \ + --hash=sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1 \ + --hash=sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5 \ + --hash=sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d \ + --hash=sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42 \ + --hash=sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe \ + --hash=sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda \ + --hash=sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e \ + --hash=sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737 \ + --hash=sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523 \ + --hash=sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591 \ + --hash=sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc \ + --hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \ + --hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50 + # via jinja2 +matplotlib-inline==0.2.2 \ + --hash=sha256:3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6 \ + --hash=sha256:72f3fe8fce36b70d4a5b612f899090cd0401deddc4ea90e1572b9f4bfb058c79 + # via ipython +mdurl==0.1.2 \ + --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \ + --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba + # via markdown-it-py +microdf-python==1.3.0 \ + --hash=sha256:e17757a198648108eae24f39384e27b5ae8061acf1b43fa56520010dc00a7b55 \ + --hash=sha256:f352fe32c25a4fd6d6188ef6aaca0214b53b29a8a7913aca6af0362dd9c922bd + # via + # policyengine + # policyengine-core + # policyengine-us +msgpack==1.1.2 \ + --hash=sha256:0051fffef5a37ca2cd16978ae4f0aef92f164df86823871b5162812bebecd8e2 \ + --hash=sha256:04fb995247a6e83830b62f0b07bf36540c213f6eac8e851166d8d86d83cbd014 \ + --hash=sha256:180759d89a057eab503cf62eeec0aa61c4ea1200dee709f3a8e9397dbb3b6931 \ + --hash=sha256:1d1418482b1ee984625d88aa9585db570180c286d942da463533b238b98b812b \ + --hash=sha256:1de460f0403172cff81169a30b9a92b260cb809c4cb7e2fc79ae8d0510c78b6b \ + --hash=sha256:1fdf7d83102bf09e7ce3357de96c59b627395352a4024f6e2458501f158bf999 \ + --hash=sha256:1fff3d825d7859ac888b0fbda39a42d59193543920eda9d9bea44d958a878029 \ + --hash=sha256:283ae72fc89da59aa004ba147e8fc2f766647b1251500182fac0350d8af299c0 \ + --hash=sha256:2929af52106ca73fcb28576218476ffbb531a036c2adbcf54a3664de124303e9 \ + --hash=sha256:2e86a607e558d22985d856948c12a3fa7b42efad264dca8a3ebbcfa2735d786c \ + --hash=sha256:350ad5353a467d9e3b126d8d1b90fe05ad081e2e1cef5753f8c345217c37e7b8 \ + --hash=sha256:354e81bcdebaab427c3df4281187edc765d5d76bfb3a7c125af9da7a27e8458f \ + --hash=sha256:365c0bbe981a27d8932da71af63ef86acc59ed5c01ad929e09a0b88c6294e28a \ + --hash=sha256:372839311ccf6bdaf39b00b61288e0557916c3729529b301c52c2d88842add42 \ + --hash=sha256:3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e \ + --hash=sha256:41d1a5d875680166d3ac5c38573896453bbbea7092936d2e107214daf43b1d4f \ + --hash=sha256:42eefe2c3e2af97ed470eec850facbe1b5ad1d6eacdbadc42ec98e7dcf68b4b7 \ + --hash=sha256:446abdd8b94b55c800ac34b102dffd2f6aa0ce643c55dfc017ad89347db3dbdb \ + --hash=sha256:454e29e186285d2ebe65be34629fa0e8605202c60fbc7c4c650ccd41870896ef \ + --hash=sha256:4efd7b5979ccb539c221a4c4e16aac1a533efc97f3b759bb5a5ac9f6d10383bf \ + --hash=sha256:5559d03930d3aa0f3aacb4c42c776af1a2ace2611871c84a75afe436695e6245 \ + --hash=sha256:5928604de9b032bc17f5099496417f113c45bc6bc21b5c6920caf34b3c428794 \ + --hash=sha256:59415c6076b1e30e563eb732e23b994a61c159cec44deaf584e5cc1dd662f2af \ + --hash=sha256:5a46bf7e831d09470ad92dff02b8b1ac92175ca36b087f904a0519857c6be3ff \ + --hash=sha256:602b6740e95ffc55bfb078172d279de3773d7b7db1f703b2f1323566b878b90e \ + --hash=sha256:61c8aa3bd513d87c72ed0b37b53dd5c5a0f58f2ff9f26e1555d3bd7948fb7296 \ + --hash=sha256:67016ae8c8965124fdede9d3769528ad8284f14d635337ffa6a713a580f6c030 \ + --hash=sha256:6bde749afe671dc44893f8d08e83bf475a1a14570d67c4bb5cec5573463c8833 \ + --hash=sha256:6c15b7d74c939ebe620dd8e559384be806204d73b4f9356320632d783d1f7939 \ + --hash=sha256:70a0dff9d1f8da25179ffcf880e10cf1aad55fdb63cd59c9a49a1b82290062aa \ + --hash=sha256:70c5a7a9fea7f036b716191c29047374c10721c389c21e9ffafad04df8c52c90 \ + --hash=sha256:7bc8813f88417599564fafa59fd6f95be417179f76b40325b500b3c98409757c \ + --hash=sha256:80a0ff7d4abf5fecb995fcf235d4064b9a9a8a40a3ab80999e6ac1e30b702717 \ + --hash=sha256:86f8136dfa5c116365a8a651a7d7484b65b13339731dd6faebb9a0242151c406 \ + --hash=sha256:897c478140877e5307760b0ea66e0932738879e7aa68144d9b78ea4c8302a84a \ + --hash=sha256:8b696e83c9f1532b4af884045ba7f3aa741a63b2bc22617293a2c6a7c645f251 \ + --hash=sha256:8e22ab046fa7ede9e36eeb4cfad44d46450f37bb05d5ec482b02868f451c95e2 \ + --hash=sha256:94fd7dc7d8cb0a54432f296f2246bc39474e017204ca6f4ff345941d4ed285a7 \ + --hash=sha256:99e2cb7b9031568a2a5c73aa077180f93dd2e95b4f8d3b8e14a73ae94a9e667e \ + --hash=sha256:9ade919fac6a3e7260b7f64cea89df6bec59104987cbea34d34a2fa15d74310b \ + --hash=sha256:9fba231af7a933400238cb357ecccf8ab5d51535ea95d94fc35b7806218ff844 \ + --hash=sha256:a465f0dceb8e13a487e54c07d04ae3ba131c7c5b95e2612596eafde1dccf64a9 \ + --hash=sha256:a605409040f2da88676e9c9e5853b3449ba8011973616189ea5ee55ddbc5bc87 \ + --hash=sha256:a668204fa43e6d02f89dbe79a30b0d67238d9ec4c5bd8a940fc3a004a47b721b \ + --hash=sha256:a7787d353595c7c7e145e2331abf8b7ff1e6673a6b974ded96e6d4ec09f00c8c \ + --hash=sha256:a8f6e7d30253714751aa0b0c84ae28948e852ee7fb0524082e6716769124bc23 \ + --hash=sha256:ad09b984828d6b7bb52d1d1d0c9be68ad781fa004ca39216c8a1e63c0f34ba3c \ + --hash=sha256:bafca952dc13907bdfdedfc6a5f579bf4f292bdd506fadb38389afa3ac5b208e \ + --hash=sha256:be52a8fc79e45b0364210eef5234a7cf8d330836d0a64dfbb878efa903d84620 \ + --hash=sha256:be5980f3ee0e6bd44f3a9e9dea01054f175b50c3e6cdb692bc9424c0bbb8bf69 \ + --hash=sha256:c63eea553c69ab05b6747901b97d620bb2a690633c77f23feb0c6a947a8a7b8f \ + --hash=sha256:d198d275222dc54244bf3327eb8cbe00307d220241d9cec4d306d49a44e85f68 \ + --hash=sha256:d62ce1f483f355f61adb5433ebfd8868c5f078d1a52d042b0a998682b4fa8c27 \ + --hash=sha256:d99ef64f349d5ec3293688e91486c5fdb925ed03807f64d98d205d2713c60b46 \ + --hash=sha256:db6192777d943bdaaafb6ba66d44bf65aa0e9c5616fa1d2da9bb08828c6b39aa \ + --hash=sha256:e23ce8d5f7aa6ea6d2a2b326b4ba46c985dbb204523759984430db7114f8aa00 \ + --hash=sha256:e64c8d2f5e5d5fda7b842f55dec6133260ea8f53c4257d64494c534f306bf7a9 \ + --hash=sha256:e69b39f8c0aa5ec24b57737ebee40be647035158f14ed4b40e6f150077e21a84 \ + --hash=sha256:ea5405c46e690122a76531ab97a079e184c0daf491e588592d6a23d3e32af99e \ + --hash=sha256:f2cb069d8b981abc72b41aea1c580ce92d57c673ec61af4c500153a626cb9e20 \ + --hash=sha256:fac4be746328f90caa3cd4bc67e6fe36ca2bf61d5c6eb6d895b6527e3f05071e \ + --hash=sha256:fffee09044073e69f2bad787071aeec727183e7580443dfeb8556cbf1978d162 + # via blosc2 +ndindex==1.10.1 \ + --hash=sha256:03cf1e6cdac876bd8fc92d3b65bb223496b1581d10eab3ba113f7c195121a959 \ + --hash=sha256:046c1e88d46b2bd2fd3483e06d27b4e85132b55bc693f2fca2db0bb56eea1e78 \ + --hash=sha256:08bfdc1f7a0b408d15b3ce61d141ebbebdb47a25341967e425e104c5bd512a5c \ + --hash=sha256:092b92c07690292ec7c6b266c38d7e63d254ec8d913ed06f2a8e16103eb7861a \ + --hash=sha256:0ad8e060b26568c4e67c7b1dc2bc64e28597afdaabd7d63f98f655bfe2daa644 \ + --hash=sha256:0f6113c1f031248f8818cbee1aa92aa3c9472b7701debcce9fddebcd2f610f11 \ + --hash=sha256:157b5c34a1b779f5d27b790d9bd7e7b156d284e76be83c591a3ba003984f4956 \ + --hash=sha256:1827a40301405b44ad709e388c5b48cf35cd90a67f77e63f0f17d87f6000fa81 \ + --hash=sha256:1ae21b06235cb0884e97cf672780c170449baa0314085595cfe751705fa352de \ + --hash=sha256:23d35696f802548143b5cc199bf2f171efb0061aa7934959251dd3bae56d038c \ + --hash=sha256:27385939f317b55773ea53f6bf9334810cf1d66206034c0a6a6f2a88f2001c3c \ + --hash=sha256:27a7729a4d33df6b96f7d5edff281d2b987bbe6545031c5eb606b95c47694f54 \ + --hash=sha256:28741daca5926adff402247cd406f453ed5bb6042e82d6855938f805190e5ce9 \ + --hash=sha256:2d6442ecce9b395aade5e9f2431e169e01393953a069f6d2d53a63b6c94d1d06 \ + --hash=sha256:3307817bdc92846b18f309fae3582856f567dd6e0742fb0b41ac68682bfc4e2a \ + --hash=sha256:346a4bf09f5771548665c8206e81daadb6b9925d409746e709894bdd98adc701 \ + --hash=sha256:37f87f0e7690ae0324334740e0661d6297f2e62c9bf925127d249fb7eddd0ad8 \ + --hash=sha256:3b0d9ce2c8488444499ab6d40e92e09867bf4413f5cf04c01635de923f44aa67 \ + --hash=sha256:3ce3bd0882572269ca09285112cf38ce84baa2aaa5891551af968ca7c18f84bb \ + --hash=sha256:4cea15cff221e76abd12e3e940c26124184735cf421c229307f5db6742e14dd7 \ + --hash=sha256:588e8875d836a93b3cd9af482c8074bb02288ae1aff92cf277e1f02d9ae0f992 \ + --hash=sha256:59a3222befc0f7cdc85fb9b90a567ae890f70a864bdeb660517e9ebcb36bf1bc \ + --hash=sha256:5c026dbbf2455d97ce6456d8a50b349aee8fefa11027d020638c89e9be2c9c4c \ + --hash=sha256:5c3634a8df43e7928122225a3d64d850c8957bd1edf2e403907deacb478af27b \ + --hash=sha256:6928e47fb008903f2e41309b7ff1e59b16abbcd59e2e945454571c28b2433c9e \ + --hash=sha256:72af787dcee3661f36fff9d144d989aacefe32e2c8b51ceef9babd46afb93a18 \ + --hash=sha256:752e78a5e87911ded117c57a7246596f26c9c6da066de3c2b533b3db694949bb \ + --hash=sha256:777bb6fa1dc72527fb43744b8c1499ca86e8e110b238d7aad6a686489c23d3bd \ + --hash=sha256:78bfe25941d2dac406391ddd9baf0b0fce163807b98ecc2c47a3030ee8466319 \ + --hash=sha256:78ce45106ebf67aeba99714818c721d8fd5fb9534daebd2565665a2d64b50fc9 \ + --hash=sha256:7da34a78410c14341d5fff73be5ce924bd36500bf7f640fc59b8607d3a0df95e \ + --hash=sha256:8644c76e74c0fbbdaa54752de30b7c6b98b1e8f6c05f0c6228632a29c862d83f \ + --hash=sha256:87f83e8c35a7f49a68cd3a3054c406e6c22f8c1315f3905f7a778c657669187e \ + --hash=sha256:890bb92f0a779e6f16bdbcc8bd2e06c32bcc0239e5893ba246114eb924aecaaa \ + --hash=sha256:8ff1558ddbfedcecd1f6ed7777530917ad08f9c253fcaa8b7152a7aa4ca0264f \ + --hash=sha256:9599fcb7411ffe601c367f0a5d4bc0ed588e3e7d9dc7604bdb32c8f669456b9e \ + --hash=sha256:967b87b88dadb62555ec1039695c347254eccb8ca3d124c0e5dbe084c525fa93 \ + --hash=sha256:9b5297f207ebc068c7cdf9e3cd7b95aa5c9ec04295d0a7e56b529f66787d4685 \ + --hash=sha256:9d581f931e61f182478f18bdf5edd3955899df5da4892ed0d5de547a4cfd5b6f \ + --hash=sha256:9fdf3ca16efcdfbb8800aa88fbab1bc6528e6a0504bcb9cf7af4cb9d50e9f5d9 \ + --hash=sha256:a91e1a0398120233d5c3b23ccb2d4b78e970d66136f1a7221fa9a53873c3d5c5 \ + --hash=sha256:a9a211ec2198994cb3600cd46adb335a740f27e4d406b40d48ed7b98d2d2a89b \ + --hash=sha256:ae73cd2d66b09ef2f2a7d7f93bad396d6abf168d1ee825e403c6c5fb8ae1341c \ + --hash=sha256:bada24abee6bc6ca438b2e6b68a752fc9b58b67bdcb54008e2bc6330ecb0a777 \ + --hash=sha256:bc236d1612714cbd80610cf25a6ef92584ff1402e9d5a5c50e926195716f7d22 \ + --hash=sha256:c5e9762452b163e33cfb6e821f86e45ba0b53bdfcd23ab5d57b48a8f566898cb \ + --hash=sha256:c65ca639a7abf72d79f22424f4abd18dece1f289a2b7b028a0ca455edd2168d4 \ + --hash=sha256:c67dde588c0fb89d872931a4ed5f9b4d21c1c70a3d92fdf0812a1de154239816 \ + --hash=sha256:c9dd58d91220b1c1fe516324bfcf4114566c98e84b1cbbe416abe345c75bd557 \ + --hash=sha256:cb76e0f3f235d8b1c768b17e771de48775d281713795c3aa045e8114ad61bdda \ + --hash=sha256:cdb86a4176f2ae23bd4bcd0401ca35d5dad2d1ed0d0dca1ff64480ebe41b75d9 \ + --hash=sha256:cf5855881884b8467dfcf45764ccf2e4279075be14b155b89c96994bb08d2e6f \ + --hash=sha256:cf80241b40adffdc3276b2c9fb63a96c6c98b4a9d941892738de8add65083962 \ + --hash=sha256:cf9e05986b2eb8c5993bce0f911d6cedd15bda30b5e35dd354b1ad1f4cc3599d \ + --hash=sha256:d0ebdba2fade3f6916fe21fd49e2a0935af4f58c56100a60f3f2eb26e20baee7 \ + --hash=sha256:dc7ebdbd465d25f29a9cd7ba31c304172351fc85626835385bcb72807d309a9a \ + --hash=sha256:e2ad917bcdf8dc5ba1e21f01054c991d26862d4d01c3c203a50e907096d558ac \ + --hash=sha256:e69a2cb1ac7be955c3c77f1def83f410775a81525c9ce2d4c0a3f2a61589ed47 \ + --hash=sha256:e81a9bd36fe054b6c9fcc53d26bc9a28cf15d1ab52a0f5b854f894116f3a54e1 \ + --hash=sha256:e851990a68937db5f485cd9f3e760c1fd47fa0f2a99f63a5e2cc880908faf3bb \ + --hash=sha256:ef3ef22390a892d16286505083ee5b326317b21c255a0c7f744b1290a0b964a6 \ + --hash=sha256:f77c4fd3f34c53037678020ab4e060da4bbdcae3a428797c7cbec69a6785dc93 \ + --hash=sha256:f99b3e89220da3244d03c9c5473669c7107d361c129fd9b064622744dee1ce15 \ + --hash=sha256:fa60637dfae1ee3fc057e420a52cc4ace38cf2c0d1a0451af2a3cba84d281842 \ + --hash=sha256:fe5341e24dc992b09c258456ac90a09a6d25efdc2cb86dcc91d32c8891e1df9a + # via blosc2 +networkx==3.6.1 \ + --hash=sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509 \ + --hash=sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762 + # via pyvis +numexpr==2.14.1 \ + --hash=sha256:03130afa04edf83a7b590d207444f05a00363c9b9ea5d81c0f53b1ea13fad55a \ + --hash=sha256:05f9366d23a2e991fd5a8b5e61a17558f028ba86158a4552f8f239b005cdf83c \ + --hash=sha256:06855053de7a3a8425429bd996e8ae3c50b57637ad3e757e0fa0602a7874be30 \ + --hash=sha256:09078ba73cffe94745abfbcc2d81ab8b4b4e9d7bfbbde6cac2ee5dbf38eee222 \ + --hash=sha256:0d1dcbdc4d0374c0d523cee2f94f06b001623cbc1fd163612841017a3495427c \ + --hash=sha256:15015d47d3d1487072d58c0e7682ef2eb608321e14099c39d52e2dd689483611 \ + --hash=sha256:1f1a5e817c534539351aa75d26088e9e1e0ef1b3a6ab484047618a652ccc4fc3 \ + --hash=sha256:2773ee1133f77009a1fc2f34fe236f3d9823779f5f75450e183137d49f00499f \ + --hash=sha256:2a381e5e919a745c9503bcefffc1c7f98c972c04ec58fc8e999ed1a929e01ba6 \ + --hash=sha256:2d03fcb4644a12f70a14d74006f72662824da5b6128bf1bcd10cc3ed80e64c34 \ + --hash=sha256:2eac7a5a2f70b3768c67056445d1ceb4ecd9b853c8eda9563823b551aeaa5082 \ + --hash=sha256:33265294376e7e2ae4d264d75b798a915d2acf37b9dd2b9405e8b04f84d05cfc \ + --hash=sha256:36f8d5c1bd1355df93b43d766790f9046cccfc1e32b7c6163f75bcde682cda07 \ + --hash=sha256:3a2839efa25f3c8d4133252ea7342d8f81226c7c4dda81f97a57e090b9d87a48 \ + --hash=sha256:439ec4d57b853792ebe5456e3160312281c3a7071ecac5532ded3278ede614de \ + --hash=sha256:44f84e0e5af219dbb62a081606156420815890e041b87252fbcea5df55214c4c \ + --hash=sha256:47041f2f7b9e69498fb311af672ba914a60e6e6d804011caacb17d66f639e659 \ + --hash=sha256:4be00b1086c7b7a5c32e31558122b7b80243fe098579b170967da83f3152b48b \ + --hash=sha256:538961096c2300ea44240209181e31fae82759d26b51713b589332b9f2a4117e \ + --hash=sha256:557887ad7f5d3c2a40fd7310e50597045a68e66b20a77b3f44d7bc7608523b4b \ + --hash=sha256:587c41509bc373dfb1fe6086ba55a73147297247bedb6d588cda69169fc412f2 \ + --hash=sha256:5aedf38d4c0c19d3cecfe0334c3f4099fb496f54c146223d30fa930084bc8574 \ + --hash=sha256:638dce8320f4a1483d5ca4fda69f60a70ed7e66be6e68bc23fb9f1a6b78a9e3b \ + --hash=sha256:64ae5dfd62d74a3ef82fe0b37f80527247f3626171ad82025900f46ffca4b39a \ + --hash=sha256:67ea4771029ce818573b1998f5ca416bd255156feea017841b86176a938f7d19 \ + --hash=sha256:6e575fd3ad41ddf3355d0c7ef6bd0168619dc1779a98fe46693cad5e95d25e6e \ + --hash=sha256:70d80fcb418a54ca208e9a38e58ddc425c07f66485176b261d9a67c7f2864f73 \ + --hash=sha256:75440c54fc01e130396650fdf307aa9d41a67dc06ddbfb288971b591c13a395b \ + --hash=sha256:76db0bc6267e591ab9c4df405ffb533598e4c88239db7338d11ae9e4b368a85a \ + --hash=sha256:790447be6879a6c51b9545f79612d24c9ea0a41d537a84e15e6a8ddef0b6268e \ + --hash=sha256:7e87f6d203ac57239de32261c941e9748f9309cbc0da6295eabd0c438b920d3a \ + --hash=sha256:823cd82c8e7937981339f634e7a9c6a92cb2d0b9d0a5cf627a5e394fffc05377 \ + --hash=sha256:83647d846d3eeeb9a9255311236135286728b398d0d41d35dedb532dca807fe9 \ + --hash=sha256:91ebae0ab18c799b0e6b8c5a8d11e1fa3848eb4011271d99848b297468a39430 \ + --hash=sha256:94c711f6d8f17dfb4606842b403699603aa591ab9f6bf23038b488ea9cfb0f09 \ + --hash=sha256:955c92b064f9074d2970cf3138f5e3b965be673b82024962ed526f39bc25a920 \ + --hash=sha256:9f9137f1351b310436662b5dc6f4082a245efa8950c3b0d9008028df92fefb9b \ + --hash=sha256:9fdcd4735121658a313f878fd31136d1bfc6a5b913219e7274e9fca9f8dac3bb \ + --hash=sha256:a40b350cd45b4446076fa11843fa32bbe07024747aeddf6d467290bf9011b392 \ + --hash=sha256:a4ba71db47ea99c659d88ee6233fa77b6dc83392f1d324e0c90ddf617ae3f421 \ + --hash=sha256:af111c8fe6fc55d15e4c7cab11920fc50740d913636d486545b080192cd0ad73 \ + --hash=sha256:c5f1b1605695778896534dfc6e130d54a65cd52be7ed2cd0cfee3981fd676bf5 \ + --hash=sha256:d08856cfc1b440eb1caaa60515235369654321995dd68eb9377577392020f6cb \ + --hash=sha256:d0fab3fd06a04f6b86102552b26aa5d85e20ac7d8296c15764c726eeabae6cc8 \ + --hash=sha256:d686dfb2c1382d9e6e0ee0b7647f943c1886dba3adbf606c625479f35f1956c1 \ + --hash=sha256:db78fa0c9fcbaded3ae7453faf060bd7a18b0dc10299d7fcd02d9362be1213ed \ + --hash=sha256:dce0b5a0447baa7b44bc218ec2d7dcd175b8eee6083605293349c0c1d9b82fb6 \ + --hash=sha256:dd72d8c2a165fe45ea7650b16eb8cc1792a94a722022006bb97c86fe51fd2091 \ + --hash=sha256:dde9fa47ed319e1e1728940a539df3cb78326b7754bc7c6ab3152afc91808f9b \ + --hash=sha256:e23b87f744e04e302d82ac5e2189ae20a533566aec76a46885376e20b0645bf8 \ + --hash=sha256:e9b2f957798c67a2428be96b04bce85439bed05efe78eb78e4c2ca43737578e7 \ + --hash=sha256:ebe4980f9494b9f94d10d2e526edc29e72516698d3bf95670ba79415492212a4 \ + --hash=sha256:ec368819502b64f190c3f71be14a304780b5935c42aae5bf22c27cc2cbba70b5 \ + --hash=sha256:ede79f7ff06629f599081de644546ce7324f1581c09b0ac174da88a470d39c21 \ + --hash=sha256:edea2f20c2040df8b54ee8ca8ebda63de9545b2112872466118e9df4d0ae99f3 \ + --hash=sha256:eee6d4fbbbc368e6cdd0772734d6249128d957b3b8ad47a100789009f4de7083 \ + --hash=sha256:fdd886f4b7dbaf167633ee396478f0d0aa58ea2f9e7ccc3c6431019623e8d68f + # via + # blosc2 + # policyengine-core + # tables +numpy==2.4.4 \ + --hash=sha256:07077278157d02f65c43b1b26a3886bce886f95d20aabd11f87932750dfb14ed \ + --hash=sha256:08f2e31ed5e6f04b118e49821397f12767934cfdd12a1ce86a058f91e004ee50 \ + --hash=sha256:0aec54fd785890ecca25a6003fd9a5aed47ad607bbac5cd64f836ad8666f4959 \ + --hash=sha256:0d35aea54ad1d420c812bfa0385c71cd7cc5bcf7c65fed95fc2cd02fe8c79827 \ + --hash=sha256:0d4e437e295f18ec29bc79daf55e8a47a9113df44d66f702f02a293d93a2d6dd \ + --hash=sha256:0dfd3f9d3adbe2920b68b5cd3d51444e13a10792ec7154cd0a2f6e74d4ab3233 \ + --hash=sha256:1378871da56ca8943c2ba674530924bb8ca40cd228358a3b5f302ad60cf875fc \ + --hash=sha256:15716cfef24d3a9762e3acdf87e27f58dc823d1348f765bbea6bef8c639bfa1b \ + --hash=sha256:19710a9ca9992d7174e9c52f643d4272dcd1558c5f7af7f6f8190f633bd651a7 \ + --hash=sha256:23cbfd4c17357c81021f21540da84ee282b9c8fba38a03b7b9d09ba6b951421e \ + --hash=sha256:2483e4584a1cb3092da4470b38866634bafb223cbcd551ee047633fd2584599a \ + --hash=sha256:27a8d92cd10f1382a67d7cf4db7ce18341b66438bdd9f691d7b0e48d104c2a9d \ + --hash=sha256:28a650663f7314afc3e6ec620f44f333c386aad9f6fc472030865dc0ebb26ee3 \ + --hash=sha256:2aa0613a5177c264ff5921051a5719d20095ea586ca88cc802c5c218d1c67d3e \ + --hash=sha256:2c194dd721e54ecad9ad387c1d35e63dce5c4450c6dc7dd5611283dda239aabb \ + --hash=sha256:2d19e6e2095506d1736b7d80595e0f252d76b89f5e715c35e06e937679ea7d7a \ + --hash=sha256:2d390634c5182175533585cc89f3608a4682ccb173cc9bb940b2881c8d6f8fa0 \ + --hash=sha256:30caa73029a225b2d40d9fae193e008e24b2026b7ee1a867b7ee8d96ca1a448e \ + --hash=sha256:42c16925aa5a02362f986765f9ebabf20de75cdefdca827d14315c568dcab113 \ + --hash=sha256:45dbed2ab436a9e826e302fcdcbe9133f9b0006e5af7168afb8963a6520da103 \ + --hash=sha256:4636de7fd195197b7535f231b5de9e4b36d2c440b6e566d2e4e4746e6af0ca93 \ + --hash=sha256:4a19d9dba1a76618dd86b164d608566f393f8ec6ac7c44f0cc879011c45e65af \ + --hash=sha256:4bbc7f303d125971f60ec0aaad5e12c62d0d2c925f0ab1273debd0e4ba37aba5 \ + --hash=sha256:4d6d57903571f86180eb98f8f0c839fa9ebbfb031356d87f1361be91e433f5b7 \ + --hash=sha256:4e874c976154687c1f71715b034739b45c7711bec81db01914770373d125e392 \ + --hash=sha256:51fc224f7ca4d92656d5a5eb315f12eb5fe2c97a66249aa7b5f562528a3be38c \ + --hash=sha256:58c8b5929fcb8287cbd6f0a3fae19c6e03a5c48402ae792962ac465224a629a4 \ + --hash=sha256:5a285b3b96f951841799528cd1f4f01cd70e7e0204b4abebac9463eecfcf2a40 \ + --hash=sha256:5c70f1cc1c4efbe316a572e2d8b9b9cc44e89b95f79ca3331553fbb63716e2bf \ + --hash=sha256:62d6b0f03b694173f9fcb1fb317f7222fd0b0b103e784c6549f5e53a27718c44 \ + --hash=sha256:6a246d5914aa1c820c9443ddcee9c02bec3e203b0c080349533fae17727dfd1b \ + --hash=sha256:6aa3236c78803afbcb255045fbef97a9e25a1f6c9888357d205ddc42f4d6eba5 \ + --hash=sha256:6bbe4eb67390b0a0265a2c25458f6b90a409d5d069f1041e6aff1e27e3d9a79e \ + --hash=sha256:715d1c092715954784bc79e1174fc2a90093dc4dc84ea15eb14dad8abdcdeb74 \ + --hash=sha256:72944b19f2324114e9dc86a159787333b77874143efcf89a5167ef83cfee8af0 \ + --hash=sha256:81f4a14bee47aec54f883e0cad2d73986640c1590eb9bfaaba7ad17394481e6e \ + --hash=sha256:846300f379b5b12cc769334464656bc882e0735d27d9726568bc932fdc49d5ec \ + --hash=sha256:86b6f55f5a352b48d7fbfd2dbc3d5b780b2d79f4d3c121f33eb6efb22e9a2015 \ + --hash=sha256:874f200b2a981c647340f841730fc3a2b54c9d940566a3c4149099591e2c4c3d \ + --hash=sha256:8a87ec22c87be071b6bdbd27920b129b94f2fc964358ce38f3822635a3e2e03d \ + --hash=sha256:8b3b60bb7cba2c8c81837661c488637eee696f59a877788a396d33150c35d842 \ + --hash=sha256:8e3ed142f2728df44263aaf5fb1f5b0b99f4070c553a0d7f033be65338329150 \ + --hash=sha256:93e15038125dc1e5345d9b5b68aa7f996ec33b98118d18c6ca0d0b7d6198b7e8 \ + --hash=sha256:989824e9faf85f96ec9c7761cd8d29c531ad857bfa1daa930cba85baaecf1a9a \ + --hash=sha256:99d838547ace2c4aace6c4f76e879ddfe02bb58a80c1549928477862b7a6d6ed \ + --hash=sha256:9b2aec6af35c113b05695ebb5749a787acd63cafc83086a05771d1e1cd1e555f \ + --hash=sha256:9c585a1790d5436a5374bac930dad6ed244c046ed91b2b2a3634eb2971d21008 \ + --hash=sha256:a7164afb23be6e37ad90b2f10426149fd75aee07ca55653d2aa41e66c4ef697e \ + --hash=sha256:ac6b31e35612a26483e20750126d30d0941f949426974cace8e6b5c58a3657b0 \ + --hash=sha256:ad2e2ef14e0b04e544ea2fa0a36463f847f113d314aa02e5b402fdf910ef309e \ + --hash=sha256:b268594bccac7d7cf5844c7732e3f20c50921d94e36d7ec9b79e9857694b1b2f \ + --hash=sha256:b5f0362dc928a6ecd9db58868fca5e48485205e3855957bdedea308f8672ea4a \ + --hash=sha256:ba1f4fc670ed79f876f70082eff4f9583c15fb9a4b89d6188412de4d18ae2f40 \ + --hash=sha256:ba203255017337d39f89bdd58417f03c4426f12beed0440cfd933cb15f8669c7 \ + --hash=sha256:c901b15172510173f5cb310eae652908340f8dede90fff9e3bf6c0d8dfd92f83 \ + --hash=sha256:c9b39d38a9bd2ae1becd7eac1303d031c5c110ad31f2b319c6e7d98b135c934d \ + --hash=sha256:d2a8490669bfe99a233298348acc2d824d496dee0e66e31b66a6022c2ad74a5c \ + --hash=sha256:dddbbd259598d7240b18c9d87c56a9d2fb3b02fe266f49a7c101532e78c1d871 \ + --hash=sha256:df3775294accfdd75f32c74ae39fcba920c9a378a2fc18a12b6820aa8c1fb502 \ + --hash=sha256:e44319a2953c738205bf3354537979eaa3998ed673395b964c1176083dd46252 \ + --hash=sha256:e4a010c27ff6f210ff4c6ef34394cd61470d01014439b192ec22552ee867f2a8 \ + --hash=sha256:e823b8b6edc81e747526f70f71a9c0a07ac4e7ad13020aa736bb7c9d67196115 \ + --hash=sha256:e892aff75639bbef0d2a2cfd55535510df26ff92f63c92cd84ef8d4ba5a5557f \ + --hash=sha256:eea7ac5d2dce4189771cedb559c738a71512768210dc4e4753b107a2048b3d0e \ + --hash=sha256:ef4059d6e5152fa1a39f888e344c73fdc926e1b2dd58c771d67b0acfbf2aa67d \ + --hash=sha256:f169b9a863d34f5d11b8698ead99febeaa17a13ca044961aa8e2662a6c7766a0 \ + --hash=sha256:f2cf083b324a467e1ab358c105f6cad5ea950f50524668a80c486ff1db24e119 \ + --hash=sha256:f8474c4241bc18b750be2abea9d7a9ec84f46ef861dbacf86a4f6e043401f79e \ + --hash=sha256:f983334aea213c99992053ede6168500e5f086ce74fbc4acc3f2b00f5762e9db \ + --hash=sha256:f9e75681b59ddaa5e659898085ae0eaea229d054f2ac0c7e563a62205a700121 \ + --hash=sha256:fbc356aae7adf9e6336d336b9c8111d390a05df88f1805573ebb0807bd06fd1d \ + --hash=sha256:fcfe2045fd2e8f3cb0ce9d4ba6dba6333b8fa05bb8a4939c908cd43322d14c7e + # via + # blosc2 + # h5py + # microdf-python + # numexpr + # pandas + # policyengine-core + # spm-calculator + # tables +openpyxl==3.1.5 \ + --hash=sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2 \ + --hash=sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050 + # via spm-calculator +packaging==26.2 \ + --hash=sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e \ + --hash=sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661 + # via + # huggingface-hub + # plotly + # policyengine + # pytest + # tables + # wheel +pandas==3.0.3 \ + --hash=sha256:0383c72c75cdcca61a9e116e611143902dbfd08bff356829c2f6d1cf40a9ca8c \ + --hash=sha256:05f1f1752b8533ea03f7f39a9c15b1a058d067bb48f4748948e7a8691e0510f2 \ + --hash=sha256:08d789b41f87e0905880e293cedf6197ce71fe67cc081358b1e148a491b9bd13 \ + --hash=sha256:0d589105b3c14645af1738ff279b2995102d8f7a03b0a66dc8d95550eb513e04 \ + --hash=sha256:13fc1e853d9e04743d11ba75a985ccbc2a317fe07d8af61e445a6fd24dacd6a6 \ + --hash=sha256:14da8316da4d0c5a77618425996bfb1248ca87fc2c1486e6fde4652bd18b5824 \ + --hash=sha256:1928e07221f82db493cd4af1e23c1bfca524a19a4699887975bff68f49a72bfb \ + --hash=sha256:261e308dfb22448384b7580cf719d2f998fe2966c92893c3e77d14008af1f066 \ + --hash=sha256:275c14e0fce14a2ec20eee474aecd305478ea3c1e6f6a9d8fe219a165542717e \ + --hash=sha256:335f62418ed562cfc3c49e9e196375c28b729dcef8543abf4f9438e381bf3c76 \ + --hash=sha256:3650109c0f22879df8bd6179ab9ee3d7f1d1d4e7e0094a3f0032d9f51e2e64ac \ + --hash=sha256:39436b377d56d2a2e52d0395bdbee171f01068e99af5250509aceeb929f765c7 \ + --hash=sha256:3c20a521bbb85902f79f7270c80a59e1b5452d96d170c034f207181870f97ac5 \ + --hash=sha256:3e91cec1879ada0624fc3dc9953c5cbd60208e59c0db28f540c5d6d47502422f \ + --hash=sha256:455f6f8139d4282188f526868dbc3c828470e88a3d9d59a891bd46a455f21b98 \ + --hash=sha256:46997386d528eb40376ecd6b033cf4a8a1e5282580f68f43de875b78cba2199d \ + --hash=sha256:4db8c527972a821cf5286b40ccc57642a39bc62e62022b42f99f8a67fca8c3a1 \ + --hash=sha256:4e15135e2ee5df1063313e2425ceef8ac0f4ae775893815b0923651b806a5639 \ + --hash=sha256:51b1fe551acb77dac643c6fda86084d8d446c10fe64b06a9cc29c4cc8540e7f2 \ + --hash=sha256:557409bc4178e70ee8d9ddb494798e51ebf6ea59330f6be22c51bab2a7db6c49 \ + --hash=sha256:5cc09a68b3120e0f54870dede8287a7bb1fa463907e4fcec1ea77cab6179bf7a \ + --hash=sha256:60ae316d3fd75d1858d450d0db0103ea2be3e7d4a95ec2f064f7e2ae63f7b028 \ + --hash=sha256:6674ab18ad8c57802867264b00e15e7bb904700cdd9046e3b2fa1fce237439ea \ + --hash=sha256:67b3b64c11910cfa29f4e94a14d3bff9ee693b6fc76055e7cad549cee0aec5fa \ + --hash=sha256:696a4a00a2a2a35d4e5deb3fc946641b96c944f02230e4f76137fe35d806c4fc \ + --hash=sha256:6dc0b3fd2169c9157deed50b4d519553a3655c8c6a96027136d654592be973a9 \ + --hash=sha256:7e65d5407dc0b394f509699650e4a2ec01c0514f21850f453fa60f3be79a5dbf \ + --hash=sha256:819959dab7bbd0049c15623fbac4e29a191b9528160a61fb1032242d8ced2d9c \ + --hash=sha256:8a1e45c80cceb3b4a21bc5939d52e8cbd8d9b7305309219d59e9754d9ce09e27 \ + --hash=sha256:9c39be2d709d01fa972a0cabc522389fceca4f3969332ba25a7d6c5802cf976a \ + --hash=sha256:9d71c63ae4ebdbf70209742096f1fc46a83a0613c99d4b23766cced9ff8cd62a \ + --hash=sha256:a2d2dff8a04f3917b55ab3910c32990f8ddf7eceba114947838cefa976a68977 \ + --hash=sha256:a4eeb6830daf35a71cc09649bd823e2b542dac246cdee9614c6e4bd65028cd6a \ + --hash=sha256:a55066a0505dae0ba2b50a46637db34b46f9094c65c5d4800794ef6335010938 \ + --hash=sha256:a82d532a3351d435432cd913edbccaf8b8e01d4dd0e5ced5a8d2e8ecd94c7e44 \ + --hash=sha256:b168fc218fd80a6cbdbdbc1a97ddc7889ed057d7eb45f50d866ceab5f39904c4 \ + --hash=sha256:b2c95f8bfc1ee412bf482605d7bfd30c12d1d26bd59fdd91efeef1d4718decb1 \ + --hash=sha256:ba7e08b9ac1d54569cd1e256e3668975ed624d6826f7b68df0342b012007bddb \ + --hash=sha256:bab900348131a7db1f69a7309ef141fd5680f1487094193bcbbb61791573bf8f \ + --hash=sha256:bd3a518890b400d32f9023722dc9a9a5c969f00b415419a3c06c043f09bb5d7d \ + --hash=sha256:c7be265b62cef88e253a941e4698604973736dcfe242fdb5198f0f7bc473cdcc \ + --hash=sha256:d26cbe1fcfc12e8fd900e2454163e466b2d3af84f7c75481df7683ffc073d870 \ + --hash=sha256:d4be06d68f9ddcfc645b87534911da79a8fbffc7573c80e0edcf42a5020624d8 \ + --hash=sha256:d72828c20c6d6e83e1e22a6a3b47b326b71664112fa9705dcbccfd7a39b62085 \ + --hash=sha256:dd1a5d1def6a46002e964510bdc67c368aa0951df5d1d9f8365336f5a1f490cd \ + --hash=sha256:e3a2ec42c98ffa2565a67e08e218d06d72576d758d90facb7c00805194d8f360 \ + --hash=sha256:f8894dc474d648fe7b6ff0ca9b0bd73950d19952bc1a6534540762c5d79d305c \ + --hash=sha256:fed2ff7fd9779120e388e285fc029bd5cf9490cdd2e4166a9ee22c0e49a9ab09 + # via + # microdf-python + # policyengine + # policyengine-core + # policyengine-us + # spm-calculator +parso==0.8.7 \ + --hash=sha256:a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c \ + --hash=sha256:eaaac4c9fdd5e9e8852dc778d2d7405897ec510f2a298071453e5e3a07914bb1 + # via jedi +pexpect==4.9.0 \ + --hash=sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 \ + --hash=sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f + # via ipython +plotly==5.24.1 \ + --hash=sha256:dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae \ + --hash=sha256:f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089 + # via policyengine-core +pluggy==1.6.0 \ + --hash=sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3 \ + --hash=sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746 + # via pytest +policyengine==4.4.3 \ + --hash=sha256:555f1461b11ba5d934d5e432e806fcf6d31d2e41a742cd010e9c3c46acd0652e \ + --hash=sha256:a12e8ed43a4b0f205d853853ccc678b2b8857381b8111336e711e35d8e6b1336 + # via -r /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmpmrfellmb/requirements.in +policyengine-core==3.26.1 \ + --hash=sha256:185374b3c1fe13dc951637c49a9853211ca61a8a9971eb9cc4c4b07b1477240a \ + --hash=sha256:dc4e3007bcd137cbe608042d067cedb889a9b8671db3d08c8e237f1ac3e324b4 + # via + # -r /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmpmrfellmb/requirements.in + # policyengine-us +policyengine-us==1.690.7 \ + --hash=sha256:3dbb1f54824902fcd6ae64d5879f36ce6b2372a42321c838c20c430fd1507a2e \ + --hash=sha256:5a7a541efabac98fa069d6845902cf5924c81db67383234b55dcd2b8bfcfc3ca + # via -r /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmpmrfellmb/requirements.in +prompt-toolkit==3.0.52 \ + --hash=sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855 \ + --hash=sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955 + # via ipython +psutil==6.1.1 \ + --hash=sha256:018aeae2af92d943fdf1da6b58665124897cfc94faa2ca92098838f83e1b1bca \ + --hash=sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377 \ + --hash=sha256:1924e659d6c19c647e763e78670a05dbb7feaf44a0e9c94bf9e14dfc6ba50468 \ + --hash=sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3 \ + --hash=sha256:384636b1a64b47814437d1173be1427a7c83681b17a450bfc309a1953e329603 \ + --hash=sha256:6d4281f5bbca041e2292be3380ec56a9413b790579b8e593b1784499d0005dac \ + --hash=sha256:8be07491f6ebe1a693f17d4f11e69d0dc1811fa082736500f649f79df7735303 \ + --hash=sha256:8df0178ba8a9e5bc84fed9cfa61d54601b371fbec5c8eebad27575f1e105c0d4 \ + --hash=sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160 \ + --hash=sha256:9ccc4316f24409159897799b83004cb1e24f9819b0dcf9c0b68bdcb6cefee6a8 \ + --hash=sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003 \ + --hash=sha256:c777eb75bb33c47377c9af68f30e9f11bc78e0f07fbf907be4a5d70b2fe5f030 \ + --hash=sha256:ca9609c77ea3b8481ab005da74ed894035936223422dc591d6772b147421f777 \ + --hash=sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5 \ + --hash=sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53 \ + --hash=sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649 \ + --hash=sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8 + # via + # policyengine + # policyengine-core +ptyprocess==0.7.0 \ + --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 \ + --hash=sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220 + # via pexpect +pure-eval==0.2.3 \ + --hash=sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0 \ + --hash=sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42 + # via stack-data +py-cpuinfo==9.0.0 \ + --hash=sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690 \ + --hash=sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5 + # via tables +pydantic==2.13.4 \ + --hash=sha256:45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba \ + --hash=sha256:c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6 + # via + # blosc2 + # policyengine +pydantic-core==2.46.4 \ + --hash=sha256:00c603d540afdd6b80eb39f078f33ebd46211f02f33e34a32d9f053bba711de0 \ + --hash=sha256:0186750b482eefa11d7f435892b09c5c606193ef3375bcf94aa00ae6bfb66262 \ + --hash=sha256:041bde0a48fd37cf71cab1c9d56d3e8625a3793fef1f7dd232b3ff37e978ecda \ + --hash=sha256:0c563b08bca408dc7f65f700633d8442fffb2421fc47b8101377e9fd65051ff0 \ + --hash=sha256:0cbe8b01f948de4286c74cdd6c667aceb38f5c1e26f0693b3983d9d74887c65e \ + --hash=sha256:0ce40cd7b21210e99342afafbd4d0f76d784eb5b1d60f3bdc566be4983c6c73b \ + --hash=sha256:0e96592440881c74a213e5ad528e2b24d3d4f940de2766bed9010ab1d9e51594 \ + --hash=sha256:10e17cbb10a330363733efc4d7c4d0dd827ac0909b8f6a6542298fed1ea62f29 \ + --hash=sha256:133878133d271ade3d41d1bfb2a45ec38dbdbda40bc065921c6b04e4630127e2 \ + --hash=sha256:14d4edf427bdcf950a8a02d7cb44a08614388dd6e1bdcbf4f67504fa7887da9c \ + --hash=sha256:14f4c5d6db102bd796a627bbb3a17b4cf4574b9ae861d8b7c9a9661c6dd3362d \ + --hash=sha256:17299feefe090f2caa5b8e37222bb5f663e4935a8bfa6931d4102e5df1a9f398 \ + --hash=sha256:184c081504d17f1c1066e430e117142b2c77d9448a97f7b65c6ac9fd9aee238d \ + --hash=sha256:18e5ceec2ab67e6d5f1a9085e5a24c9c4e2ac4545730bfe668680bca05e555f3 \ + --hash=sha256:19e51f073cd3df251856a8a4189fbdf1de4012c3ebacfb1884f94f1eb406079f \ + --hash=sha256:1a7dd0b3ee80d90150e3495a3a13ac34dbcbfd4f012996a6a1d8900e91b5c0fb \ + --hash=sha256:1d8ba486450b14f3b1d63bc521d410ec7565e52f887b9fb671791886436a42f7 \ + --hash=sha256:2108ba5c1c1eca18030634489dc544844144ee36357f2f9f780b93e7ddbb44b5 \ + --hash=sha256:228ee9bae8bef5b1e97ec58302f80357c37199e0d0a99174e138d28e6957b9d9 \ + --hash=sha256:23ace664830ee0bfe014a0c7bc248b1f7f25ed7ad103852c317624a1083af462 \ + --hash=sha256:2412e734dcb48da14d4e4006b82b46b74f2518b8a26ee7e58c6844a6cd6d03c4 \ + --hash=sha256:29c61fc04a3d840155ff08e475a04809278972fe6aef51e2720554e96367e34b \ + --hash=sha256:2f84c03c8607173d16b5a854ec68a2f9079ae03237a54fb506d13af47e1d018d \ + --hash=sha256:3009f12e4e90b7f88b4f9adb1b0c4a3d58fe7820f3238c190047209d148026df \ + --hash=sha256:3245406455a5d98187ec35530fd772b1d799b26667980872c8d4614991e2c4a2 \ + --hash=sha256:3447661d99f75a3683a4cf5c87da72f2161964611864dbbeac7fbb118bb4bfc0 \ + --hash=sha256:372429a130e469c9cd698925ce5fc50940b7a1336b0d82038e63d5bbc4edc519 \ + --hash=sha256:395aebd9183f9d112f569aeb5b2214d1a10a33bec8456447f7fbdfa51d38d4cd \ + --hash=sha256:3a233125ac121aa3ffba9a2b59edfc4a985a76092dc8279586ab4b71390875e7 \ + --hash=sha256:3be77f45df024d789a672ae34f8b06fb346c4f9f46ea714956660ea4862e89ac \ + --hash=sha256:3bf92c5d0e00fefaab325a4d27828fe6b6e2a21848686b5b60d2d9eeb09d76c6 \ + --hash=sha256:3ecbc122d18468d06ca279dc26a8c2e2d5acb10943bb35e36ae92096dc3b5565 \ + --hash=sha256:3fb702cd90b0446a3a1c5e470bfa0dd23c0233b676a9099ddcc964fa6ca13898 \ + --hash=sha256:428e04521a40150c85216fc8b85e8d39fece235a9cf5e383761238c7fa9b96fb \ + --hash=sha256:432c179df7874eeb73307aad2df0755e1ae0efa61ff0ea89b93e194411ae3928 \ + --hash=sha256:4a05d69cba51d852c5c3e92758653245a50c0b646ced0cf05bd793ed592839d6 \ + --hash=sha256:4c63ebc82684aa89d9a3bcbd13d515b3be44250dc68dd3bd81526c1cb31286c3 \ + --hash=sha256:4fc73cb559bdb54b1134a706a2802a4cddd27a0633f5abb7e53056268751ac6a \ + --hash=sha256:4fcbe087dbc2068af7eda3aa87634eba216dbda64d1ae73c8684b621d33f6596 \ + --hash=sha256:56cb4851bcaf3d117eddcef4fe66afd750a50274b0da8e22be256d10e5611987 \ + --hash=sha256:5855698a4856556d86e8e6cd8434bc3ac0314ee8e12089ae0e143f64c6256e4e \ + --hash=sha256:5a4330cdbc57162e4b3aa303f588ba752257694c9c9be3e7ebb11b4aca659b5d \ + --hash=sha256:5b712b53160b79a5850310b912a5ef8e57e56947c8ad690c227f5c9d7e561712 \ + --hash=sha256:5d5902252db0d3cedf8d4a1bc68f70eeb430f7e4c7104c8c476753519b423008 \ + --hash=sha256:617d7e2ca7dcb8c5cf6bcb8c59b8832c94b36196bbf1cbd1bfb56ed341905edd \ + --hash=sha256:62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1 \ + --hash=sha256:633147d34cf4550417f12e2b1a0383973bdf5cdfde212cb09e9a581cf10820be \ + --hash=sha256:66ce7632c22d837c95301830e111ad0128a32b8207533b60896a96c4915192ea \ + --hash=sha256:6b3ace8194b0e5204818c92802dcdca7fc6d88aabbb799d7c795540d9cd6d292 \ + --hash=sha256:6f2eeda33a839975441c86a4119e1383c50b47faf0cbb5176985565c6bb02c33 \ + --hash=sha256:7027560ee92211647d0d34e3f7cd6f50da56399d26a9c8ad0da286d3869a53f3 \ + --hash=sha256:7283d57845ecf5a163403eb0702dfc220cc4fbdd18919cb5ccea4f95ee1cdab4 \ + --hash=sha256:7a5f930472650a82629163023e630d160863fce524c616f4e5186e5de9d9a49b \ + --hash=sha256:7bfb192b3f4b9e8a89b6277b6ce787564f62cfd272055f6e685726b111dc7826 \ + --hash=sha256:811ff8e9c313ab425368bcbb36e5c4ebd7108c2bbf4e4089cfbb0b01eff63fac \ + --hash=sha256:8233f2947cf85404441fd7e0085f53b10c93e0ee78611099b5c7237e36aacbf7 \ + --hash=sha256:82cf5301172168103724d49a1444d3378cb20cdee30b116a1bd6031236298a5d \ + --hash=sha256:8358a950c8909158e3df31538a7e4edc2d7265a7c54b47f0864d9e5bae9dcebf \ + --hash=sha256:85bb3611ff1802f3ee7fdd7dbff26b56f343fb432d57a4728fdd49b6ef35e2f4 \ + --hash=sha256:86e1a4418c6cd97d60c95c71164158eaf7324fae7b0923264016baa993eba6fc \ + --hash=sha256:8b9bab013d1c7a79d3501ff86d0bc9c31bf587db4551677b96bec07df78c6b15 \ + --hash=sha256:8c5dac79fa1614d1e06ca695109c6105923bd9c7d1d6c918d4e637b7e6b32fd3 \ + --hash=sha256:8d0820e8192167f80d88d64038e609c31452eeca865b4e1d9950a27a4609b00b \ + --hash=sha256:8daafc69c93ee8a0204506a3b6b30f586ef54028f52aeeeb5c4cfc5184fd5914 \ + --hash=sha256:9037063db01f09b09e237c282b6792bd4da634b5402c4e7f0c61effed7701a04 \ + --hash=sha256:905a0ed8ea6f2d61c1738835f99b699348d7857379083e5fc497fa0c967a407c \ + --hash=sha256:90884113d8b48f760e9587002789ddd741e76ab9f89518cd1e43b1f1a52ec44b \ + --hash=sha256:91a06d2e259ecfbd8c901d70c3c507900458498142b3026a296b7de4d1322cc9 \ + --hash=sha256:926c9541b14b12b1681dca8a0b75feb510b06c6341b70a8e500c2fdcff837cce \ + --hash=sha256:9401557acd873c3a7f3eb9383edef8ac4968f9510e340f4808d427e75667e7b4 \ + --hash=sha256:9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a \ + --hash=sha256:962ccbab7b642487b1d8b7df90ef677e03134cf1fd8880bf698649b22a69371f \ + --hash=sha256:97e7cf2be5c77b7d1a9713a05605d49460d02c6078d38d8bef3cbe323c548424 \ + --hash=sha256:9aa768456404a8bf48a4406685ac2bec8e72b62c69313734fa3b73cf33b3a894 \ + --hash=sha256:9bc519fbf2b7578398853d815009ae5e4d4603d12f4e3f91da8c06852d3da3e9 \ + --hash=sha256:9d56801be94b86a9da183e5f3766e6310752b99ff647e38b09a9500d88e46e76 \ + --hash=sha256:9f444c499b3eefd3a92e348059471ea0c3a6e303d9c1cec09fa748fd9f895201 \ + --hash=sha256:9fa8ae11da9e2b3126c6426f147e0fba88d96d65921799bb30c6abd1cb2c97fb \ + --hash=sha256:a0f62d0a58f4e7da165457e995725421e0064f2255d8eccebc49f41bbc23b109 \ + --hash=sha256:a396dcc17e5a0b164dbe026896245a4fa9ff402edca1dff0be3d53a517f74de4 \ + --hash=sha256:aaa2a54443eff1950ba5ddc6b6ccda0d9c84a364276a62f969bdf2a390650848 \ + --hash=sha256:ad785e92e6dc634c21555edc8bd6b64957ab844541bcb96a1366c202951ae526 \ + --hash=sha256:af8244b2bef6aaad6d92cda81372de7f8c8d36c9f0c3ea36e827c60e7d9467a0 \ + --hash=sha256:b078afbc25f3a1436c7a1d2cd3e322497ee99615ba97c563566fdf46aff1ee01 \ + --hash=sha256:b2f69dec1725e79a012d920df1707de5caf7ed5e08f3be4435e25803efc47458 \ + --hash=sha256:b8458003118a712e66286df6a707db01c52c0f52f7db8e4a38f0da1d3b94fc4e \ + --hash=sha256:bb63e0198ca18aad131c089b9204c23079c3afa95487e561f4c522d519e55aba \ + --hash=sha256:bfec22eab3c8cc2ceec0248aec886624116dc079afa027ecc8ad4a7e62010f8a \ + --hash=sha256:c1747f85cee84c26985853c6f3d9bd3e75da5212912443fa111c113b9c246f39 \ + --hash=sha256:c1b3f518abeca3aa13c712fd202306e145abf59a18b094a6bafb2d2bbf59192c \ + --hash=sha256:c50f2528cf200c5eed56faf3f4e22fcd5f38c157a8b78576e6ba3168ec35f000 \ + --hash=sha256:c68fcd102d71ea85c5b2dfac3f4f8476eff42a9e078fd5faefff6d145063536b \ + --hash=sha256:c7a7bd4e39e8e4c12c39cd480356842b6a8a06e41b23a55a5e3e191718838ddf \ + --hash=sha256:c94f0688e7b8d0a67abf40e57a7eaaecd17cc9586706a31b76c031f63df052b4 \ + --hash=sha256:cbaf13819775b7f769bf4a1f066cb6df7a28d4480081a589828ef190226881cd \ + --hash=sha256:cd2213145bcc2ba85884d0ac63d222fece9209678f77b9b4d76f054c561adb28 \ + --hash=sha256:ce5c1d2a8b27468f433ca974829c44060b8097eedc39933e3c206a90ee49c4a9 \ + --hash=sha256:d396ec2b979760aaf3218e76c24e65bd0aca24983298653b3a9d7a45f9e47b30 \ + --hash=sha256:d51026d73fcfd93610abc7b27789c26b313920fcfb20e27462d74a7f8b06e983 \ + --hash=sha256:d80ee3d731373b24cebbc10d689ca4ee1875caf0d5703a245db18efd4dd37fc1 \ + --hash=sha256:d995260fdf4e1db774581b4900e0f832abe3c7c84996726bbc161b19c8f29e76 \ + --hash=sha256:da4b951fe36dc7c3a1ccb4e3cd1747c3542b8c9ceede8fc86cae054e764485f5 \ + --hash=sha256:daa27d92c36f24388fe3ad306b174781c747627f134452e4f128ea00ce1fe8c4 \ + --hash=sha256:db06ffe51636ffe9ca531fe9023dd64bdd794be8754cb5df57c5498ae5b518a7 \ + --hash=sha256:e0d65b8c354be7fb5f720c3caa8bc940bc2d20ce749c8e06135f07f8ed95dd7c \ + --hash=sha256:e68b7a074f65a2fd746c52a7ce6142ab7006074ac269ace0c25cd8ba171f8066 \ + --hash=sha256:e739fee756ba1010f8bcccb534252e85a35fe45ae92c295a06059ce58b74ccd3 \ + --hash=sha256:e846ae7835bf0703ae43f534ab79a867146dadd59dc9ca5c8b53d5c8f7c9ef02 \ + --hash=sha256:e9c26f834c65f5752f3f06cb08cb86a913ceb7274d0db6e267808a708b46bc89 \ + --hash=sha256:ea793e075b70290d89d8142074262885d3f7da19634845135751bd6344f73b50 \ + --hash=sha256:f027324c56cd5406ca49c124b0db10e56c69064fec039acc571c29020cc87c76 \ + --hash=sha256:f13a646d65d09fbf1bc6b3a9635d30095c8e7e5cc419ff35ecc563c5fd04cd49 \ + --hash=sha256:f47286a97f0bc9b8859519809077b91b2cefe4ae47fcbf5e466a009c1c5d742b \ + --hash=sha256:f747929cf940cddb5b3668a390056ddd5ba2e5010615ea2dcf4f9c4f3ab8791d \ + --hash=sha256:f99626688942fb746e545232e7726926f3be91b5975f8b55327665fafda991c7 \ + --hash=sha256:f9fa868638bf362d3d138ea55829cefb3d5f4b0d7f142234382a15e2485dbec4 \ + --hash=sha256:fbdb89b3e1c94a30cc5edfce477c6e6a5dc4d8f84665b455c27582f211a1c72c \ + --hash=sha256:fc010ab034c8c7452522748bf937df58020d256ccae0874463d1f4d01758af8e \ + --hash=sha256:fc3e9034a63de20e15e8ade85358bc6efc614008cab72898b4b4952bea0509ff \ + --hash=sha256:fd8b3d9fd264be37976686c7f65cd52a83f5e84f4bfd2adf9c1d469676bbb6ae + # via pydantic +pygments==2.20.0 \ + --hash=sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f \ + --hash=sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176 + # via + # ipython + # pytest + # rich +pytest==8.4.2 \ + --hash=sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01 \ + --hash=sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79 + # via policyengine-core +python-dateutil==2.9.0.post0 \ + --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ + --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 + # via pandas +pyvis==0.3.2 \ + --hash=sha256:5720c4ca8161dc5d9ab352015723abb7a8bb8fb443edeb07f7a322db34a97555 + # via policyengine-core +pyyaml==6.0.3 \ + --hash=sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c \ + --hash=sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a \ + --hash=sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3 \ + --hash=sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956 \ + --hash=sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6 \ + --hash=sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c \ + --hash=sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65 \ + --hash=sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a \ + --hash=sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0 \ + --hash=sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b \ + --hash=sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1 \ + --hash=sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6 \ + --hash=sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7 \ + --hash=sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e \ + --hash=sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007 \ + --hash=sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310 \ + --hash=sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4 \ + --hash=sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9 \ + --hash=sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295 \ + --hash=sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea \ + --hash=sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0 \ + --hash=sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e \ + --hash=sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac \ + --hash=sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9 \ + --hash=sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7 \ + --hash=sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35 \ + --hash=sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb \ + --hash=sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b \ + --hash=sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69 \ + --hash=sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5 \ + --hash=sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b \ + --hash=sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c \ + --hash=sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369 \ + --hash=sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd \ + --hash=sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824 \ + --hash=sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198 \ + --hash=sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065 \ + --hash=sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c \ + --hash=sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c \ + --hash=sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764 \ + --hash=sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196 \ + --hash=sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b \ + --hash=sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00 \ + --hash=sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac \ + --hash=sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8 \ + --hash=sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e \ + --hash=sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28 \ + --hash=sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3 \ + --hash=sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5 \ + --hash=sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4 \ + --hash=sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b \ + --hash=sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf \ + --hash=sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5 \ + --hash=sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702 \ + --hash=sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8 \ + --hash=sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788 \ + --hash=sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da \ + --hash=sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d \ + --hash=sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc \ + --hash=sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c \ + --hash=sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba \ + --hash=sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f \ + --hash=sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917 \ + --hash=sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5 \ + --hash=sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26 \ + --hash=sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f \ + --hash=sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b \ + --hash=sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be \ + --hash=sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c \ + --hash=sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3 \ + --hash=sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6 \ + --hash=sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926 \ + --hash=sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0 + # via huggingface-hub +referencing==0.37.0 \ + --hash=sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231 \ + --hash=sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8 + # via + # jsonschema + # jsonschema-specifications +requests==2.34.0 \ + --hash=sha256:7d62fe92f50eb82c529b0916bb445afa1531a566fc8f35ffdc64446e771b856a \ + --hash=sha256:917520a21b767485ce7c588f4ebb917c436b24a31231b44228715eaeb5a52c60 + # via + # blosc2 + # census + # policyengine + # policyengine-core + # spm-calculator +rich==15.0.0 \ + --hash=sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb \ + --hash=sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36 + # via typer +rpds-py==0.30.0 \ + --hash=sha256:07ae8a593e1c3c6b82ca3292efbe73c30b61332fd612e05abee07c79359f292f \ + --hash=sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136 \ + --hash=sha256:0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3 \ + --hash=sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7 \ + --hash=sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65 \ + --hash=sha256:12f90dd7557b6bd57f40abe7747e81e0c0b119bef015ea7726e69fe550e394a4 \ + --hash=sha256:1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169 \ + --hash=sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf \ + --hash=sha256:1b151685b23929ab7beec71080a8889d4d6d9fa9a983d213f07121205d48e2c4 \ + --hash=sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2 \ + --hash=sha256:250fa00e9543ac9b97ac258bd37367ff5256666122c2d0f2bc97577c60a1818c \ + --hash=sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4 \ + --hash=sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3 \ + --hash=sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6 \ + --hash=sha256:32c8528634e1bf7121f3de08fa85b138f4e0dc47657866630611b03967f041d7 \ + --hash=sha256:33f559f3104504506a44bb666b93a33f5d33133765b0c216a5bf2f1e1503af89 \ + --hash=sha256:3896fa1be39912cf0757753826bc8bdc8ca331a28a7c4ae46b7a21280b06bb85 \ + --hash=sha256:389a2d49eded1896c3d48b0136ead37c48e221b391c052fba3f4055c367f60a6 \ + --hash=sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa \ + --hash=sha256:3adbb8179ce342d235c31ab8ec511e66c73faa27a47e076ccc92421add53e2bb \ + --hash=sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6 \ + --hash=sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87 \ + --hash=sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856 \ + --hash=sha256:422c3cb9856d80b09d30d2eb255d0754b23e090034e1deb4083f8004bd0761e4 \ + --hash=sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f \ + --hash=sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53 \ + --hash=sha256:47b0ef6231c58f506ef0b74d44e330405caa8428e770fec25329ed2cb971a229 \ + --hash=sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad \ + --hash=sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23 \ + --hash=sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db \ + --hash=sha256:495aeca4b93d465efde585977365187149e75383ad2684f81519f504f5c13038 \ + --hash=sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27 \ + --hash=sha256:4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00 \ + --hash=sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18 \ + --hash=sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083 \ + --hash=sha256:55f66022632205940f1827effeff17c4fa7ae1953d2b74a8581baaefb7d16f8c \ + --hash=sha256:58edca431fb9b29950807e301826586e5bbf24163677732429770a697ffe6738 \ + --hash=sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898 \ + --hash=sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e \ + --hash=sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7 \ + --hash=sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08 \ + --hash=sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6 \ + --hash=sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551 \ + --hash=sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e \ + --hash=sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288 \ + --hash=sha256:67b02ec25ba7a9e8fa74c63b6ca44cf5707f2fbfadae3ee8e7494297d56aa9df \ + --hash=sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0 \ + --hash=sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2 \ + --hash=sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05 \ + --hash=sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0 \ + --hash=sha256:6de2a32a1665b93233cde140ff8b3467bdb9e2af2b91079f0333a0974d12d464 \ + --hash=sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5 \ + --hash=sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404 \ + --hash=sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7 \ + --hash=sha256:7c64d38fb49b6cdeda16ab49e35fe0da2e1e9b34bc38bd78386530f218b37139 \ + --hash=sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394 \ + --hash=sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb \ + --hash=sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15 \ + --hash=sha256:858738e9c32147f78b3ac24dc0edb6610000e56dc0f700fd5f651d0a0f0eb9ff \ + --hash=sha256:8d6d1cc13664ec13c1b84241204ff3b12f9bb82464b8ad6e7a5d3486975c2eed \ + --hash=sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6 \ + --hash=sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e \ + --hash=sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95 \ + --hash=sha256:946fe926af6e44f3697abbc305ea168c2c31d3e3ef1058cf68f379bf0335a78d \ + --hash=sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950 \ + --hash=sha256:9854cf4f488b3d57b9aaeb105f06d78e5529d3145b1e4a41750167e8c213c6d3 \ + --hash=sha256:993914b8e560023bc0a8bf742c5f303551992dcb85e247b1e5c7f4a7d145bda5 \ + --hash=sha256:99b47d6ad9a6da00bec6aabe5a6279ecd3c06a329d4aa4771034a21e335c3a97 \ + --hash=sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e \ + --hash=sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e \ + --hash=sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b \ + --hash=sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd \ + --hash=sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad \ + --hash=sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8 \ + --hash=sha256:a2bffea6a4ca9f01b3f8e548302470306689684e61602aa3d141e34da06cf425 \ + --hash=sha256:a452763cc5198f2f98898eb98f7569649fe5da666c2dc6b5ddb10fde5a574221 \ + --hash=sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d \ + --hash=sha256:a51033ff701fca756439d641c0ad09a41d9242fa69121c7d8769604a0a629825 \ + --hash=sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51 \ + --hash=sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e \ + --hash=sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f \ + --hash=sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8 \ + --hash=sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f \ + --hash=sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d \ + --hash=sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07 \ + --hash=sha256:ba3af48635eb83d03f6c9735dfb21785303e73d22ad03d489e88adae6eab8877 \ + --hash=sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31 \ + --hash=sha256:c2262bdba0ad4fc6fb5545660673925c2d2a5d9e2e0fb603aad545427be0fc58 \ + --hash=sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94 \ + --hash=sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28 \ + --hash=sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000 \ + --hash=sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1 \ + --hash=sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1 \ + --hash=sha256:d9a0ca5da0386dee0655b4ccdf46119df60e0f10da268d04fe7cc87886872ba7 \ + --hash=sha256:da279aa314f00acbb803da1e76fa18666778e8a8f83484fba94526da5de2cba7 \ + --hash=sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40 \ + --hash=sha256:dc4f992dfe1e2bc3ebc7444f6c7051b4bc13cd8e33e43511e8ffd13bf407010d \ + --hash=sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0 \ + --hash=sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84 \ + --hash=sha256:dea5b552272a944763b34394d04577cf0f9bd013207bc32323b5a89a53cf9c2f \ + --hash=sha256:dff13836529b921e22f15cb099751209a60009731a68519630a24d61f0b1b30a \ + --hash=sha256:e0b65193a413ccc930671c55153a03ee57cecb49e6227204b04fae512eb657a7 \ + --hash=sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419 \ + --hash=sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8 \ + --hash=sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a \ + --hash=sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9 \ + --hash=sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be \ + --hash=sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed \ + --hash=sha256:ee6af14263f25eedc3bb918a3c04245106a42dfd4f5c2285ea6f997b1fc3f89a \ + --hash=sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d \ + --hash=sha256:f207f69853edd6f6700b86efb84999651baf3789e78a466431df1331608e5324 \ + --hash=sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f \ + --hash=sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2 \ + --hash=sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f \ + --hash=sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5 + # via + # jsonschema + # referencing +shellingham==1.5.4 \ + --hash=sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686 \ + --hash=sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de + # via typer +six==1.17.0 \ + --hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \ + --hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81 + # via python-dateutil +sortedcontainers==2.4.0 \ + --hash=sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88 \ + --hash=sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0 + # via policyengine-core +spm-calculator==0.3.1 \ + --hash=sha256:41f2f4d00d8c03422a7d57b800052e7760b88e463a5884802f83ed58d35c18c1 \ + --hash=sha256:52c57ecc5a240ec941b0f2b0d93bc4fa437ef6250e233baed8e11916fa9c1150 + # via policyengine-us +stack-data==0.6.3 \ + --hash=sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9 \ + --hash=sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695 + # via ipython +standard-imghdr==3.13.0 \ + --hash=sha256:30a1bff5465605bb496f842a6ac3cc1f2131bf3025b0da28d4877d6d4b7cc8e9 \ + --hash=sha256:8d9c68058d882f6fc3542a8d39ef9ff94d2187dc90bd0c851e0902776b7b7a42 + # via policyengine-core +tables==3.11.1 \ + --hash=sha256:1e78fe190fdeb4afe430b79651bae2a4f341904eb85aa8dbafe5f1caee1c7f67 \ + --hash=sha256:3a9c35f87fcb6a48c79fbc4e3ab15ca8f6053c4ce13063d6ca2ec36cbb58f40f \ + --hash=sha256:4cf3218b76ba78d156d6ee75c19fb757d50682f6c7b4905370441afbfc9d77f3 \ + --hash=sha256:56bf6fb9132ead989b7e76695d7613d6d08f071a8019038d6565ba90c66b9f3e \ + --hash=sha256:78abcf413091bc7c1e4e8c10fbbb438d1ac0b5a87436c5b972c3e8253871b6fb \ + --hash=sha256:7fa6cb03f6fe55ae4f85e89ec5450e5c40cc4c52d8c3b60eb157a445c2219e89 \ + --hash=sha256:a4bbd95036a4d0cc5c86c1f87fbb490b4c53cd70982f1c01b3ed6dcb3085cbb9 \ + --hash=sha256:a6f7a3b82dbf0ae0f30de635ca88bb42dd87938b0950369d0ee4289c52ae6de2 \ + --hash=sha256:e3cfe79484351f7216eb8f3767bfa1217bfd271b04428f79cfa7ef6d7491919d \ + --hash=sha256:eb30684c42a77bbecdef2b9c763c4372b0ddc9cc5bd8b2a2055f2042eee67217 \ + --hash=sha256:f0367d2e3df0f10ea63ccf4279f3fe58e32ec481767320301a483e2b3cd83efc + # via policyengine-us +tenacity==9.1.4 \ + --hash=sha256:6095a360c919085f28c6527de529e76a06ad89b23659fa881ae0649b867a9d55 \ + --hash=sha256:adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a + # via plotly +threadpoolctl==3.6.0 \ + --hash=sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb \ + --hash=sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e + # via blosc2 +tqdm==4.67.3 \ + --hash=sha256:7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb \ + --hash=sha256:ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf + # via + # huggingface-hub + # policyengine-us +traitlets==5.15.0 \ + --hash=sha256:4fead733f81cf1c4c938e06f8ca4633896833c9d89eff878159457f4d4392971 \ + --hash=sha256:fb36a18867a6803deab09f3c5e0fa81bb7b26a5c9e82501c9933f759166eff40 + # via + # ipython + # matplotlib-inline +typer==0.25.1 \ + --hash=sha256:75caa44ed46a03fb2dab8808753ffacdbfea88495e74c85a28c5eefcf5f39c89 \ + --hash=sha256:9616eb8853a09ffeabab1698952f33c6f29ffdbceb4eaeecf571880e8d7664cc + # via huggingface-hub +typing-extensions==4.15.0 \ + --hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \ + --hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548 + # via + # huggingface-hub + # pydantic + # pydantic-core + # typing-inspection +typing-inspection==0.4.2 \ + --hash=sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7 \ + --hash=sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464 + # via pydantic +urllib3==2.7.0 \ + --hash=sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c \ + --hash=sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897 + # via requests +us==3.2.0 \ + --hash=sha256:571714ad6d473c72bbd2058a53404cdf4ecc0129e4f19adfcbeb4e2d7e3dc3e7 \ + --hash=sha256:cb223e85393dcc5171ead0dd212badc47f9667b23700fea3e7ea5f310d545338 + # via spm-calculator +wcwidth==0.7.0 \ + --hash=sha256:5d69154c429a82910e241c738cd0e2976fac8a2dd47a1a805f4afed1c0f136f2 \ + --hash=sha256:90e3a7ea092341c44b99562e75d09e4d5160fe7a3974c6fb842a101a95e7eed0 + # via prompt-toolkit +wheel==0.47.0 \ + --hash=sha256:212281cab4dff978f6cedd499cd893e1f620791ca6ff7107cf270781e587eced \ + --hash=sha256:cc72bd1009ba0cf63922e28f94d9d83b920aa2bb28f798a31d0691b02fa3c9b3 + # via policyengine-core diff --git a/src/policyengine/data/install/us/py313/pylock.toml b/src/policyengine/data/install/us/py313/pylock.toml new file mode 100644 index 00000000..9456721a --- /dev/null +++ b/src/policyengine/data/install/us/py313/pylock.toml @@ -0,0 +1,521 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmpmrfellmb/requirements.in --python-version 3.13 --python-platform x86_64-manylinux_2_28 --format pylock.toml --output-file bundles/4.4.3/install/us/py313/pylock.toml +lock-version = "1.0" +created-by = "uv" +requires-python = ">=3.13" + +[[packages]] +name = "annotated-doc" +version = "0.0.4" +sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", upload-time = 2025-11-10T22:07:42Z, size = 7288, hashes = { sha256 = "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", upload-time = 2025-11-10T22:07:40Z, size = 5303, hashes = { sha256 = "571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320" } }] + +[[packages]] +name = "annotated-types" +version = "0.7.0" +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", upload-time = 2024-05-20T21:33:25Z, size = 16081, hashes = { sha256 = "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", upload-time = 2024-05-20T21:33:24Z, size = 13643, hashes = { sha256 = "1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53" } }] + +[[packages]] +name = "anyio" +version = "4.13.0" +sdist = { url = "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz", upload-time = 2026-03-24T12:59:09Z, size = 231622, hashes = { sha256 = "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/da/42/e921fccf5015463e32a3cf6ee7f980a6ed0f395ceeaa45060b61d86486c2/anyio-4.13.0-py3-none-any.whl", upload-time = 2026-03-24T12:59:08Z, size = 114353, hashes = { sha256 = "08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708" } }] + +[[packages]] +name = "asttokens" +version = "3.0.1" +sdist = { url = "https://files.pythonhosted.org/packages/be/a5/8e3f9b6771b0b408517c82d97aed8f2036509bc247d46114925e32fe33f0/asttokens-3.0.1.tar.gz", upload-time = 2025-11-15T16:43:48Z, size = 62308, hashes = { sha256 = "71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl", upload-time = 2025-11-15T16:43:16Z, size = 27047, hashes = { sha256 = "15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a" } }] + +[[packages]] +name = "attrs" +version = "26.1.0" +sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", upload-time = 2026-03-19T14:22:25Z, size = 952055, hashes = { sha256 = "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", upload-time = 2026-03-19T14:22:23Z, size = 67548, hashes = { sha256 = "c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309" } }] + +[[packages]] +name = "blosc2" +version = "4.2.0" +sdist = { url = "https://files.pythonhosted.org/packages/64/2b/47b891a836260185652781abf98c8868a0df361f79e66ace13cee2b46235/blosc2-4.2.0.tar.gz", upload-time = 2026-05-07T11:26:30Z, size = 5205444, hashes = { sha256 = "bbefc417322a59443d844b4d03e66b228694ec6bfd1de8bbd832c4aa0eaebe64" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/f4/ab/a0aefc8a327b7577b68fca1f456f625c2d8fbbd85d3c07531079ff75e96c/blosc2-4.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", upload-time = 2026-05-07T11:26:11Z, size = 6381473, hashes = { sha256 = "f48ea67ccd751999e9bb3c4e10853d422167b9619af701b1fdb08cc27584db96" } }] + +[[packages]] +name = "census" +version = "0.8.26" +sdist = { url = "https://files.pythonhosted.org/packages/f7/e0/c1cde674716d836139550542febca6231616d776119ae73705036d741da7/census-0.8.26.tar.gz", upload-time = 2026-04-08T13:44:19Z, size = 13019, hashes = { sha256 = "c7f9944e38952b4ecc137d14d083018a1c2734f64d2fbc4a8946f35fd51888c2" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/80/13/13dcc8a3142c3c73e5228c05e1ce6567378bc5c673d5567c116d4a8162d7/census-0.8.26-py3-none-any.whl", upload-time = 2026-04-08T13:44:18Z, size = 11364, hashes = { sha256 = "c341bbce4bcdd75c0ddecf75f28ab7eda26a47d7fecc95c4690a2d8ee5b6a727" } }] + +[[packages]] +name = "certifi" +version = "2026.4.22" +sdist = { url = "https://files.pythonhosted.org/packages/25/ee/6caf7a40c36a1220410afe15a1cc64993a1f864871f698c0f93acb72842a/certifi-2026.4.22.tar.gz", upload-time = 2026-04-22T11:26:11Z, size = 137077, hashes = { sha256 = "8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/22/30/7cd8fdcdfbc5b869528b079bfb76dcdf6056b1a2097a662e5e8c04f42965/certifi-2026.4.22-py3-none-any.whl", upload-time = 2026-04-22T11:26:09Z, size = 135707, hashes = { sha256 = "3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a" } }] + +[[packages]] +name = "charset-normalizer" +version = "3.4.7" +sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", upload-time = 2026-04-02T09:28:39Z, size = 144271, hashes = { sha256 = "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" } } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2026-04-02T09:26:50Z, size = 215595, hashes = { sha256 = "e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd" } }, + { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", upload-time = 2026-04-02T09:28:37Z, size = 61958, hashes = { sha256 = "3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d" } }, +] + +[[packages]] +name = "click" +version = "8.3.3" +sdist = { url = "https://files.pythonhosted.org/packages/bb/63/f9e1ea081ce35720d8b92acde70daaedace594dc93b693c869e0d5910718/click-8.3.3.tar.gz", upload-time = 2026-04-22T15:11:27Z, size = 328061, hashes = { sha256 = "398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/ae/44/c1221527f6a71a01ec6fbad7fa78f1d50dfa02217385cf0fa3eec7087d59/click-8.3.3-py3-none-any.whl", upload-time = 2026-04-22T15:11:25Z, size = 110502, hashes = { sha256 = "a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613" } }] + +[[packages]] +name = "decorator" +version = "5.2.1" +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", upload-time = 2025-02-24T04:41:34Z, size = 56711, hashes = { sha256 = "65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", upload-time = 2025-02-24T04:41:32Z, size = 9190, hashes = { sha256 = "d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a" } }] + +[[packages]] +name = "dpath" +version = "2.2.0" +sdist = { url = "https://files.pythonhosted.org/packages/b5/ce/e1fd64d36e4a5717bd5e6b2ad188f5eaa2e902fde871ea73a79875793fc9/dpath-2.2.0.tar.gz", upload-time = 2024-06-12T22:08:03Z, size = 28266, hashes = { sha256 = "34f7e630dc55ea3f219e555726f5da4b4b25f2200319c8e6902c394258dd6a3e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/05/d1/8952806fbf9583004ab479d8f58a9496c3d35f6b6009ddd458bdd9978eaf/dpath-2.2.0-py3-none-any.whl", upload-time = 2024-06-12T22:08:01Z, size = 17618, hashes = { sha256 = "b330a375ded0a0d2ed404440f6c6a715deae5313af40bbb01c8a41d891900576" } }] + +[[packages]] +name = "et-xmlfile" +version = "2.0.0" +sdist = { url = "https://files.pythonhosted.org/packages/d3/38/af70d7ab1ae9d4da450eeec1fa3918940a5fafb9055e934af8d6eb0c2313/et_xmlfile-2.0.0.tar.gz", upload-time = 2024-10-25T17:25:40Z, size = 17234, hashes = { sha256 = "dab3f4764309081ce75662649be815c4c9081e88f0837825f90fd28317d4da54" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c1/8b/5fe2cc11fee489817272089c4203e679c63b570a5aaeb18d852ae3cbba6a/et_xmlfile-2.0.0-py3-none-any.whl", upload-time = 2024-10-25T17:25:39Z, size = 18059, hashes = { sha256 = "7a91720bc756843502c3b7504c77b8fe44217c85c537d85037f0f536151b2caa" } }] + +[[packages]] +name = "executing" +version = "2.2.1" +sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", upload-time = 2025-09-01T09:48:10Z, size = 1129488, hashes = { sha256 = "3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", upload-time = 2025-09-01T09:48:08Z, size = 28317, hashes = { sha256 = "760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017" } }] + +[[packages]] +name = "filelock" +version = "3.29.0" +sdist = { url = "https://files.pythonhosted.org/packages/b5/fe/997687a931ab51049acce6fa1f23e8f01216374ea81374ddee763c493db5/filelock-3.29.0.tar.gz", upload-time = 2026-04-19T15:39:10Z, size = 57571, hashes = { sha256 = "69974355e960702e789734cb4871f884ea6fe50bd8404051a3530bc07809cf90" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/81/47/dd9a212ef6e343a6857485ffe25bba537304f1913bdbed446a23f7f592e1/filelock-3.29.0-py3-none-any.whl", upload-time = 2026-04-19T15:39:08Z, size = 39812, hashes = { sha256 = "96f5f6344709aa1572bbf631c640e4ebeeb519e08da902c39a001882f30ac258" } }] + +[[packages]] +name = "fsspec" +version = "2026.4.0" +sdist = { url = "https://files.pythonhosted.org/packages/d5/8d/1c51c094345df128ca4a990d633fe1a0ff28726c9e6b3c41ba65087bba1d/fsspec-2026.4.0.tar.gz", upload-time = 2026-04-29T20:42:38Z, size = 312760, hashes = { sha256 = "301d8ac70ae90ef3ad05dcf94d6c3754a097f9b5fe4667d2787aa359ec7df7e4" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/d5/0c/043d5e551459da400957a1395e0febbf771446ff34291afcbe3d8be2a279/fsspec-2026.4.0-py3-none-any.whl", upload-time = 2026-04-29T20:42:36Z, size = 203402, hashes = { sha256 = "11ef7bb35dab8a394fde6e608221d5cf3e8499401c249bebaeaad760a1a8dec2" } }] + +[[packages]] +name = "h11" +version = "0.16.0" +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", upload-time = 2025-04-24T03:35:25Z, size = 101250, hashes = { sha256 = "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", upload-time = 2025-04-24T03:35:24Z, size = 37515, hashes = { sha256 = "63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86" } }] + +[[packages]] +name = "h5py" +version = "3.16.0" +sdist = { url = "https://files.pythonhosted.org/packages/db/33/acd0ce6863b6c0d7735007df01815403f5589a21ff8c2e1ee2587a38f548/h5py-3.16.0.tar.gz", upload-time = 2026-03-06T13:49:08Z, size = 446526, hashes = { sha256 = "a0dbaad796840ccaa67a4c144a0d0c8080073c34c76d5a6941d6818678ef2738" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/bd/98/ef2b6fe2903e377cbe870c3b2800d62552f1e3dbe81ce49e1923c53d1c5c/h5py-3.16.0-cp313-cp313-manylinux_2_28_x86_64.whl", upload-time = 2026-03-06T13:48:25Z, size = 5400417, hashes = { sha256 = "9300ad32dea9dfc5171f94d5f6948e159ed93e4701280b0f508773b3f582f402" } }] + +[[packages]] +name = "hf-xet" +version = "1.5.0" +marker = "platform_machine == 'AMD64' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64'" +sdist = { url = "https://files.pythonhosted.org/packages/74/d8/5c06fc76461418326a7decf8367480c35be11a41fd938633929c60a9ec6b/hf_xet-1.5.0.tar.gz", upload-time = 2026-05-06T06:18:15Z, size = 837196, hashes = { sha256 = "e0fb0a34d9f406eed88233e829a67ec016bec5af19e480eac65a233ea289a948" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/49/4d/103f76b04310e5e57656696cc184690d20c466af0bca3ca88f8c8ea5d4f3/hf_xet-1.5.0-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", upload-time = 2026-05-06T06:17:44Z, size = 4465986, hashes = { sha256 = "3531b1823a0e6d77d80f9ed15ca0e00f0d115094f8ac033d5cae88f4564cc949" } }] + +[[packages]] +name = "httpcore" +version = "1.0.9" +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", upload-time = 2025-04-24T22:06:22Z, size = 85484, hashes = { sha256 = "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", upload-time = 2025-04-24T22:06:20Z, size = 78784, hashes = { sha256 = "2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55" } }] + +[[packages]] +name = "httpx" +version = "0.28.1" +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", upload-time = 2024-12-06T15:37:23Z, size = 141406, hashes = { sha256 = "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", upload-time = 2024-12-06T15:37:21Z, size = 73517, hashes = { sha256 = "d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad" } }] + +[[packages]] +name = "huggingface-hub" +version = "1.14.0" +sdist = { url = "https://files.pythonhosted.org/packages/39/40/43109e943fd718b0ccd0cd61eb4f1c347df22bf81f5874c6f22adf44bcff/huggingface_hub-1.14.0.tar.gz", upload-time = 2026-05-06T14:14:34Z, size = 782365, hashes = { sha256 = "d6d2c9cd6be1d02ae9ec6672d5587d10a427f377db688e82528f426a041622c2" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/89/a5/33b49ba7bea7c41bb37f74ec0f8beea0831e052330196633fe2c77516ea6/huggingface_hub-1.14.0-py3-none-any.whl", upload-time = 2026-05-06T14:14:32Z, size = 661479, hashes = { sha256 = "efe075535c62e130b30e836b138e13785f6f043d1f0539e0a39aa411a99e90b8" } }] + +[[packages]] +name = "idna" +version = "3.14" +sdist = { url = "https://files.pythonhosted.org/packages/05/b1/efac073e0c297ecf2fb33c346989a529d4e19164f1759102dee5953ee17e/idna-3.14.tar.gz", upload-time = 2026-05-10T20:32:15Z, size = 198272, hashes = { sha256 = "466d810d7a2cc1022bea9b037c39728d51ae7dad40d480fc9b7d7ecf98ba8ee3" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/6c/3c/3f62dee257eb3d6b2c1ef2a09d36d9793c7111156a73b5654d2c2305e5ce/idna-3.14-py3-none-any.whl", upload-time = 2026-05-10T20:32:14Z, size = 72184, hashes = { sha256 = "e677eaf072e290f7b725f9acf0b3a2bd55f9fd6f7c70abe5f0e34823d0accf69" } }] + +[[packages]] +name = "iniconfig" +version = "2.3.0" +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", upload-time = 2025-10-18T21:55:43Z, size = 20503, hashes = { sha256 = "c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", upload-time = 2025-10-18T21:55:41Z, size = 7484, hashes = { sha256 = "f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12" } }] + +[[packages]] +name = "ipython" +version = "8.39.0" +sdist = { url = "https://files.pythonhosted.org/packages/40/18/f8598d287006885e7136451fdea0755af4ebcbfe342836f24deefaed1164/ipython-8.39.0.tar.gz", upload-time = 2026-03-27T10:02:13Z, size = 5513971, hashes = { sha256 = "4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c0/56/4cc7fc9e9e3f38fd324f24f8afe0ad8bb5fa41283f37f1aaf9de0612c968/ipython-8.39.0-py3-none-any.whl", upload-time = 2026-03-27T10:02:07Z, size = 831849, hashes = { sha256 = "bb3c51c4fa8148ab1dea07a79584d1c854e234ea44aa1283bcb37bc75054651f" } }] + +[[packages]] +name = "jedi" +version = "0.20.0" +sdist = { url = "https://files.pythonhosted.org/packages/46/b7/a3635f6a2d7cf5b5dd98064fc1d5fbbafcb25477bcea204a3a92145d158b/jedi-0.20.0.tar.gz", upload-time = 2026-05-01T23:38:47Z, size = 3119416, hashes = { sha256 = "c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/9a/93/242e2eab5fe682ffcb8b0084bde703a41d51e17ee0f3a31ff0d9d813620a/jedi-0.20.0-py2.py3-none-any.whl", upload-time = 2026-05-01T23:38:43Z, size = 4884812, hashes = { sha256 = "7bdd9c2634f56713299976f4cbd59cb3fa92165cc5e05ea811fb253480728b67" } }] + +[[packages]] +name = "jellyfish" +version = "1.2.1" +sdist = { url = "https://files.pythonhosted.org/packages/0b/14/fc5bdb637996df181e5c4fa3b15dcc27d33215e6c41753564ae453bdb40f/jellyfish-1.2.1.tar.gz", upload-time = 2025-10-11T19:36:37Z, size = 364417, hashes = { sha256 = "72d2fda61b23babe862018729be73c8b0dc12e3e6601f36f6e65d905e249f4db" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/12/40/9a7f62d367f5a862950ce3598188fe0e22e11d1f5d6eaad6eda5adc354b0/jellyfish-1.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", upload-time = 2025-10-11T19:35:34Z, size = 360358, hashes = { sha256 = "80a49eb817eaa6591f43a31e5c93d79904de62537f029907ef88c050d781a638" } }] + +[[packages]] +name = "jinja2" +version = "3.1.6" +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", upload-time = 2025-03-05T20:05:02Z, size = 245115, hashes = { sha256 = "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", upload-time = 2025-03-05T20:05:00Z, size = 134899, hashes = { sha256 = "85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" } }] + +[[packages]] +name = "jsonpickle" +version = "4.1.1" +sdist = { url = "https://files.pythonhosted.org/packages/e4/a6/d07afcfdef402900229bcca795f80506b207af13a838d4d99ad45abf530c/jsonpickle-4.1.1.tar.gz", upload-time = 2025-06-02T20:36:11Z, size = 316885, hashes = { sha256 = "f86e18f13e2b96c1c1eede0b7b90095bbb61d99fedc14813c44dc2f361dbbae1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c1/73/04df8a6fa66d43a9fd45c30f283cc4afff17da671886e451d52af60bdc7e/jsonpickle-4.1.1-py3-none-any.whl", upload-time = 2025-06-02T20:36:08Z, size = 47125, hashes = { sha256 = "bb141da6057898aa2438ff268362b126826c812a1721e31cf08a6e142910dc91" } }] + +[[packages]] +name = "jsonschema" +version = "4.26.0" +sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", upload-time = 2026-01-07T13:41:07Z, size = 366583, hashes = { sha256 = "0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", upload-time = 2026-01-07T13:41:05Z, size = 90630, hashes = { sha256 = "d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce" } }] + +[[packages]] +name = "jsonschema-specifications" +version = "2025.9.1" +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", upload-time = 2025-09-08T01:34:59Z, size = 32855, hashes = { sha256 = "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", upload-time = 2025-09-08T01:34:57Z, size = 18437, hashes = { sha256 = "98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe" } }] + +[[packages]] +name = "markdown-it-py" +version = "4.2.0" +sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", upload-time = 2026-05-07T12:08:28Z, size = 82454, hashes = { sha256 = "04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", upload-time = 2026-05-07T12:08:27Z, size = 91687, hashes = { sha256 = "9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a" } }] + +[[packages]] +name = "markupsafe" +version = "3.0.3" +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", upload-time = 2025-09-27T18:37:40Z, size = 80313, hashes = { sha256 = "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-09-27T18:36:45Z, size = 22980, hashes = { sha256 = "ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676" } }] + +[[packages]] +name = "matplotlib-inline" +version = "0.2.2" +sdist = { url = "https://files.pythonhosted.org/packages/bd/c0/9f7c9a46090390368a4d7bcb76bb87a4a36c421e4c0792cdb53486ffac7a/matplotlib_inline-0.2.2.tar.gz", upload-time = 2026-05-08T17:33:33Z, size = 8150, hashes = { sha256 = "72f3fe8fce36b70d4a5b612f899090cd0401deddc4ea90e1572b9f4bfb058c79" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/41/09/5b161152e2d90f7b87f781c2e1267494aef9c32498df793f73ad0a0a494a/matplotlib_inline-0.2.2-py3-none-any.whl", upload-time = 2026-05-08T17:33:32Z, size = 9534, hashes = { sha256 = "3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6" } }] + +[[packages]] +name = "mdurl" +version = "0.1.2" +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", upload-time = 2022-08-14T12:40:10Z, size = 8729, hashes = { sha256 = "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", upload-time = 2022-08-14T12:40:09Z, size = 9979, hashes = { sha256 = "84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8" } }] + +[[packages]] +name = "microdf-python" +version = "1.3.0" +sdist = { url = "https://files.pythonhosted.org/packages/a3/1b/a4b6a53c8e6668c190e1928ebf9f8c67d6a4995ff4a4b0e3403ded30d4ab/microdf_python-1.3.0.tar.gz", upload-time = 2026-04-17T23:20:57Z, size = 28141, hashes = { sha256 = "f352fe32c25a4fd6d6188ef6aaca0214b53b29a8a7913aca6af0362dd9c922bd" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b9/aa/ce692e0488b5e6c0943f52886cf6a15f5d9a6dee7744b190a3a1d67f5d6e/microdf_python-1.3.0-py3-none-any.whl", upload-time = 2026-04-17T23:20:56Z, size = 28908, hashes = { sha256 = "e17757a198648108eae24f39384e27b5ae8061acf1b43fa56520010dc00a7b55" } }] + +[[packages]] +name = "msgpack" +version = "1.1.2" +sdist = { url = "https://files.pythonhosted.org/packages/4d/f2/bfb55a6236ed8725a96b0aa3acbd0ec17588e6a2c3b62a93eb513ed8783f/msgpack-1.1.2.tar.gz", upload-time = 2025-10-08T09:15:56Z, size = 173581, hashes = { sha256 = "3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/5d/ba/459f18c16f2b3fc1a1ca871f72f07d70c07bf768ad0a507a698b8052ac58/msgpack-1.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-10-08T09:15:17Z, size = 424657, hashes = { sha256 = "fac4be746328f90caa3cd4bc67e6fe36ca2bf61d5c6eb6d895b6527e3f05071e" } }] + +[[packages]] +name = "ndindex" +version = "1.10.1" +sdist = { url = "https://files.pythonhosted.org/packages/f5/92/4b9d2f4e0f3eabcfc7b02b48261f6e5ad36a3e2c1bbdcc4e3b7b6c768fa6/ndindex-1.10.1.tar.gz", upload-time = 2025-11-19T20:40:08Z, size = 271395, hashes = { sha256 = "0f6113c1f031248f8818cbee1aa92aa3c9472b7701debcce9fddebcd2f610f11" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/21/91/d8f19f0b8fc9c5585b50fda44c05415da0bdc5fa9c9c69011015dac27880/ndindex-1.10.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-11-19T20:39:00Z, size = 528213, hashes = { sha256 = "e69a2cb1ac7be955c3c77f1def83f410775a81525c9ce2d4c0a3f2a61589ed47" } }] + +[[packages]] +name = "networkx" +version = "3.6.1" +sdist = { url = "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz", upload-time = 2025-12-08T17:02:39Z, size = 2517025, hashes = { sha256 = "26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", upload-time = 2025-12-08T17:02:38Z, size = 2068504, hashes = { sha256 = "d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762" } }] + +[[packages]] +name = "numexpr" +version = "2.14.1" +sdist = { url = "https://files.pythonhosted.org/packages/cb/2f/fdba158c9dbe5caca9c3eca3eaffffb251f2fb8674bf8e2d0aed5f38d319/numexpr-2.14.1.tar.gz", upload-time = 2025-10-13T16:17:27Z, size = 119400, hashes = { sha256 = "4be00b1086c7b7a5c32e31558122b7b80243fe098579b170967da83f3152b48b" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/fc/f9/c9457652dfe28e2eb898372da2fe786c6db81af9540c0f853ee04a0699cc/numexpr-2.14.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-10-13T16:15:17Z, size = 446574, hashes = { sha256 = "05f9366d23a2e991fd5a8b5e61a17558f028ba86158a4552f8f239b005cdf83c" } }] + +[[packages]] +name = "numpy" +version = "2.4.4" +sdist = { url = "https://files.pythonhosted.org/packages/d7/9f/b8cef5bffa569759033adda9481211426f12f53299629b410340795c2514/numpy-2.4.4.tar.gz", upload-time = 2026-03-29T13:22:01Z, size = 20731587, hashes = { sha256 = "2d390634c5182175533585cc89f3608a4682ccb173cc9bb940b2881c8d6f8fa0" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/d1/73/a9d864e42a01896bb5974475438f16086be9ba1f0d19d0bb7a07427c4a8b/numpy-2.4.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2026-03-29T13:19:37Z, size = 16632682, hashes = { sha256 = "c901b15172510173f5cb310eae652908340f8dede90fff9e3bf6c0d8dfd92f83" } }] + +[[packages]] +name = "openpyxl" +version = "3.1.5" +sdist = { url = "https://files.pythonhosted.org/packages/3d/f9/88d94a75de065ea32619465d2f77b29a0469500e99012523b91cc4141cd1/openpyxl-3.1.5.tar.gz", upload-time = 2024-06-28T14:03:44Z, size = 186464, hashes = { sha256 = "cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/c0/da/977ded879c29cbd04de313843e76868e6e13408a94ed6b987245dc7c8506/openpyxl-3.1.5-py2.py3-none-any.whl", upload-time = 2024-06-28T14:03:41Z, size = 250910, hashes = { sha256 = "5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2" } }] + +[[packages]] +name = "packaging" +version = "26.2" +sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", upload-time = 2026-04-24T20:15:23Z, size = 228134, hashes = { sha256 = "ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", upload-time = 2026-04-24T20:15:22Z, size = 100195, hashes = { sha256 = "5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e" } }] + +[[packages]] +name = "pandas" +version = "3.0.3" +sdist = { url = "https://files.pythonhosted.org/packages/f8/87/4341c6252d1c47b08768c3d25ac487362bf403f0313ddae4a2a26c9b1b4c/pandas-3.0.3.tar.gz", upload-time = 2026-05-11T18:54:29Z, size = 4651414, hashes = { sha256 = "696a4a00a2a2a35d4e5deb3fc946641b96c944f02230e4f76137fe35d806c4fc" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/99/68/1237369725aa617bb358263d535803e3053fdbc593513ec5ed9c9896b5b6/pandas-3.0.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2026-05-11T18:53:07Z, size = 10891243, hashes = { sha256 = "a4eeb6830daf35a71cc09649bd823e2b542dac246cdee9614c6e4bd65028cd6a" } }] + +[[packages]] +name = "parso" +version = "0.8.7" +sdist = { url = "https://files.pythonhosted.org/packages/30/4b/90c937815137d43ce71ba043cd3566221e9df6b9c805f24b5d138c9d40a7/parso-0.8.7.tar.gz", upload-time = 2026-05-01T23:13:02Z, size = 401824, hashes = { sha256 = "eaaac4c9fdd5e9e8852dc778d2d7405897ec510f2a298071453e5e3a07914bb1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/99/5d/8268b644392ee874ee82a635cd0df1773de230bde356c38de28e298392cc/parso-0.8.7-py2.py3-none-any.whl", upload-time = 2026-05-01T23:12:58Z, size = 107025, hashes = { sha256 = "a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c" } }] + +[[packages]] +name = "pexpect" +version = "4.9.0" +marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", upload-time = 2023-11-25T09:07:26Z, size = 166450, hashes = { sha256 = "ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", upload-time = 2023-11-25T06:56:14Z, size = 63772, hashes = { sha256 = "7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523" } }] + +[[packages]] +name = "plotly" +version = "5.24.1" +sdist = { url = "https://files.pythonhosted.org/packages/79/4f/428f6d959818d7425a94c190a6b26fbc58035cbef40bf249be0b62a9aedd/plotly-5.24.1.tar.gz", upload-time = 2024-09-12T15:36:31Z, size = 9479398, hashes = { sha256 = "dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/e5/ae/580600f441f6fc05218bd6c9d5794f4aef072a7d9093b291f1c50a9db8bc/plotly-5.24.1-py3-none-any.whl", upload-time = 2024-09-12T15:36:24Z, size = 19054220, hashes = { sha256 = "f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089" } }] + +[[packages]] +name = "pluggy" +version = "1.6.0" +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", upload-time = 2025-05-15T12:30:07Z, size = 69412, hashes = { sha256 = "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", upload-time = 2025-05-15T12:30:06Z, size = 20538, hashes = { sha256 = "e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" } }] + +[[packages]] +name = "policyengine" +version = "4.4.3" +sdist = { url = "https://files.pythonhosted.org/packages/92/f1/1164557ced4db47a9fddf7e5d301a30578de0cb1fb284c5803c238916df7/policyengine-4.4.3.tar.gz", upload-time = 2026-05-11T19:53:39Z, size = 522387, hashes = { sha256 = "555f1461b11ba5d934d5e432e806fcf6d31d2e41a742cd010e9c3c46acd0652e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/68/16/f42e21772742c594194b53302e798c83065c45f34df9b04578540488149d/policyengine-4.4.3-py3-none-any.whl", upload-time = 2026-05-11T19:53:37Z, size = 160790, hashes = { sha256 = "a12e8ed43a4b0f205d853853ccc678b2b8857381b8111336e711e35d8e6b1336" } }] + +[[packages]] +name = "policyengine-core" +version = "3.26.1" +sdist = { url = "https://files.pythonhosted.org/packages/e7/56/666e1e708cbd61078989edc943d5389d45123beb7124a5e3180171656ff6/policyengine_core-3.26.1.tar.gz", upload-time = 2026-05-07T23:46:43Z, size = 472159, hashes = { sha256 = "dc4e3007bcd137cbe608042d067cedb889a9b8671db3d08c8e237f1ac3e324b4" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/15/2f/9be635fe4dfb2fe65d200c33695f5a96ef98a2921f06ff6d465384b0e551/policyengine_core-3.26.1-py3-none-any.whl", upload-time = 2026-05-07T23:46:41Z, size = 232190, hashes = { sha256 = "185374b3c1fe13dc951637c49a9853211ca61a8a9971eb9cc4c4b07b1477240a" } }] + +[[packages]] +name = "policyengine-us" +version = "1.690.7" +sdist = { url = "https://files.pythonhosted.org/packages/81/df/60548e64a5ccf5f961a45608c2c6744833daf756c1c82d1e59e5bca14850/policyengine_us-1.690.7.tar.gz", upload-time = 2026-05-10T22:27:01Z, size = 9479020, hashes = { sha256 = "3dbb1f54824902fcd6ae64d5879f36ce6b2372a42321c838c20c430fd1507a2e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/2a/02/52109bae5f4767237b43bd72ce0bc4edf7925650a788053b2bc168caa5ae/policyengine_us-1.690.7-py3-none-any.whl", upload-time = 2026-05-10T22:26:58Z, size = 9985671, hashes = { sha256 = "5a7a541efabac98fa069d6845902cf5924c81db67383234b55dcd2b8bfcfc3ca" } }] + +[[packages]] +name = "prompt-toolkit" +version = "3.0.52" +sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", upload-time = 2025-08-27T15:24:02Z, size = 434198, hashes = { sha256 = "28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", upload-time = 2025-08-27T15:23:59Z, size = 391431, hashes = { sha256 = "9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955" } }] + +[[packages]] +name = "psutil" +version = "6.1.1" +sdist = { url = "https://files.pythonhosted.org/packages/1f/5a/07871137bb752428aa4b659f910b399ba6f291156bdea939be3e96cae7cb/psutil-6.1.1.tar.gz", upload-time = 2024-12-19T18:21:20Z, size = 508502, hashes = { sha256 = "cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/9c/39/0f88a830a1c8a3aba27fededc642da37613c57cbff143412e3536f89784f/psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", upload-time = 2024-12-19T18:21:55Z, size = 287477, hashes = { sha256 = "97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160" } }] + +[[packages]] +name = "ptyprocess" +version = "0.7.0" +marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", upload-time = 2020-12-28T15:15:30Z, size = 70762, hashes = { sha256 = "5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", upload-time = 2020-12-28T15:15:28Z, size = 13993, hashes = { sha256 = "4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35" } }] + +[[packages]] +name = "pure-eval" +version = "0.2.3" +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", upload-time = 2024-07-21T12:58:21Z, size = 19752, hashes = { sha256 = "5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", upload-time = 2024-07-21T12:58:20Z, size = 11842, hashes = { sha256 = "1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0" } }] + +[[packages]] +name = "py-cpuinfo" +version = "9.0.0" +sdist = { url = "https://files.pythonhosted.org/packages/37/a8/d832f7293ebb21690860d2e01d8115e5ff6f2ae8bbdc953f0eb0fa4bd2c7/py-cpuinfo-9.0.0.tar.gz", upload-time = 2022-10-25T20:38:06Z, size = 104716, hashes = { sha256 = "3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl", upload-time = 2022-10-25T20:38:27Z, size = 22335, hashes = { sha256 = "859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5" } }] + +[[packages]] +name = "pydantic" +version = "2.13.4" +sdist = { url = "https://files.pythonhosted.org/packages/18/a5/b60d21ac674192f8ab0ba4e9fd860690f9b4a6e51ca5df118733b487d8d6/pydantic-2.13.4.tar.gz", upload-time = 2026-05-06T13:43:05Z, size = 844775, hashes = { sha256 = "c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl", upload-time = 2026-05-06T13:43:02Z, size = 472262, hashes = { sha256 = "45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba" } }] + +[[packages]] +name = "pydantic-core" +version = "2.46.4" +sdist = { url = "https://files.pythonhosted.org/packages/9d/56/921726b776ace8d8f5db44c4ef961006580d91dc52b803c489fafd1aa249/pydantic_core-2.46.4.tar.gz", upload-time = 2026-05-06T13:37:06Z, size = 471464, hashes = { sha256 = "62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/07/f8/41db9de19d7987d6b04715a02b3b40aea467000275d9d758ffaa31af7d50/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", upload-time = 2026-05-06T13:39:18Z, size = 2094467, hashes = { sha256 = "9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a" } }] + +[[packages]] +name = "pygments" +version = "2.20.0" +sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", upload-time = 2026-03-29T13:29:33Z, size = 4955991, hashes = { sha256 = "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", upload-time = 2026-03-29T13:29:30Z, size = 1231151, hashes = { sha256 = "81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176" } }] + +[[packages]] +name = "pytest" +version = "8.4.2" +sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", upload-time = 2025-09-04T14:34:22Z, size = 1519618, hashes = { sha256 = "86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", upload-time = 2025-09-04T14:34:20Z, size = 365750, hashes = { sha256 = "872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79" } }] + +[[packages]] +name = "python-dateutil" +version = "2.9.0.post0" +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", upload-time = 2024-03-01T18:36:20Z, size = 342432, hashes = { sha256 = "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", upload-time = 2024-03-01T18:36:18Z, size = 229892, hashes = { sha256 = "a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" } }] + +[[packages]] +name = "pyvis" +version = "0.3.2" +wheels = [{ url = "https://files.pythonhosted.org/packages/ab/4b/e37e4e5d5ee1179694917b445768bdbfb084f5a59ecd38089d3413d4c70f/pyvis-0.3.2-py3-none-any.whl", upload-time = 2023-02-24T20:29:46Z, size = 756038, hashes = { sha256 = "5720c4ca8161dc5d9ab352015723abb7a8bb8fb443edeb07f7a322db34a97555" } }] + +[[packages]] +name = "pyyaml" +version = "6.0.3" +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", upload-time = 2025-09-25T21:33:16Z, size = 130960, hashes = { sha256 = "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2025-09-25T21:32:28Z, size = 801626, hashes = { sha256 = "0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6" } }] + +[[packages]] +name = "referencing" +version = "0.37.0" +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", upload-time = 2025-10-13T15:30:48Z, size = 78036, hashes = { sha256 = "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", upload-time = 2025-10-13T15:30:47Z, size = 26766, hashes = { sha256 = "381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231" } }] + +[[packages]] +name = "requests" +version = "2.34.0" +sdist = { url = "https://files.pythonhosted.org/packages/43/b8/7a707d60fea4c49094e40262cc0e2ca6c768cca21587e34d3f705afec47e/requests-2.34.0.tar.gz", upload-time = 2026-05-11T19:29:51Z, size = 142436, hashes = { sha256 = "7d62fe92f50eb82c529b0916bb445afa1531a566fc8f35ffdc64446e771b856a" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/ef/e6/e300fce5fe83c30520607a015dabd985df3251e188d234bfe9492e17a389/requests-2.34.0-py3-none-any.whl", upload-time = 2026-05-11T19:29:49Z, size = 73021, hashes = { sha256 = "917520a21b767485ce7c588f4ebb917c436b24a31231b44228715eaeb5a52c60" } }] + +[[packages]] +name = "rich" +version = "15.0.0" +sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", upload-time = 2026-04-12T08:24:00Z, size = 230680, hashes = { sha256 = "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", upload-time = 2026-04-12T08:24:02Z, size = 310654, hashes = { sha256 = "33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb" } }] + +[[packages]] +name = "rpds-py" +version = "0.30.0" +sdist = { url = "https://files.pythonhosted.org/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz", upload-time = 2025-11-30T20:24:38Z, size = 69469, hashes = { sha256 = "dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b7/de/f7192e12b21b9e9a68a6d0f249b4af3fdcdff8418be0767a627564afa1f1/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", upload-time = 2025-11-30T20:22:50Z, size = 394025, hashes = { sha256 = "9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6" } }] + +[[packages]] +name = "shellingham" +version = "1.5.4" +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", upload-time = 2023-10-24T04:13:40Z, size = 10310, hashes = { sha256 = "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", upload-time = 2023-10-24T04:13:38Z, size = 9755, hashes = { sha256 = "7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686" } }] + +[[packages]] +name = "six" +version = "1.17.0" +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", upload-time = 2024-12-04T17:35:28Z, size = 34031, hashes = { sha256 = "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", upload-time = 2024-12-04T17:35:26Z, size = 11050, hashes = { sha256 = "4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274" } }] + +[[packages]] +name = "sortedcontainers" +version = "2.4.0" +sdist = { url = "https://files.pythonhosted.org/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111/sortedcontainers-2.4.0.tar.gz", upload-time = 2021-05-16T22:03:42Z, size = 30594, hashes = { sha256 = "25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", upload-time = 2021-05-16T22:03:41Z, size = 29575, hashes = { sha256 = "a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0" } }] + +[[packages]] +name = "spm-calculator" +version = "0.3.1" +sdist = { url = "https://files.pythonhosted.org/packages/54/3b/b805c7e3e18c5b5c00f61b60112f9690d084c910e2481bc020f35390d8fd/spm_calculator-0.3.1.tar.gz", upload-time = 2026-04-17T19:52:39Z, size = 75945, hashes = { sha256 = "41f2f4d00d8c03422a7d57b800052e7760b88e463a5884802f83ed58d35c18c1" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/8e/1b/29f705f8a96fc7f55f2c07dfcddbbae78efdc6f174d25d4a0560fc3f5cf9/spm_calculator-0.3.1-py3-none-any.whl", upload-time = 2026-04-17T19:52:38Z, size = 57826, hashes = { sha256 = "52c57ecc5a240ec941b0f2b0d93bc4fa437ef6250e233baed8e11916fa9c1150" } }] + +[[packages]] +name = "stack-data" +version = "0.6.3" +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", upload-time = 2023-09-30T13:58:05Z, size = 44707, hashes = { sha256 = "836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", upload-time = 2023-09-30T13:58:03Z, size = 24521, hashes = { sha256 = "d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695" } }] + +[[packages]] +name = "standard-imghdr" +version = "3.13.0" +sdist = { url = "https://files.pythonhosted.org/packages/1a/8d/ab2620fbe2e348483c9cb776c3b7b3cc407899291a041d7fa026469b7cd1/standard_imghdr-3.13.0.tar.gz", upload-time = 2024-10-30T16:01:36Z, size = 5511, hashes = { sha256 = "8d9c68058d882f6fc3542a8d39ef9ff94d2187dc90bd0c851e0902776b7b7a42" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/df/cb/e1da7e340586a078404c7e4328bfefc930867ace8a9a55916fd220cf9547/standard_imghdr-3.13.0-py3-none-any.whl", upload-time = 2024-10-30T16:01:13Z, size = 4639, hashes = { sha256 = "30a1bff5465605bb496f842a6ac3cc1f2131bf3025b0da28d4877d6d4b7cc8e9" } }] + +[[packages]] +name = "tables" +version = "3.11.1" +sdist = { url = "https://files.pythonhosted.org/packages/cc/a3/d213ebe7376d48055bd55a29cd9f99061afa0dcece608f94a5025d797b0a/tables-3.11.1.tar.gz", upload-time = 2026-03-01T11:43:36Z, size = 4790533, hashes = { sha256 = "78abcf413091bc7c1e4e8c10fbbb438d1ac0b5a87436c5b972c3e8253871b6fb" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/99/29/c2dc674ea70fa9a4819417289a9c0d3e4780835beeed573eb66964cfb763/tables-3.11.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", upload-time = 2026-03-01T11:43:03Z, size = 7241357, hashes = { sha256 = "1e78fe190fdeb4afe430b79651bae2a4f341904eb85aa8dbafe5f1caee1c7f67" } }] + +[[packages]] +name = "tenacity" +version = "9.1.4" +sdist = { url = "https://files.pythonhosted.org/packages/47/c6/ee486fd809e357697ee8a44d3d69222b344920433d3b6666ccd9b374630c/tenacity-9.1.4.tar.gz", upload-time = 2026-02-07T10:45:33Z, size = 49413, hashes = { sha256 = "adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/d7/c1/eb8f9debc45d3b7918a32ab756658a0904732f75e555402972246b0b8e71/tenacity-9.1.4-py3-none-any.whl", upload-time = 2026-02-07T10:45:32Z, size = 28926, hashes = { sha256 = "6095a360c919085f28c6527de529e76a06ad89b23659fa881ae0649b867a9d55" } }] + +[[packages]] +name = "threadpoolctl" +version = "3.6.0" +marker = "platform_machine != 'wasm32'" +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", upload-time = 2025-03-13T13:49:23Z, size = 21274, hashes = { sha256 = "8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", upload-time = 2025-03-13T13:49:21Z, size = 18638, hashes = { sha256 = "43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb" } }] + +[[packages]] +name = "tqdm" +version = "4.67.3" +sdist = { url = "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz", upload-time = 2026-02-03T17:35:53Z, size = 169598, hashes = { sha256 = "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl", upload-time = 2026-02-03T17:35:50Z, size = 78374, hashes = { sha256 = "ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf" } }] + +[[packages]] +name = "traitlets" +version = "5.15.0" +sdist = { url = "https://files.pythonhosted.org/packages/1b/22/40f55b26baeab80c2d7b3f1db0682f8954e4617fee7d90ce634022ef05c6/traitlets-5.15.0.tar.gz", upload-time = 2026-05-06T08:05:58Z, size = 163197, hashes = { sha256 = "4fead733f81cf1c4c938e06f8ca4633896833c9d89eff878159457f4d4392971" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/da/98/a9937a969d018a23badfea0b381f66783649d48e0ea6c41923265c3cbeb3/traitlets-5.15.0-py3-none-any.whl", upload-time = 2026-05-06T08:05:55Z, size = 85877, hashes = { sha256 = "fb36a18867a6803deab09f3c5e0fa81bb7b26a5c9e82501c9933f759166eff40" } }] + +[[packages]] +name = "typer" +version = "0.25.1" +sdist = { url = "https://files.pythonhosted.org/packages/e4/51/9aed62104cea109b820bbd6c14245af756112017d309da813ef107d42e7e/typer-0.25.1.tar.gz", upload-time = 2026-04-30T19:32:16Z, size = 122276, hashes = { sha256 = "9616eb8853a09ffeabab1698952f33c6f29ffdbceb4eaeecf571880e8d7664cc" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/3f/f9/2b3ff4e56e5fa7debfaf9eb135d0da96f3e9a1d5b27222223c7296336e5f/typer-0.25.1-py3-none-any.whl", upload-time = 2026-04-30T19:32:18Z, size = 58409, hashes = { sha256 = "75caa44ed46a03fb2dab8808753ffacdbfea88495e74c85a28c5eefcf5f39c89" } }] + +[[packages]] +name = "typing-extensions" +version = "4.15.0" +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", upload-time = 2025-08-25T13:49:26Z, size = 109391, hashes = { sha256 = "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", upload-time = 2025-08-25T13:49:24Z, size = 44614, hashes = { sha256 = "f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548" } }] + +[[packages]] +name = "typing-inspection" +version = "0.4.2" +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", upload-time = 2025-10-01T02:14:41Z, size = 75949, hashes = { sha256 = "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", upload-time = 2025-10-01T02:14:40Z, size = 14611, hashes = { sha256 = "4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7" } }] + +[[packages]] +name = "urllib3" +version = "2.7.0" +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", upload-time = 2026-05-07T16:13:18Z, size = 433602, hashes = { sha256 = "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", upload-time = 2026-05-07T16:13:17Z, size = 131087, hashes = { sha256 = "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" } }] + +[[packages]] +name = "us" +version = "3.2.0" +sdist = { url = "https://files.pythonhosted.org/packages/35/12/06f87be706ccc5794569d14f903c2f755aa98e1a9d53e4e7e17d9986e9d1/us-3.2.0.tar.gz", upload-time = 2024-07-22T01:09:42Z, size = 16046, hashes = { sha256 = "cb223e85393dcc5171ead0dd212badc47f9667b23700fea3e7ea5f310d545338" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/65/a8/1791660a87f03d10a3bce00401a66035999c91f5a9a6987569b84df5719d/us-3.2.0-py3-none-any.whl", upload-time = 2024-07-22T01:09:41Z, size = 13775, hashes = { sha256 = "571714ad6d473c72bbd2058a53404cdf4ecc0129e4f19adfcbeb4e2d7e3dc3e7" } }] + +[[packages]] +name = "wcwidth" +version = "0.7.0" +sdist = { url = "https://files.pythonhosted.org/packages/2c/ee/afaf0f85a9a18fe47a67f1e4422ed6cf1fe642f0ae0a2f81166231303c52/wcwidth-0.7.0.tar.gz", upload-time = 2026-05-02T16:04:12Z, size = 182132, hashes = { sha256 = "90e3a7ea092341c44b99562e75d09e4d5160fe7a3974c6fb842a101a95e7eed0" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/41/52/e465037f5375f43533d1a80b6923955201596a99142ed524d77b571a1418/wcwidth-0.7.0-py3-none-any.whl", upload-time = 2026-05-02T16:04:11Z, size = 110825, hashes = { sha256 = "5d69154c429a82910e241c738cd0e2976fac8a2dd47a1a805f4afed1c0f136f2" } }] + +[[packages]] +name = "wheel" +version = "0.47.0" +sdist = { url = "https://files.pythonhosted.org/packages/39/62/75f18a0f03b4219c456652c7780e4d749b929eb605c098ce3a5b6b6bc081/wheel-0.47.0.tar.gz", upload-time = 2026-04-22T15:51:27Z, size = 63854, hashes = { sha256 = "cc72bd1009ba0cf63922e28f94d9d83b920aa2bb28f798a31d0691b02fa3c9b3" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/87/1b/9e33c09813d65e248f7f773119148a612516a4bea93e9c6f545f78455b7c/wheel-0.47.0-py3-none-any.whl", upload-time = 2026-04-22T15:51:26Z, size = 32218, hashes = { sha256 = "212281cab4dff978f6cedd499cd893e1f620791ca6ff7107cf270781e587eced" } }] diff --git a/src/policyengine/data/release_manifests/uk.json b/src/policyengine/data/release_manifests/uk.json index 9deccf64..519ce091 100644 --- a/src/policyengine/data/release_manifests/uk.json +++ b/src/policyengine/data/release_manifests/uk.json @@ -12,7 +12,10 @@ "data_package": { "name": "policyengine-uk-data", "version": "1.55.5", - "repo_id": "policyengine/policyengine-uk-data-private" + "repo_id": "policyengine/policyengine-uk-data-private", + "repo_type": "model", + "release_manifest_path": "release_manifest.json", + "release_manifest_revision": "1.55.5" }, "certified_data_artifact": { "data_package": { @@ -21,10 +24,11 @@ }, "build_id": "policyengine-uk-data-1.55.5", "dataset": "enhanced_frs_2023_24", - "uri": "hf://policyengine/policyengine-uk-data-private/enhanced_frs_2023_24.h5@1.55.5" + "uri": "hf://policyengine/policyengine-uk-data-private/enhanced_frs_2023_24.h5@1.55.5", + "sha256": "1e95dafde7997a24dac1abc122f8e2ebbc8c2d7d36bab8361e628a93401559ce" }, "certification": { - "compatibility_basis": "matching_data_build_fingerprint", + "compatibility_basis": "release_manifest_exact_compatibility", "data_build_id": "policyengine-uk-data-1.55.5", "built_with_model_version": "2.88.14", "certified_for_model_version": "2.88.14", @@ -33,11 +37,17 @@ }, "default_dataset": "enhanced_frs_2023_24", "datasets": { + "enhanced_frs_2023_24": { + "path": "enhanced_frs_2023_24.h5" + }, + "enhanced_frs_2023_24_tiny": { + "path": "enhanced_frs_2023_24_tiny.h5" + }, "frs_2023_24": { "path": "frs_2023_24.h5" }, - "enhanced_frs_2023_24": { - "path": "enhanced_frs_2023_24.h5" + "frs_2023_24_tiny": { + "path": "frs_2023_24_tiny.h5" } }, "region_datasets": { diff --git a/src/policyengine/data/release_manifests/us.json b/src/policyengine/data/release_manifests/us.json index feb8ad1d..b6d0cb47 100644 --- a/src/policyengine/data/release_manifests/us.json +++ b/src/policyengine/data/release_manifests/us.json @@ -13,6 +13,7 @@ "name": "policyengine-us-data", "version": "1.110.12", "repo_id": "policyengine/policyengine-us-data", + "repo_type": "model", "release_manifest_path": "releases/1.110.12/release_manifest.json", "release_manifest_revision": "3aac4505ec10d31efc1b3799a1e6458a15853ecc" }, @@ -27,17 +28,1490 @@ "sha256": "58a6639f7511b8d804701417e2647f0c3a77f51a3d90441037eaf004b1f00761" }, "certification": { - "compatibility_basis": "exact_build_model_version", + "compatibility_basis": "release_manifest_exact_compatibility", "data_build_id": "policyengine-us-data-1.110.12", "built_with_model_version": "1.690.7", "certified_for_model_version": "1.690.7", - "certified_by": "policyengine.py bundled manifest", - "data_build_fingerprint": "sha256:9961ed1c5d00943a360724da560eee425eb9f99f91896f053dca74724c46e96e" + "data_build_fingerprint": "sha256:9961ed1c5d00943a360724da560eee425eb9f99f91896f053dca74724c46e96e", + "certified_by": "policyengine.py bundled manifest" }, "default_dataset": "enhanced_cps_2024", "datasets": { + "cities/NYC": { + "path": "cities/NYC.h5" + }, + "cps_2024": { + "path": "cps_2024.h5" + }, + "districts/AK-01": { + "path": "districts/AK-01.h5" + }, + "districts/AL-01": { + "path": "districts/AL-01.h5" + }, + "districts/AL-02": { + "path": "districts/AL-02.h5" + }, + "districts/AL-03": { + "path": "districts/AL-03.h5" + }, + "districts/AL-04": { + "path": "districts/AL-04.h5" + }, + "districts/AL-05": { + "path": "districts/AL-05.h5" + }, + "districts/AL-06": { + "path": "districts/AL-06.h5" + }, + "districts/AL-07": { + "path": "districts/AL-07.h5" + }, + "districts/AR-01": { + "path": "districts/AR-01.h5" + }, + "districts/AR-02": { + "path": "districts/AR-02.h5" + }, + "districts/AR-03": { + "path": "districts/AR-03.h5" + }, + "districts/AR-04": { + "path": "districts/AR-04.h5" + }, + "districts/AZ-01": { + "path": "districts/AZ-01.h5" + }, + "districts/AZ-02": { + "path": "districts/AZ-02.h5" + }, + "districts/AZ-03": { + "path": "districts/AZ-03.h5" + }, + "districts/AZ-04": { + "path": "districts/AZ-04.h5" + }, + "districts/AZ-05": { + "path": "districts/AZ-05.h5" + }, + "districts/AZ-06": { + "path": "districts/AZ-06.h5" + }, + "districts/AZ-07": { + "path": "districts/AZ-07.h5" + }, + "districts/AZ-08": { + "path": "districts/AZ-08.h5" + }, + "districts/AZ-09": { + "path": "districts/AZ-09.h5" + }, + "districts/CA-01": { + "path": "districts/CA-01.h5" + }, + "districts/CA-02": { + "path": "districts/CA-02.h5" + }, + "districts/CA-03": { + "path": "districts/CA-03.h5" + }, + "districts/CA-04": { + "path": "districts/CA-04.h5" + }, + "districts/CA-05": { + "path": "districts/CA-05.h5" + }, + "districts/CA-06": { + "path": "districts/CA-06.h5" + }, + "districts/CA-07": { + "path": "districts/CA-07.h5" + }, + "districts/CA-08": { + "path": "districts/CA-08.h5" + }, + "districts/CA-09": { + "path": "districts/CA-09.h5" + }, + "districts/CA-10": { + "path": "districts/CA-10.h5" + }, + "districts/CA-11": { + "path": "districts/CA-11.h5" + }, + "districts/CA-12": { + "path": "districts/CA-12.h5" + }, + "districts/CA-13": { + "path": "districts/CA-13.h5" + }, + "districts/CA-14": { + "path": "districts/CA-14.h5" + }, + "districts/CA-15": { + "path": "districts/CA-15.h5" + }, + "districts/CA-16": { + "path": "districts/CA-16.h5" + }, + "districts/CA-17": { + "path": "districts/CA-17.h5" + }, + "districts/CA-18": { + "path": "districts/CA-18.h5" + }, + "districts/CA-19": { + "path": "districts/CA-19.h5" + }, + "districts/CA-20": { + "path": "districts/CA-20.h5" + }, + "districts/CA-21": { + "path": "districts/CA-21.h5" + }, + "districts/CA-22": { + "path": "districts/CA-22.h5" + }, + "districts/CA-23": { + "path": "districts/CA-23.h5" + }, + "districts/CA-24": { + "path": "districts/CA-24.h5" + }, + "districts/CA-25": { + "path": "districts/CA-25.h5" + }, + "districts/CA-26": { + "path": "districts/CA-26.h5" + }, + "districts/CA-27": { + "path": "districts/CA-27.h5" + }, + "districts/CA-28": { + "path": "districts/CA-28.h5" + }, + "districts/CA-29": { + "path": "districts/CA-29.h5" + }, + "districts/CA-30": { + "path": "districts/CA-30.h5" + }, + "districts/CA-31": { + "path": "districts/CA-31.h5" + }, + "districts/CA-32": { + "path": "districts/CA-32.h5" + }, + "districts/CA-33": { + "path": "districts/CA-33.h5" + }, + "districts/CA-34": { + "path": "districts/CA-34.h5" + }, + "districts/CA-35": { + "path": "districts/CA-35.h5" + }, + "districts/CA-36": { + "path": "districts/CA-36.h5" + }, + "districts/CA-37": { + "path": "districts/CA-37.h5" + }, + "districts/CA-38": { + "path": "districts/CA-38.h5" + }, + "districts/CA-39": { + "path": "districts/CA-39.h5" + }, + "districts/CA-40": { + "path": "districts/CA-40.h5" + }, + "districts/CA-41": { + "path": "districts/CA-41.h5" + }, + "districts/CA-42": { + "path": "districts/CA-42.h5" + }, + "districts/CA-43": { + "path": "districts/CA-43.h5" + }, + "districts/CA-44": { + "path": "districts/CA-44.h5" + }, + "districts/CA-45": { + "path": "districts/CA-45.h5" + }, + "districts/CA-46": { + "path": "districts/CA-46.h5" + }, + "districts/CA-47": { + "path": "districts/CA-47.h5" + }, + "districts/CA-48": { + "path": "districts/CA-48.h5" + }, + "districts/CA-49": { + "path": "districts/CA-49.h5" + }, + "districts/CA-50": { + "path": "districts/CA-50.h5" + }, + "districts/CA-51": { + "path": "districts/CA-51.h5" + }, + "districts/CA-52": { + "path": "districts/CA-52.h5" + }, + "districts/CO-01": { + "path": "districts/CO-01.h5" + }, + "districts/CO-02": { + "path": "districts/CO-02.h5" + }, + "districts/CO-03": { + "path": "districts/CO-03.h5" + }, + "districts/CO-04": { + "path": "districts/CO-04.h5" + }, + "districts/CO-05": { + "path": "districts/CO-05.h5" + }, + "districts/CO-06": { + "path": "districts/CO-06.h5" + }, + "districts/CO-07": { + "path": "districts/CO-07.h5" + }, + "districts/CO-08": { + "path": "districts/CO-08.h5" + }, + "districts/CT-01": { + "path": "districts/CT-01.h5" + }, + "districts/CT-02": { + "path": "districts/CT-02.h5" + }, + "districts/CT-03": { + "path": "districts/CT-03.h5" + }, + "districts/CT-04": { + "path": "districts/CT-04.h5" + }, + "districts/CT-05": { + "path": "districts/CT-05.h5" + }, + "districts/DC-01": { + "path": "districts/DC-01.h5" + }, + "districts/DE-01": { + "path": "districts/DE-01.h5" + }, + "districts/FL-01": { + "path": "districts/FL-01.h5" + }, + "districts/FL-02": { + "path": "districts/FL-02.h5" + }, + "districts/FL-03": { + "path": "districts/FL-03.h5" + }, + "districts/FL-04": { + "path": "districts/FL-04.h5" + }, + "districts/FL-05": { + "path": "districts/FL-05.h5" + }, + "districts/FL-06": { + "path": "districts/FL-06.h5" + }, + "districts/FL-07": { + "path": "districts/FL-07.h5" + }, + "districts/FL-08": { + "path": "districts/FL-08.h5" + }, + "districts/FL-09": { + "path": "districts/FL-09.h5" + }, + "districts/FL-10": { + "path": "districts/FL-10.h5" + }, + "districts/FL-11": { + "path": "districts/FL-11.h5" + }, + "districts/FL-12": { + "path": "districts/FL-12.h5" + }, + "districts/FL-13": { + "path": "districts/FL-13.h5" + }, + "districts/FL-14": { + "path": "districts/FL-14.h5" + }, + "districts/FL-15": { + "path": "districts/FL-15.h5" + }, + "districts/FL-16": { + "path": "districts/FL-16.h5" + }, + "districts/FL-17": { + "path": "districts/FL-17.h5" + }, + "districts/FL-18": { + "path": "districts/FL-18.h5" + }, + "districts/FL-19": { + "path": "districts/FL-19.h5" + }, + "districts/FL-20": { + "path": "districts/FL-20.h5" + }, + "districts/FL-21": { + "path": "districts/FL-21.h5" + }, + "districts/FL-22": { + "path": "districts/FL-22.h5" + }, + "districts/FL-23": { + "path": "districts/FL-23.h5" + }, + "districts/FL-24": { + "path": "districts/FL-24.h5" + }, + "districts/FL-25": { + "path": "districts/FL-25.h5" + }, + "districts/FL-26": { + "path": "districts/FL-26.h5" + }, + "districts/FL-27": { + "path": "districts/FL-27.h5" + }, + "districts/FL-28": { + "path": "districts/FL-28.h5" + }, + "districts/GA-01": { + "path": "districts/GA-01.h5" + }, + "districts/GA-02": { + "path": "districts/GA-02.h5" + }, + "districts/GA-03": { + "path": "districts/GA-03.h5" + }, + "districts/GA-04": { + "path": "districts/GA-04.h5" + }, + "districts/GA-05": { + "path": "districts/GA-05.h5" + }, + "districts/GA-06": { + "path": "districts/GA-06.h5" + }, + "districts/GA-07": { + "path": "districts/GA-07.h5" + }, + "districts/GA-08": { + "path": "districts/GA-08.h5" + }, + "districts/GA-09": { + "path": "districts/GA-09.h5" + }, + "districts/GA-10": { + "path": "districts/GA-10.h5" + }, + "districts/GA-11": { + "path": "districts/GA-11.h5" + }, + "districts/GA-12": { + "path": "districts/GA-12.h5" + }, + "districts/GA-13": { + "path": "districts/GA-13.h5" + }, + "districts/GA-14": { + "path": "districts/GA-14.h5" + }, + "districts/HI-01": { + "path": "districts/HI-01.h5" + }, + "districts/HI-02": { + "path": "districts/HI-02.h5" + }, + "districts/IA-01": { + "path": "districts/IA-01.h5" + }, + "districts/IA-02": { + "path": "districts/IA-02.h5" + }, + "districts/IA-03": { + "path": "districts/IA-03.h5" + }, + "districts/IA-04": { + "path": "districts/IA-04.h5" + }, + "districts/ID-01": { + "path": "districts/ID-01.h5" + }, + "districts/ID-02": { + "path": "districts/ID-02.h5" + }, + "districts/IL-01": { + "path": "districts/IL-01.h5" + }, + "districts/IL-02": { + "path": "districts/IL-02.h5" + }, + "districts/IL-03": { + "path": "districts/IL-03.h5" + }, + "districts/IL-04": { + "path": "districts/IL-04.h5" + }, + "districts/IL-05": { + "path": "districts/IL-05.h5" + }, + "districts/IL-06": { + "path": "districts/IL-06.h5" + }, + "districts/IL-07": { + "path": "districts/IL-07.h5" + }, + "districts/IL-08": { + "path": "districts/IL-08.h5" + }, + "districts/IL-09": { + "path": "districts/IL-09.h5" + }, + "districts/IL-10": { + "path": "districts/IL-10.h5" + }, + "districts/IL-11": { + "path": "districts/IL-11.h5" + }, + "districts/IL-12": { + "path": "districts/IL-12.h5" + }, + "districts/IL-13": { + "path": "districts/IL-13.h5" + }, + "districts/IL-14": { + "path": "districts/IL-14.h5" + }, + "districts/IL-15": { + "path": "districts/IL-15.h5" + }, + "districts/IL-16": { + "path": "districts/IL-16.h5" + }, + "districts/IL-17": { + "path": "districts/IL-17.h5" + }, + "districts/IN-01": { + "path": "districts/IN-01.h5" + }, + "districts/IN-02": { + "path": "districts/IN-02.h5" + }, + "districts/IN-03": { + "path": "districts/IN-03.h5" + }, + "districts/IN-04": { + "path": "districts/IN-04.h5" + }, + "districts/IN-05": { + "path": "districts/IN-05.h5" + }, + "districts/IN-06": { + "path": "districts/IN-06.h5" + }, + "districts/IN-07": { + "path": "districts/IN-07.h5" + }, + "districts/IN-08": { + "path": "districts/IN-08.h5" + }, + "districts/IN-09": { + "path": "districts/IN-09.h5" + }, + "districts/KS-01": { + "path": "districts/KS-01.h5" + }, + "districts/KS-02": { + "path": "districts/KS-02.h5" + }, + "districts/KS-03": { + "path": "districts/KS-03.h5" + }, + "districts/KS-04": { + "path": "districts/KS-04.h5" + }, + "districts/KY-01": { + "path": "districts/KY-01.h5" + }, + "districts/KY-02": { + "path": "districts/KY-02.h5" + }, + "districts/KY-03": { + "path": "districts/KY-03.h5" + }, + "districts/KY-04": { + "path": "districts/KY-04.h5" + }, + "districts/KY-05": { + "path": "districts/KY-05.h5" + }, + "districts/KY-06": { + "path": "districts/KY-06.h5" + }, + "districts/LA-01": { + "path": "districts/LA-01.h5" + }, + "districts/LA-02": { + "path": "districts/LA-02.h5" + }, + "districts/LA-03": { + "path": "districts/LA-03.h5" + }, + "districts/LA-04": { + "path": "districts/LA-04.h5" + }, + "districts/LA-05": { + "path": "districts/LA-05.h5" + }, + "districts/LA-06": { + "path": "districts/LA-06.h5" + }, + "districts/MA-01": { + "path": "districts/MA-01.h5" + }, + "districts/MA-02": { + "path": "districts/MA-02.h5" + }, + "districts/MA-03": { + "path": "districts/MA-03.h5" + }, + "districts/MA-04": { + "path": "districts/MA-04.h5" + }, + "districts/MA-05": { + "path": "districts/MA-05.h5" + }, + "districts/MA-06": { + "path": "districts/MA-06.h5" + }, + "districts/MA-07": { + "path": "districts/MA-07.h5" + }, + "districts/MA-08": { + "path": "districts/MA-08.h5" + }, + "districts/MA-09": { + "path": "districts/MA-09.h5" + }, + "districts/MD-01": { + "path": "districts/MD-01.h5" + }, + "districts/MD-02": { + "path": "districts/MD-02.h5" + }, + "districts/MD-03": { + "path": "districts/MD-03.h5" + }, + "districts/MD-04": { + "path": "districts/MD-04.h5" + }, + "districts/MD-05": { + "path": "districts/MD-05.h5" + }, + "districts/MD-06": { + "path": "districts/MD-06.h5" + }, + "districts/MD-07": { + "path": "districts/MD-07.h5" + }, + "districts/MD-08": { + "path": "districts/MD-08.h5" + }, + "districts/ME-01": { + "path": "districts/ME-01.h5" + }, + "districts/ME-02": { + "path": "districts/ME-02.h5" + }, + "districts/MI-01": { + "path": "districts/MI-01.h5" + }, + "districts/MI-02": { + "path": "districts/MI-02.h5" + }, + "districts/MI-03": { + "path": "districts/MI-03.h5" + }, + "districts/MI-04": { + "path": "districts/MI-04.h5" + }, + "districts/MI-05": { + "path": "districts/MI-05.h5" + }, + "districts/MI-06": { + "path": "districts/MI-06.h5" + }, + "districts/MI-07": { + "path": "districts/MI-07.h5" + }, + "districts/MI-08": { + "path": "districts/MI-08.h5" + }, + "districts/MI-09": { + "path": "districts/MI-09.h5" + }, + "districts/MI-10": { + "path": "districts/MI-10.h5" + }, + "districts/MI-11": { + "path": "districts/MI-11.h5" + }, + "districts/MI-12": { + "path": "districts/MI-12.h5" + }, + "districts/MI-13": { + "path": "districts/MI-13.h5" + }, + "districts/MN-01": { + "path": "districts/MN-01.h5" + }, + "districts/MN-02": { + "path": "districts/MN-02.h5" + }, + "districts/MN-03": { + "path": "districts/MN-03.h5" + }, + "districts/MN-04": { + "path": "districts/MN-04.h5" + }, + "districts/MN-05": { + "path": "districts/MN-05.h5" + }, + "districts/MN-06": { + "path": "districts/MN-06.h5" + }, + "districts/MN-07": { + "path": "districts/MN-07.h5" + }, + "districts/MN-08": { + "path": "districts/MN-08.h5" + }, + "districts/MO-01": { + "path": "districts/MO-01.h5" + }, + "districts/MO-02": { + "path": "districts/MO-02.h5" + }, + "districts/MO-03": { + "path": "districts/MO-03.h5" + }, + "districts/MO-04": { + "path": "districts/MO-04.h5" + }, + "districts/MO-05": { + "path": "districts/MO-05.h5" + }, + "districts/MO-06": { + "path": "districts/MO-06.h5" + }, + "districts/MO-07": { + "path": "districts/MO-07.h5" + }, + "districts/MO-08": { + "path": "districts/MO-08.h5" + }, + "districts/MS-01": { + "path": "districts/MS-01.h5" + }, + "districts/MS-02": { + "path": "districts/MS-02.h5" + }, + "districts/MS-03": { + "path": "districts/MS-03.h5" + }, + "districts/MS-04": { + "path": "districts/MS-04.h5" + }, + "districts/MT-01": { + "path": "districts/MT-01.h5" + }, + "districts/MT-02": { + "path": "districts/MT-02.h5" + }, + "districts/NC-01": { + "path": "districts/NC-01.h5" + }, + "districts/NC-02": { + "path": "districts/NC-02.h5" + }, + "districts/NC-03": { + "path": "districts/NC-03.h5" + }, + "districts/NC-04": { + "path": "districts/NC-04.h5" + }, + "districts/NC-05": { + "path": "districts/NC-05.h5" + }, + "districts/NC-06": { + "path": "districts/NC-06.h5" + }, + "districts/NC-07": { + "path": "districts/NC-07.h5" + }, + "districts/NC-08": { + "path": "districts/NC-08.h5" + }, + "districts/NC-09": { + "path": "districts/NC-09.h5" + }, + "districts/NC-10": { + "path": "districts/NC-10.h5" + }, + "districts/NC-11": { + "path": "districts/NC-11.h5" + }, + "districts/NC-12": { + "path": "districts/NC-12.h5" + }, + "districts/NC-13": { + "path": "districts/NC-13.h5" + }, + "districts/NC-14": { + "path": "districts/NC-14.h5" + }, + "districts/ND-01": { + "path": "districts/ND-01.h5" + }, + "districts/NE-01": { + "path": "districts/NE-01.h5" + }, + "districts/NE-02": { + "path": "districts/NE-02.h5" + }, + "districts/NE-03": { + "path": "districts/NE-03.h5" + }, + "districts/NH-01": { + "path": "districts/NH-01.h5" + }, + "districts/NH-02": { + "path": "districts/NH-02.h5" + }, + "districts/NJ-01": { + "path": "districts/NJ-01.h5" + }, + "districts/NJ-02": { + "path": "districts/NJ-02.h5" + }, + "districts/NJ-03": { + "path": "districts/NJ-03.h5" + }, + "districts/NJ-04": { + "path": "districts/NJ-04.h5" + }, + "districts/NJ-05": { + "path": "districts/NJ-05.h5" + }, + "districts/NJ-06": { + "path": "districts/NJ-06.h5" + }, + "districts/NJ-07": { + "path": "districts/NJ-07.h5" + }, + "districts/NJ-08": { + "path": "districts/NJ-08.h5" + }, + "districts/NJ-09": { + "path": "districts/NJ-09.h5" + }, + "districts/NJ-10": { + "path": "districts/NJ-10.h5" + }, + "districts/NJ-11": { + "path": "districts/NJ-11.h5" + }, + "districts/NJ-12": { + "path": "districts/NJ-12.h5" + }, + "districts/NM-01": { + "path": "districts/NM-01.h5" + }, + "districts/NM-02": { + "path": "districts/NM-02.h5" + }, + "districts/NM-03": { + "path": "districts/NM-03.h5" + }, + "districts/NV-01": { + "path": "districts/NV-01.h5" + }, + "districts/NV-02": { + "path": "districts/NV-02.h5" + }, + "districts/NV-03": { + "path": "districts/NV-03.h5" + }, + "districts/NV-04": { + "path": "districts/NV-04.h5" + }, + "districts/NY-01": { + "path": "districts/NY-01.h5" + }, + "districts/NY-02": { + "path": "districts/NY-02.h5" + }, + "districts/NY-03": { + "path": "districts/NY-03.h5" + }, + "districts/NY-04": { + "path": "districts/NY-04.h5" + }, + "districts/NY-05": { + "path": "districts/NY-05.h5" + }, + "districts/NY-06": { + "path": "districts/NY-06.h5" + }, + "districts/NY-07": { + "path": "districts/NY-07.h5" + }, + "districts/NY-08": { + "path": "districts/NY-08.h5" + }, + "districts/NY-09": { + "path": "districts/NY-09.h5" + }, + "districts/NY-10": { + "path": "districts/NY-10.h5" + }, + "districts/NY-11": { + "path": "districts/NY-11.h5" + }, + "districts/NY-12": { + "path": "districts/NY-12.h5" + }, + "districts/NY-13": { + "path": "districts/NY-13.h5" + }, + "districts/NY-14": { + "path": "districts/NY-14.h5" + }, + "districts/NY-15": { + "path": "districts/NY-15.h5" + }, + "districts/NY-16": { + "path": "districts/NY-16.h5" + }, + "districts/NY-17": { + "path": "districts/NY-17.h5" + }, + "districts/NY-18": { + "path": "districts/NY-18.h5" + }, + "districts/NY-19": { + "path": "districts/NY-19.h5" + }, + "districts/NY-20": { + "path": "districts/NY-20.h5" + }, + "districts/NY-21": { + "path": "districts/NY-21.h5" + }, + "districts/NY-22": { + "path": "districts/NY-22.h5" + }, + "districts/NY-23": { + "path": "districts/NY-23.h5" + }, + "districts/NY-24": { + "path": "districts/NY-24.h5" + }, + "districts/NY-25": { + "path": "districts/NY-25.h5" + }, + "districts/NY-26": { + "path": "districts/NY-26.h5" + }, + "districts/OH-01": { + "path": "districts/OH-01.h5" + }, + "districts/OH-02": { + "path": "districts/OH-02.h5" + }, + "districts/OH-03": { + "path": "districts/OH-03.h5" + }, + "districts/OH-04": { + "path": "districts/OH-04.h5" + }, + "districts/OH-05": { + "path": "districts/OH-05.h5" + }, + "districts/OH-06": { + "path": "districts/OH-06.h5" + }, + "districts/OH-07": { + "path": "districts/OH-07.h5" + }, + "districts/OH-08": { + "path": "districts/OH-08.h5" + }, + "districts/OH-09": { + "path": "districts/OH-09.h5" + }, + "districts/OH-10": { + "path": "districts/OH-10.h5" + }, + "districts/OH-11": { + "path": "districts/OH-11.h5" + }, + "districts/OH-12": { + "path": "districts/OH-12.h5" + }, + "districts/OH-13": { + "path": "districts/OH-13.h5" + }, + "districts/OH-14": { + "path": "districts/OH-14.h5" + }, + "districts/OH-15": { + "path": "districts/OH-15.h5" + }, + "districts/OK-01": { + "path": "districts/OK-01.h5" + }, + "districts/OK-02": { + "path": "districts/OK-02.h5" + }, + "districts/OK-03": { + "path": "districts/OK-03.h5" + }, + "districts/OK-04": { + "path": "districts/OK-04.h5" + }, + "districts/OK-05": { + "path": "districts/OK-05.h5" + }, + "districts/OR-01": { + "path": "districts/OR-01.h5" + }, + "districts/OR-02": { + "path": "districts/OR-02.h5" + }, + "districts/OR-03": { + "path": "districts/OR-03.h5" + }, + "districts/OR-04": { + "path": "districts/OR-04.h5" + }, + "districts/OR-05": { + "path": "districts/OR-05.h5" + }, + "districts/OR-06": { + "path": "districts/OR-06.h5" + }, + "districts/PA-01": { + "path": "districts/PA-01.h5" + }, + "districts/PA-02": { + "path": "districts/PA-02.h5" + }, + "districts/PA-03": { + "path": "districts/PA-03.h5" + }, + "districts/PA-04": { + "path": "districts/PA-04.h5" + }, + "districts/PA-05": { + "path": "districts/PA-05.h5" + }, + "districts/PA-06": { + "path": "districts/PA-06.h5" + }, + "districts/PA-07": { + "path": "districts/PA-07.h5" + }, + "districts/PA-08": { + "path": "districts/PA-08.h5" + }, + "districts/PA-09": { + "path": "districts/PA-09.h5" + }, + "districts/PA-10": { + "path": "districts/PA-10.h5" + }, + "districts/PA-11": { + "path": "districts/PA-11.h5" + }, + "districts/PA-12": { + "path": "districts/PA-12.h5" + }, + "districts/PA-13": { + "path": "districts/PA-13.h5" + }, + "districts/PA-14": { + "path": "districts/PA-14.h5" + }, + "districts/PA-15": { + "path": "districts/PA-15.h5" + }, + "districts/PA-16": { + "path": "districts/PA-16.h5" + }, + "districts/PA-17": { + "path": "districts/PA-17.h5" + }, + "districts/RI-01": { + "path": "districts/RI-01.h5" + }, + "districts/RI-02": { + "path": "districts/RI-02.h5" + }, + "districts/SC-01": { + "path": "districts/SC-01.h5" + }, + "districts/SC-02": { + "path": "districts/SC-02.h5" + }, + "districts/SC-03": { + "path": "districts/SC-03.h5" + }, + "districts/SC-04": { + "path": "districts/SC-04.h5" + }, + "districts/SC-05": { + "path": "districts/SC-05.h5" + }, + "districts/SC-06": { + "path": "districts/SC-06.h5" + }, + "districts/SC-07": { + "path": "districts/SC-07.h5" + }, + "districts/SD-01": { + "path": "districts/SD-01.h5" + }, + "districts/TN-01": { + "path": "districts/TN-01.h5" + }, + "districts/TN-02": { + "path": "districts/TN-02.h5" + }, + "districts/TN-03": { + "path": "districts/TN-03.h5" + }, + "districts/TN-04": { + "path": "districts/TN-04.h5" + }, + "districts/TN-05": { + "path": "districts/TN-05.h5" + }, + "districts/TN-06": { + "path": "districts/TN-06.h5" + }, + "districts/TN-07": { + "path": "districts/TN-07.h5" + }, + "districts/TN-08": { + "path": "districts/TN-08.h5" + }, + "districts/TN-09": { + "path": "districts/TN-09.h5" + }, + "districts/TX-01": { + "path": "districts/TX-01.h5" + }, + "districts/TX-02": { + "path": "districts/TX-02.h5" + }, + "districts/TX-03": { + "path": "districts/TX-03.h5" + }, + "districts/TX-04": { + "path": "districts/TX-04.h5" + }, + "districts/TX-05": { + "path": "districts/TX-05.h5" + }, + "districts/TX-06": { + "path": "districts/TX-06.h5" + }, + "districts/TX-07": { + "path": "districts/TX-07.h5" + }, + "districts/TX-08": { + "path": "districts/TX-08.h5" + }, + "districts/TX-09": { + "path": "districts/TX-09.h5" + }, + "districts/TX-10": { + "path": "districts/TX-10.h5" + }, + "districts/TX-11": { + "path": "districts/TX-11.h5" + }, + "districts/TX-12": { + "path": "districts/TX-12.h5" + }, + "districts/TX-13": { + "path": "districts/TX-13.h5" + }, + "districts/TX-14": { + "path": "districts/TX-14.h5" + }, + "districts/TX-15": { + "path": "districts/TX-15.h5" + }, + "districts/TX-16": { + "path": "districts/TX-16.h5" + }, + "districts/TX-17": { + "path": "districts/TX-17.h5" + }, + "districts/TX-18": { + "path": "districts/TX-18.h5" + }, + "districts/TX-19": { + "path": "districts/TX-19.h5" + }, + "districts/TX-20": { + "path": "districts/TX-20.h5" + }, + "districts/TX-21": { + "path": "districts/TX-21.h5" + }, + "districts/TX-22": { + "path": "districts/TX-22.h5" + }, + "districts/TX-23": { + "path": "districts/TX-23.h5" + }, + "districts/TX-24": { + "path": "districts/TX-24.h5" + }, + "districts/TX-25": { + "path": "districts/TX-25.h5" + }, + "districts/TX-26": { + "path": "districts/TX-26.h5" + }, + "districts/TX-27": { + "path": "districts/TX-27.h5" + }, + "districts/TX-28": { + "path": "districts/TX-28.h5" + }, + "districts/TX-29": { + "path": "districts/TX-29.h5" + }, + "districts/TX-30": { + "path": "districts/TX-30.h5" + }, + "districts/TX-31": { + "path": "districts/TX-31.h5" + }, + "districts/TX-32": { + "path": "districts/TX-32.h5" + }, + "districts/TX-33": { + "path": "districts/TX-33.h5" + }, + "districts/TX-34": { + "path": "districts/TX-34.h5" + }, + "districts/TX-35": { + "path": "districts/TX-35.h5" + }, + "districts/TX-36": { + "path": "districts/TX-36.h5" + }, + "districts/TX-37": { + "path": "districts/TX-37.h5" + }, + "districts/TX-38": { + "path": "districts/TX-38.h5" + }, + "districts/UT-01": { + "path": "districts/UT-01.h5" + }, + "districts/UT-02": { + "path": "districts/UT-02.h5" + }, + "districts/UT-03": { + "path": "districts/UT-03.h5" + }, + "districts/UT-04": { + "path": "districts/UT-04.h5" + }, + "districts/VA-01": { + "path": "districts/VA-01.h5" + }, + "districts/VA-02": { + "path": "districts/VA-02.h5" + }, + "districts/VA-03": { + "path": "districts/VA-03.h5" + }, + "districts/VA-04": { + "path": "districts/VA-04.h5" + }, + "districts/VA-05": { + "path": "districts/VA-05.h5" + }, + "districts/VA-06": { + "path": "districts/VA-06.h5" + }, + "districts/VA-07": { + "path": "districts/VA-07.h5" + }, + "districts/VA-08": { + "path": "districts/VA-08.h5" + }, + "districts/VA-09": { + "path": "districts/VA-09.h5" + }, + "districts/VA-10": { + "path": "districts/VA-10.h5" + }, + "districts/VA-11": { + "path": "districts/VA-11.h5" + }, + "districts/VT-01": { + "path": "districts/VT-01.h5" + }, + "districts/WA-01": { + "path": "districts/WA-01.h5" + }, + "districts/WA-02": { + "path": "districts/WA-02.h5" + }, + "districts/WA-03": { + "path": "districts/WA-03.h5" + }, + "districts/WA-04": { + "path": "districts/WA-04.h5" + }, + "districts/WA-05": { + "path": "districts/WA-05.h5" + }, + "districts/WA-06": { + "path": "districts/WA-06.h5" + }, + "districts/WA-07": { + "path": "districts/WA-07.h5" + }, + "districts/WA-08": { + "path": "districts/WA-08.h5" + }, + "districts/WA-09": { + "path": "districts/WA-09.h5" + }, + "districts/WA-10": { + "path": "districts/WA-10.h5" + }, + "districts/WI-01": { + "path": "districts/WI-01.h5" + }, + "districts/WI-02": { + "path": "districts/WI-02.h5" + }, + "districts/WI-03": { + "path": "districts/WI-03.h5" + }, + "districts/WI-04": { + "path": "districts/WI-04.h5" + }, + "districts/WI-05": { + "path": "districts/WI-05.h5" + }, + "districts/WI-06": { + "path": "districts/WI-06.h5" + }, + "districts/WI-07": { + "path": "districts/WI-07.h5" + }, + "districts/WI-08": { + "path": "districts/WI-08.h5" + }, + "districts/WV-01": { + "path": "districts/WV-01.h5" + }, + "districts/WV-02": { + "path": "districts/WV-02.h5" + }, + "districts/WY-01": { + "path": "districts/WY-01.h5" + }, "enhanced_cps_2024": { "path": "enhanced_cps_2024.h5" + }, + "national/US": { + "path": "national/US.h5" + }, + "small_enhanced_cps_2024": { + "path": "small_enhanced_cps_2024.h5" + }, + "states/AK": { + "path": "states/AK.h5" + }, + "states/AL": { + "path": "states/AL.h5" + }, + "states/AR": { + "path": "states/AR.h5" + }, + "states/AZ": { + "path": "states/AZ.h5" + }, + "states/CA": { + "path": "states/CA.h5" + }, + "states/CO": { + "path": "states/CO.h5" + }, + "states/CT": { + "path": "states/CT.h5" + }, + "states/DC": { + "path": "states/DC.h5" + }, + "states/DE": { + "path": "states/DE.h5" + }, + "states/FL": { + "path": "states/FL.h5" + }, + "states/GA": { + "path": "states/GA.h5" + }, + "states/HI": { + "path": "states/HI.h5" + }, + "states/IA": { + "path": "states/IA.h5" + }, + "states/ID": { + "path": "states/ID.h5" + }, + "states/IL": { + "path": "states/IL.h5" + }, + "states/IN": { + "path": "states/IN.h5" + }, + "states/KS": { + "path": "states/KS.h5" + }, + "states/KY": { + "path": "states/KY.h5" + }, + "states/LA": { + "path": "states/LA.h5" + }, + "states/MA": { + "path": "states/MA.h5" + }, + "states/MD": { + "path": "states/MD.h5" + }, + "states/ME": { + "path": "states/ME.h5" + }, + "states/MI": { + "path": "states/MI.h5" + }, + "states/MN": { + "path": "states/MN.h5" + }, + "states/MO": { + "path": "states/MO.h5" + }, + "states/MS": { + "path": "states/MS.h5" + }, + "states/MT": { + "path": "states/MT.h5" + }, + "states/NC": { + "path": "states/NC.h5" + }, + "states/ND": { + "path": "states/ND.h5" + }, + "states/NE": { + "path": "states/NE.h5" + }, + "states/NH": { + "path": "states/NH.h5" + }, + "states/NJ": { + "path": "states/NJ.h5" + }, + "states/NM": { + "path": "states/NM.h5" + }, + "states/NV": { + "path": "states/NV.h5" + }, + "states/NY": { + "path": "states/NY.h5" + }, + "states/OH": { + "path": "states/OH.h5" + }, + "states/OK": { + "path": "states/OK.h5" + }, + "states/OR": { + "path": "states/OR.h5" + }, + "states/PA": { + "path": "states/PA.h5" + }, + "states/RI": { + "path": "states/RI.h5" + }, + "states/SC": { + "path": "states/SC.h5" + }, + "states/SD": { + "path": "states/SD.h5" + }, + "states/TN": { + "path": "states/TN.h5" + }, + "states/TX": { + "path": "states/TX.h5" + }, + "states/UT": { + "path": "states/UT.h5" + }, + "states/VA": { + "path": "states/VA.h5" + }, + "states/VT": { + "path": "states/VT.h5" + }, + "states/WA": { + "path": "states/WA.h5" + }, + "states/WI": { + "path": "states/WI.h5" + }, + "states/WV": { + "path": "states/WV.h5" + }, + "states/WY": { + "path": "states/WY.h5" } }, "region_datasets": { diff --git a/src/policyengine/data/validation-report.json b/src/policyengine/data/validation-report.json new file mode 100644 index 00000000..b1dfb238 --- /dev/null +++ b/src/policyengine/data/validation-report.json @@ -0,0 +1,363 @@ +{ + "bundle_version": "4.4.3", + "checks": [ + { + "country": "uk", + "details": { + "reason": "Data artifact and release manifest verification disabled by caller." + }, + "name": "data_release_manifest_contract", + "profile": "all", + "status": "skipped" + }, + { + "country": "us", + "details": { + "reason": "Data artifact and release manifest verification disabled by caller." + }, + "name": "data_release_manifest_contract", + "profile": "all", + "status": "skipped" + }, + { + "country": "uk", + "details": { + "reason": "Data artifact and release manifest verification disabled by caller." + }, + "name": "data_release_manifest_contract", + "profile": "uk", + "status": "skipped" + }, + { + "country": "us", + "details": { + "reason": "Data artifact and release manifest verification disabled by caller." + }, + "name": "data_release_manifest_contract", + "profile": "us", + "status": "skipped" + }, + { + "details": { + "declared_python_versions": [ + "3.13" + ], + "install_targets": [ + "py313" + ] + }, + "name": "install_targets_complete", + "profile": "all", + "status": "passed" + }, + { + "details": { + "path": "install/all/py313/pylock.toml", + "target": "py313", + "validated_on_platform": "macos" + }, + "name": "lockfile_present", + "profile": "all", + "python_version": "3.13", + "status": "passed" + }, + { + "details": { + "path": "install/all/py313/constraints.txt", + "target": "py313", + "validated_on_platform": "macos" + }, + "name": "constraints_present", + "profile": "all", + "python_version": "3.13", + "status": "passed" + }, + { + "command": "uv venv --python 3.13 /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmp0wgjh6b1/venv", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:25:40Z", + "name": "create_venv", + "profile": "all", + "python_version": "3.13", + "started_at": "2026-05-11T21:25:40Z", + "status": "passed" + }, + { + "command": "uv pip install --python /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmp0wgjh6b1/venv/bin/python -r bundles/4.4.3/install/all/py313/constraints.txt", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:25:42Z", + "name": "install_constraints", + "profile": "all", + "python_version": "3.13", + "started_at": "2026-05-11T21:25:40Z", + "status": "passed" + }, + { + "command": "/var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmp0wgjh6b1/venv/bin/python -c import importlib.metadata as md\nexpected = {\"policyengine\": \"4.4.3\", \"policyengine-core\": \"3.26.1\", \"policyengine-uk\": \"2.88.14\", \"policyengine-us\": \"1.690.7\"}\nfor name, version in expected.items():\n actual = md.version(name)\n assert actual == version, f'{name}: expected {version}, got {actual}'\n", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:25:42Z", + "name": "verify_direct_package_versions", + "profile": "all", + "python_version": "3.13", + "started_at": "2026-05-11T21:25:42Z", + "status": "passed" + }, + { + "command": "/var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmp0wgjh6b1/venv/bin/python -c import policyengine\nimport policyengine_core\nimport policyengine_uk\nimport policyengine_us\n", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:26:10Z", + "name": "import_smoke", + "profile": "all", + "python_version": "3.13", + "started_at": "2026-05-11T21:25:42Z", + "status": "passed" + }, + { + "command": "/var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmp0wgjh6b1/venv/bin/python -c import policyengine as pe\npe.uk.calculate_household(people=[{'age': 35}], year=2026)\n", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:26:21Z", + "name": "uk_household_smoke", + "profile": "all", + "python_version": "3.13", + "started_at": "2026-05-11T21:26:10Z", + "status": "passed" + }, + { + "command": "/var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmp0wgjh6b1/venv/bin/python -c import policyengine as pe\npe.us.calculate_household(people=[{'age': 35}], tax_unit={'filing_status': 'SINGLE'}, year=2026)\n", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:26:39Z", + "name": "us_household_smoke", + "profile": "all", + "python_version": "3.13", + "started_at": "2026-05-11T21:26:21Z", + "status": "passed" + }, + { + "details": { + "declared_python_versions": [ + "3.13" + ], + "install_targets": [ + "py313" + ] + }, + "name": "install_targets_complete", + "profile": "uk", + "status": "passed" + }, + { + "details": { + "path": "install/uk/py313/pylock.toml", + "target": "py313", + "validated_on_platform": "macos" + }, + "name": "lockfile_present", + "profile": "uk", + "python_version": "3.13", + "status": "passed" + }, + { + "details": { + "path": "install/uk/py313/constraints.txt", + "target": "py313", + "validated_on_platform": "macos" + }, + "name": "constraints_present", + "profile": "uk", + "python_version": "3.13", + "status": "passed" + }, + { + "command": "uv venv --python 3.13 /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmp_egtkjx3/venv", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:26:43Z", + "name": "create_venv", + "profile": "uk", + "python_version": "3.13", + "started_at": "2026-05-11T21:26:43Z", + "status": "passed" + }, + { + "command": "uv pip install --python /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmp_egtkjx3/venv/bin/python -r bundles/4.4.3/install/uk/py313/constraints.txt", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:26:44Z", + "name": "install_constraints", + "profile": "uk", + "python_version": "3.13", + "started_at": "2026-05-11T21:26:43Z", + "status": "passed" + }, + { + "command": "/var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmp_egtkjx3/venv/bin/python -c import importlib.metadata as md\nexpected = {\"policyengine\": \"4.4.3\", \"policyengine-core\": \"3.26.1\", \"policyengine-uk\": \"2.88.14\"}\nfor name, version in expected.items():\n actual = md.version(name)\n assert actual == version, f'{name}: expected {version}, got {actual}'\n", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:26:44Z", + "name": "verify_direct_package_versions", + "profile": "uk", + "python_version": "3.13", + "started_at": "2026-05-11T21:26:44Z", + "status": "passed" + }, + { + "command": "/var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmp_egtkjx3/venv/bin/python -c import policyengine\nimport policyengine_core\nimport policyengine_uk\n", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:27:03Z", + "name": "import_smoke", + "profile": "uk", + "python_version": "3.13", + "started_at": "2026-05-11T21:26:44Z", + "status": "passed" + }, + { + "command": "/var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmp_egtkjx3/venv/bin/python -c import policyengine as pe\npe.uk.calculate_household(people=[{'age': 35}], year=2026)\n", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:27:06Z", + "name": "uk_household_smoke", + "profile": "uk", + "python_version": "3.13", + "started_at": "2026-05-11T21:27:03Z", + "status": "passed" + }, + { + "details": { + "declared_python_versions": [ + "3.13" + ], + "install_targets": [ + "py313" + ] + }, + "name": "install_targets_complete", + "profile": "us", + "status": "passed" + }, + { + "details": { + "path": "install/us/py313/pylock.toml", + "target": "py313", + "validated_on_platform": "macos" + }, + "name": "lockfile_present", + "profile": "us", + "python_version": "3.13", + "status": "passed" + }, + { + "details": { + "path": "install/us/py313/constraints.txt", + "target": "py313", + "validated_on_platform": "macos" + }, + "name": "constraints_present", + "profile": "us", + "python_version": "3.13", + "status": "passed" + }, + { + "command": "uv venv --python 3.13 /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmplcxhsun_/venv", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:27:08Z", + "name": "create_venv", + "profile": "us", + "python_version": "3.13", + "started_at": "2026-05-11T21:27:08Z", + "status": "passed" + }, + { + "command": "uv pip install --python /var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmplcxhsun_/venv/bin/python -r bundles/4.4.3/install/us/py313/constraints.txt", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:27:09Z", + "name": "install_constraints", + "profile": "us", + "python_version": "3.13", + "started_at": "2026-05-11T21:27:08Z", + "status": "passed" + }, + { + "command": "/var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmplcxhsun_/venv/bin/python -c import importlib.metadata as md\nexpected = {\"policyengine\": \"4.4.3\", \"policyengine-core\": \"3.26.1\", \"policyengine-us\": \"1.690.7\"}\nfor name, version in expected.items():\n actual = md.version(name)\n assert actual == version, f'{name}: expected {version}, got {actual}'\n", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:27:09Z", + "name": "verify_direct_package_versions", + "profile": "us", + "python_version": "3.13", + "started_at": "2026-05-11T21:27:09Z", + "status": "passed" + }, + { + "command": "/var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmplcxhsun_/venv/bin/python -c import policyengine\nimport policyengine_core\nimport policyengine_us\n", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:27:34Z", + "name": "import_smoke", + "profile": "us", + "python_version": "3.13", + "started_at": "2026-05-11T21:27:09Z", + "status": "passed" + }, + { + "command": "/var/folders/9l/_wztzgbx7mgc7l1r0416cy7m0000gn/T/tmplcxhsun_/venv/bin/python -c import policyengine as pe\npe.us.calculate_household(people=[{'age': 35}], tax_unit={'filing_status': 'SINGLE'}, year=2026)\n", + "details": { + "target": "py313", + "validated_on_platform": "macos" + }, + "ended_at": "2026-05-11T21:27:51Z", + "name": "us_household_smoke", + "profile": "us", + "python_version": "3.13", + "started_at": "2026-05-11T21:27:34Z", + "status": "passed" + } + ], + "generated_at": "2026-05-11T21:27:54Z", + "metadata": { + "generated_by": "scripts/validate_bundle.py", + "validate_runtime": true, + "validation_scope": "partial", + "verify_data": false + }, + "schema_version": 1, + "status": "passed" +} diff --git a/src/policyengine/tax_benefit_models/common/model_version.py b/src/policyengine/tax_benefit_models/common/model_version.py index 9736d073..2e58d48a 100644 --- a/src/policyengine/tax_benefit_models/common/model_version.py +++ b/src/policyengine/tax_benefit_models/common/model_version.py @@ -26,6 +26,7 @@ import pandas as pd +from policyengine.bundle import require_bundle, strict_bundle_enabled from policyengine.core import ( Parameter, ParameterNode, @@ -82,7 +83,13 @@ def __init__(self, **kwargs: Any) -> None: kwargs["version"] = manifest.model_package.version installed_model_version = metadata.version(self.package_name) - if installed_model_version != manifest.model_package.version: + if strict_bundle_enabled(): + require_bundle( + manifest.policyengine_version, + profile=self.country_code, + strict=True, + ) + elif installed_model_version != manifest.model_package.version: warnings.warn( f"Installed {self.package_name} version " f"({installed_model_version}) does not match the bundled " diff --git a/src/policyengine/tax_benefit_models/uk/__init__.py b/src/policyengine/tax_benefit_models/uk/__init__.py index 3ab098e2..d38cfc09 100644 --- a/src/policyengine/tax_benefit_models/uk/__init__.py +++ b/src/policyengine/tax_benefit_models/uk/__init__.py @@ -14,6 +14,7 @@ from importlib.util import find_spec if find_spec("policyengine_uk") is not None: + from policyengine.bundle import get_country_bundle from policyengine.core import Dataset from policyengine.outputs import ProgramStatistics @@ -35,6 +36,8 @@ model = uk_latest """The pinned UK ``TaxBenefitModelVersion`` for this policyengine release.""" + bundle = get_country_bundle("uk") + """The vendored UK country bundle metadata for this policyengine release.""" Dataset.model_rebuild() UKYearData.model_rebuild() @@ -56,6 +59,7 @@ "calculate_household", "economic_impact_analysis", "ProgramStatistics", + "bundle", ] else: __all__ = [] diff --git a/src/policyengine/tax_benefit_models/uk/model.py b/src/policyengine/tax_benefit_models/uk/model.py index b0e4cceb..58332a61 100644 --- a/src/policyengine/tax_benefit_models/uk/model.py +++ b/src/policyengine/tax_benefit_models/uk/model.py @@ -5,6 +5,7 @@ import pandas as pd from microdf import MicroDataFrame +from policyengine.bundle import current_profile_summary from policyengine.core import TaxBenefitModel from policyengine.provenance.manifest import ( dataset_logical_name, @@ -241,12 +242,18 @@ def run(self, simulation: "Simulation") -> "Simulation": def _managed_release_bundle( dataset_uri: str, dataset_source: Optional[str] = None, -) -> dict[str, Optional[str]]: + unmanaged: bool = False, +) -> dict[str, object]: bundle = dict(uk_latest.release_bundle) + profile_bundle = current_profile_summary("uk") + bundle["policyengine_bundle_version"] = profile_bundle["bundle_version"] + bundle["policyengine_bundle_digest"] = profile_bundle["bundle_digest"] + bundle["profile"] = profile_bundle["profile"] bundle["runtime_dataset"] = dataset_logical_name(dataset_uri) bundle["runtime_dataset_uri"] = dataset_uri if dataset_source: bundle["runtime_dataset_source"] = dataset_source + bundle["runtime_dataset_managed"] = not unmanaged bundle["managed_by"] = "policyengine.py" return bundle @@ -284,6 +291,7 @@ def managed_microsimulation( allow_unmanaged and dataset is not None and "://" in dataset ), ) + unmanaged = allow_unmanaged and dataset is not None and "://" in dataset runtime_dataset = dataset_source if isinstance(dataset_source, str) and "hf://" not in dataset_source: from policyengine_uk.data.dataset_schema import ( @@ -299,6 +307,7 @@ def managed_microsimulation( microsim.policyengine_bundle = _managed_release_bundle( dataset_uri, dataset_source, + unmanaged, ) return microsim diff --git a/src/policyengine/tax_benefit_models/us/__init__.py b/src/policyengine/tax_benefit_models/us/__init__.py index d49d46d4..0ad27739 100644 --- a/src/policyengine/tax_benefit_models/us/__init__.py +++ b/src/policyengine/tax_benefit_models/us/__init__.py @@ -27,6 +27,7 @@ from importlib.util import find_spec if find_spec("policyengine_us") is not None: + from policyengine.bundle import get_country_bundle from policyengine.core import Dataset from policyengine.outputs import ProgramStatistics @@ -48,6 +49,8 @@ model = us_latest """The pinned US ``TaxBenefitModelVersion`` for this policyengine release.""" + bundle = get_country_bundle("us") + """The vendored US country bundle metadata for this policyengine release.""" Dataset.model_rebuild() USYearData.model_rebuild() @@ -69,6 +72,7 @@ "calculate_household", "economic_impact_analysis", "ProgramStatistics", + "bundle", ] else: __all__ = [] diff --git a/src/policyengine/tax_benefit_models/us/model.py b/src/policyengine/tax_benefit_models/us/model.py index 655e05d6..84e18df6 100644 --- a/src/policyengine/tax_benefit_models/us/model.py +++ b/src/policyengine/tax_benefit_models/us/model.py @@ -5,6 +5,7 @@ import pandas as pd from microdf import MicroDataFrame +from policyengine.bundle import current_profile_summary from policyengine.core import TaxBenefitModel from policyengine.provenance.manifest import ( dataset_logical_name, @@ -395,12 +396,18 @@ def _build_simulation_from_dataset(self, microsim, dataset, system): def _managed_release_bundle( dataset_uri: str, dataset_source: Optional[str] = None, -) -> dict[str, Optional[str]]: + unmanaged: bool = False, +) -> dict[str, object]: bundle = dict(us_latest.release_bundle) + profile_bundle = current_profile_summary("us") + bundle["policyengine_bundle_version"] = profile_bundle["bundle_version"] + bundle["policyengine_bundle_digest"] = profile_bundle["bundle_digest"] + bundle["profile"] = profile_bundle["profile"] bundle["runtime_dataset"] = dataset_logical_name(dataset_uri) bundle["runtime_dataset_uri"] = dataset_uri if dataset_source: bundle["runtime_dataset_source"] = dataset_source + bundle["runtime_dataset_managed"] = not unmanaged bundle["managed_by"] = "policyengine.py" return bundle @@ -438,10 +445,12 @@ def managed_microsimulation( allow_unmanaged and dataset is not None and "://" in dataset ), ) + unmanaged = allow_unmanaged and dataset is not None and "://" in dataset microsim = Microsimulation(dataset=dataset_source, **kwargs) microsim.policyengine_bundle = _managed_release_bundle( dataset_uri, dataset_source, + unmanaged, ) return microsim diff --git a/tests/test_bump_version.py b/tests/test_bump_version.py index 1936aa15..a0828628 100644 --- a/tests/test_bump_version.py +++ b/tests/test_bump_version.py @@ -58,40 +58,47 @@ def test_update_file_replaces_stale_version_field(tmp_path): assert 'version = "3.4.3"' in pyproject.read_text() -def test_sync_release_manifest_versions_rewrites_bundle_identity(tmp_path): - manifest_dir = tmp_path / "release_manifests" - manifest_dir.mkdir() - manifest_path = manifest_dir / "uk.json" - manifest_path.write_text( - "{\n" - ' "schema_version": 1,\n' - ' "bundle_id": "uk-4.0.0",\n' - ' "country_id": "uk",\n' - ' "policyengine_version": "4.0.0"\n' - "}\n" +def test_validate_vendored_bundle_version_accepts_matching_bundle(tmp_path): + bundle_path = tmp_path / "src" / "policyengine" / "data" / "bundle.json" + bundle_path.parent.mkdir(parents=True) + bundle_path.write_text( + '{"bundle_version": "4.3.2", "policyengine": {"version": "4.3.2"}}' ) - bump_version.sync_release_manifest_versions(manifest_dir, "4.3.2") + bump_version.validate_vendored_bundle_version(tmp_path, "4.3.2") - text = manifest_path.read_text() - assert '"bundle_id": "uk-4.3.2"' in text - assert '"policyengine_version": "4.3.2"' in text - -def test_sync_release_manifest_versions_fails_when_required_field_missing(tmp_path): - manifest_dir = tmp_path / "release_manifests" - manifest_dir.mkdir() - manifest_path = manifest_dir / "uk.json" - manifest_path.write_text( - "{\n" - ' "schema_version": 1,\n' - ' "bundle_id": "uk-4.0.0",\n' - ' "country_id": "uk"\n' - "}\n" +def test_validate_vendored_bundle_version_rejects_stale_bundle(tmp_path): + bundle_path = tmp_path / "src" / "policyengine" / "data" / "bundle.json" + bundle_path.parent.mkdir(parents=True) + bundle_path.write_text( + '{"bundle_version": "4.0.0", "policyengine": {"version": "4.0.0"}}' ) - original = manifest_path.read_text() with pytest.raises(SystemExit): - bump_version.sync_release_manifest_versions(manifest_dir, "4.3.2") + bump_version.validate_vendored_bundle_version(tmp_path, "4.3.2") + + +def test_vendor_matching_bundle_downloads_when_vendored_bundle_is_stale( + tmp_path, + monkeypatch, +): + bundle_path = tmp_path / "src" / "policyengine" / "data" / "bundle.json" + bundle_path.parent.mkdir(parents=True) + bundle_path.write_text( + '{"bundle_version": "4.0.0", "policyengine": {"version": "4.0.0"}}' + ) + calls = [] + + def fake_run(command, cwd, check): + calls.append((command, cwd, check)) + + monkeypatch.setattr(bump_version.subprocess, "run", fake_run) + + bump_version.vendor_matching_bundle(tmp_path, "4.3.2") - assert manifest_path.read_text() == original + assert len(calls) == 1 + command, cwd, check = calls[0] + assert command[-2:] == ["--version", "4.3.2"] + assert cwd == tmp_path + assert check is True diff --git a/tests/test_policyengine_bundle.py b/tests/test_policyengine_bundle.py new file mode 100644 index 00000000..5581f364 --- /dev/null +++ b/tests/test_policyengine_bundle.py @@ -0,0 +1,296 @@ +from __future__ import annotations + +import hashlib +import importlib.util +import io +import json +import re +import tarfile +from pathlib import Path + +import pytest + +REPO_ROOT = Path(__file__).resolve().parents[1] +PYPROJECT = REPO_ROOT / "pyproject.toml" +VENDORED_BUNDLE_ROOT = REPO_ROOT / "src" / "policyengine" / "data" +BUNDLE_MODULE_PATH = REPO_ROOT / "src" / "policyengine" / "bundle.py" +CHECK_BUNDLE_PATH = REPO_ROOT / ".github" / "check_bundle_consistency.py" + +bundle_spec = importlib.util.spec_from_file_location( + "policyengine_bundle_for_test", + BUNDLE_MODULE_PATH, +) +bundle = importlib.util.module_from_spec(bundle_spec) +assert bundle_spec.loader is not None +bundle_spec.loader.exec_module(bundle) + +spec = importlib.util.spec_from_file_location( + "check_bundle_consistency", + CHECK_BUNDLE_PATH, +) +check_bundle_consistency = importlib.util.module_from_spec(spec) +assert spec.loader is not None +spec.loader.exec_module(check_bundle_consistency) + + +class LocalPackageFiles: + def __init__(self, path: Path): + self.path = path + + def joinpath(self, *parts: str) -> LocalPackageFiles: + return LocalPackageFiles(self.path.joinpath(*parts)) + + def is_file(self) -> bool: + return self.path.is_file() + + def read_text(self) -> str: + return self.path.read_text() + + +bundle.files = lambda _package_name: LocalPackageFiles( + REPO_ROOT / "src" / "policyengine" +) + + +def pyproject_version() -> str: + return re.search( + r'^version\s*=\s*"([^"]+)"', + PYPROJECT.read_text(), + re.MULTILINE, + ).group(1) + + +def test_vendored_bundle_matches_policyengine_version() -> None: + manifest = bundle.get_bundle_manifest() + + assert manifest["bundle_version"] == pyproject_version() + assert manifest["policyengine"]["version"] == pyproject_version() + digest = bundle.get_bundle_digest() + assert digest is None or digest.startswith("sha256:") + + +def test_country_bundle_is_vendored() -> None: + manifest = bundle.get_bundle_manifest() + us_bundle = bundle.get_country_bundle("us") + + assert us_bundle["country_id"] == "us" + assert us_bundle["bundle_version"] == bundle.get_bundle_version() + assert ( + us_bundle["model_package"]["version"] + == manifest["packages"]["policyengine-us"]["version"] + ) + + +def test_require_bundle_strict_checks_installed_versions(monkeypatch) -> None: + expected_versions = { + package_name: package["version"] + for package_name, package in bundle.current_profile_summary("us")[ + "packages" + ].items() + } + monkeypatch.setattr( + bundle, + "_installed_version", + lambda package_name: expected_versions[package_name], + ) + + summary = bundle.require_bundle(bundle.get_bundle_version(), profile="us") + + assert summary["profile"] == "us" + assert summary["installed_packages"]["policyengine-us"]["matches"] is True + + +def test_require_bundle_strict_rejects_version_mismatch(monkeypatch) -> None: + monkeypatch.setattr(bundle, "_installed_version", lambda _package_name: "0.0.0") + + with pytest.raises(bundle.BundleMismatchError, match="do not match"): + bundle.require_bundle(bundle.get_bundle_version(), profile="us") + + +def test_constraints_url_uses_bundle_install_targets() -> None: + version = bundle.get_bundle_version() + profile = bundle.get_bundle_manifest()["profiles"]["us"] + + for target in profile["install_targets"].values(): + assert bundle.constraints_url("us", target["python_version"]) == ( + "https://raw.githubusercontent.com/PolicyEngine/policyengine-bundles/" + f"v{version}/bundles/{version}/{target['constraints']}" + ) + + +def test_install_target_files_are_vendored() -> None: + profile = bundle.get_bundle_manifest()["profiles"]["us"] + + for target in profile["install_targets"].values(): + assert (VENDORED_BUNDLE_ROOT / target["constraints"]).is_file() + assert (VENDORED_BUNDLE_ROOT / target["lockfile"]).is_file() + assert ( + VENDORED_BUNDLE_ROOT / bundle.get_bundle_manifest()["validation_report"] + ).is_file() + + +def test_install_command_uses_target_python_and_constraints() -> None: + version = bundle.get_bundle_version() + target = bundle.get_install_target("all", "3.13") + + assert bundle.install_command( + "all", + "3.13", + target_python="/tmp/project/.venv/bin/python", + ) == [ + "/tmp/project/.venv/bin/python", + "-m", + "pip", + "install", + f"policyengine[uk,us]=={version}", + "-c", + ( + "https://raw.githubusercontent.com/PolicyEngine/policyengine-bundles/" + f"v{version}/bundles/{version}/{target['constraints']}" + ), + ] + + +def test_install_profile_supports_dry_run() -> None: + version = bundle.get_bundle_version() + command = bundle.install_profile( + "uk", + "3.13", + target_python="/tmp/project/.venv/bin/python", + dry_run=True, + ) + + assert command[0:5] == [ + "/tmp/project/.venv/bin/python", + "-m", + "pip", + "install", + f"policyengine[uk]=={version}", + ] + + +def test_install_target_rejects_unsupported_python_version() -> None: + with pytest.raises(bundle.BundleMismatchError, match="No install target"): + bundle.get_install_target("us", "3.12") + + +def test_repository_bundle_consistency_check_passes() -> None: + assert check_bundle_consistency.check_bundle_consistency() == [] + + +def test_certified_bundle_check_requires_release_grade_evidence() -> None: + errors = check_bundle_consistency.check_bundle_consistency( + require_certified=True, + ) + + assert "Certified bundle must define bundle_digest starting with sha256:." in errors + assert any("validation_scope='full'" in error for error in errors) + assert any("skipped check" in error for error in errors) + + +def test_release_asset_dir_consistency_check_passes(tmp_path: Path) -> None: + asset_dir = _write_release_assets(tmp_path) + + assert ( + check_bundle_consistency.check_bundle_consistency( + release_asset_dir=asset_dir, + ) + == [] + ) + + +def test_release_asset_dir_consistency_requires_archive(tmp_path: Path) -> None: + asset_dir = _write_release_assets(tmp_path) + version = bundle.get_bundle_version() + (asset_dir / f"policyengine-bundle-{version}.tar.gz").unlink() + + errors = check_bundle_consistency.check_bundle_consistency( + release_asset_dir=asset_dir, + ) + + assert ( + f"Bundle release asset is missing: policyengine-bundle-{version}.tar.gz." + in errors + ) + + +def test_release_asset_dir_consistency_rejects_archive_member_mismatch( + tmp_path: Path, +) -> None: + manifest = bundle.get_bundle_manifest() + asset_dir = _write_release_assets( + tmp_path, + archive_overrides={ + manifest["validation_report"]: '{"status": "stale"}\n', + }, + ) + + errors = check_bundle_consistency.check_bundle_consistency( + release_asset_dir=asset_dir, + ) + + assert any("validation-report.json" in error for error in errors) + + +def _write_release_assets( + tmp_path: Path, + *, + archive_overrides: dict[str, str] | None = None, +) -> Path: + manifest = bundle.get_bundle_manifest() + version = manifest["bundle_version"] + asset_dir = tmp_path / "assets" + asset_dir.mkdir() + overrides = archive_overrides or {} + + _write_json(asset_dir / f"bundle-{version}.json", manifest) + validation_report = json.loads( + (VENDORED_BUNDLE_ROOT / manifest["validation_report"]).read_text() + ) + _write_json(asset_dir / f"validation-report-{version}.json", validation_report) + + archive_path = asset_dir / f"policyengine-bundle-{version}.tar.gz" + archive_root = f"policyengine-bundle-{version}" + archive_members = { + "bundle.json", + *check_bundle_consistency._bundle_referenced_paths(manifest), + } + with tarfile.open(archive_path, "w:gz") as archive: + for relative_path in sorted(archive_members): + if relative_path in overrides: + payload = overrides[relative_path].encode() + info = tarfile.TarInfo(str(Path(archive_root) / relative_path)) + info.size = len(payload) + archive.addfile(info, io.BytesIO(payload)) + continue + archive.add( + VENDORED_BUNDLE_ROOT / relative_path, + arcname=str(Path(archive_root) / relative_path), + ) + + archive_sha256 = _sha256_file(archive_path) + (asset_dir / f"policyengine-bundle-{version}.tar.gz.sha256").write_text( + f"{archive_sha256} {archive_path.name}\n" + ) + _write_json( + asset_dir / f"policyengine-bundle-{version}.json", + { + "bundle_version": version, + "bundle_digest": manifest.get("bundle_digest"), + "archive": archive_path.name, + "archive_sha256": archive_sha256, + }, + ) + return asset_dir + + +def _write_json(path: Path, payload: dict) -> None: + path.write_text(json.dumps(payload, indent=2) + "\n") + + +def _sha256_file(path: Path) -> str: + hasher = hashlib.sha256() + with path.open("rb") as file: + for chunk in iter(lambda: file.read(1024 * 1024), b""): + hasher.update(chunk) + return hasher.hexdigest() diff --git a/tests/test_policyengine_wheel_attestation.py b/tests/test_policyengine_wheel_attestation.py new file mode 100644 index 00000000..c44aee62 --- /dev/null +++ b/tests/test_policyengine_wheel_attestation.py @@ -0,0 +1,65 @@ +from __future__ import annotations + +import importlib.util +import json +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parents[1] +MODULE_PATH = REPO_ROOT / ".github" / "write_policyengine_wheel_attestation.py" + +spec = importlib.util.spec_from_file_location( + "write_policyengine_wheel_attestation", + MODULE_PATH, +) +write_policyengine_wheel_attestation = importlib.util.module_from_spec(spec) +assert spec.loader is not None +spec.loader.exec_module(write_policyengine_wheel_attestation) + + +def test_build_attestation_records_bundle_and_wheel_hash( + tmp_path: Path, + monkeypatch, +) -> None: + bundle_path = tmp_path / "bundle.json" + bundle_path.write_text( + json.dumps( + { + "bundle_version": "4.4.3", + "bundle_digest": "sha256:" + "a" * 64, + "policyengine": { + "name": "policyengine", + "version": "4.4.3", + "role": "bundle_carrier", + }, + } + ) + ) + monkeypatch.setattr( + write_policyengine_wheel_attestation, "BUNDLE_PATH", bundle_path + ) + monkeypatch.setattr( + write_policyengine_wheel_attestation, + "_load_json_url", + lambda _url: { + "urls": [ + { + "packagetype": "bdist_wheel", + "filename": "policyengine-4.4.3-py3-none-any.whl", + "url": "https://files.pythonhosted.org/policyengine.whl", + "digests": {"sha256": "b" * 64}, + "upload_time_iso_8601": "2026-05-12T00:00:00Z", + } + ] + }, + ) + + attestation = write_policyengine_wheel_attestation.build_attestation( + version="4.4.3", + retries=1, + sleep_seconds=0, + ) + + assert attestation["bundle"]["version"] == "4.4.3" + assert attestation["bundle"]["digest"] == "sha256:" + "a" * 64 + assert attestation["package"]["version"] == "4.4.3" + assert attestation["package"]["sha256"] == "b" * 64 diff --git a/tests/test_release_manifests.py b/tests/test_release_manifests.py index 480ee41b..a202176c 100644 --- a/tests/test_release_manifests.py +++ b/tests/test_release_manifests.py @@ -526,7 +526,9 @@ def test__given_manifest_certification__then_release_bundle_exposes_it(self): assert bundle["default_dataset_uri"] == manifest.default_dataset_uri assert bundle["certified_data_build_id"] == "policyengine-uk-data-1.55.5" assert bundle["data_build_model_version"] == "2.88.14" - assert bundle["compatibility_basis"] == "matching_data_build_fingerprint" + assert ( + bundle["compatibility_basis"] == manifest.certification.compatibility_basis + ) assert bundle["certified_by"] == "policyengine.py bundled manifest" def test__given_runtime_certification__then_release_bundle_prefers_runtime_value( @@ -571,6 +573,14 @@ def test__given_us_managed_microsimulation__then_passes_certified_dataset_and_bu assert ( microsim.policyengine_bundle["policyengine_version"] == POLICYENGINE_VERSION ) + assert ( + microsim.policyengine_bundle["policyengine_bundle_version"] + == POLICYENGINE_VERSION + ) + digest = microsim.policyengine_bundle["policyengine_bundle_digest"] + assert digest is None or digest.startswith("sha256:") + assert microsim.policyengine_bundle["profile"] == "us" + assert microsim.policyengine_bundle["runtime_dataset_managed"] is True assert microsim.policyengine_bundle["runtime_dataset"] == "enhanced_cps_2024" assert ( microsim.policyengine_bundle["runtime_dataset_uri"] @@ -593,6 +603,7 @@ def test__given_us_unmanaged_dataset_uri__then_source_is_not_rewritten(self): assert mock_microsimulation.call_args.kwargs["dataset"] == dataset assert microsim.policyengine_bundle["runtime_dataset_uri"] == dataset assert microsim.policyengine_bundle["runtime_dataset_source"] == dataset + assert microsim.policyengine_bundle["runtime_dataset_managed"] is False def test__given_uk_managed_dataset_name__then_resolves_within_bundle(self): with patch("policyengine_uk.Microsimulation") as mock_microsimulation: @@ -611,6 +622,14 @@ def test__given_uk_managed_dataset_name__then_resolves_within_bundle(self): assert ( microsim.policyengine_bundle["policyengine_version"] == POLICYENGINE_VERSION ) + assert ( + microsim.policyengine_bundle["policyengine_bundle_version"] + == POLICYENGINE_VERSION + ) + digest = microsim.policyengine_bundle["policyengine_bundle_digest"] + assert digest is None or digest.startswith("sha256:") + assert microsim.policyengine_bundle["profile"] == "uk" + assert microsim.policyengine_bundle["runtime_dataset_managed"] is True assert microsim.policyengine_bundle["runtime_dataset"] == "enhanced_frs_2023_24" assert microsim.policyengine_bundle["runtime_dataset_uri"] == ( "hf://policyengine/policyengine-uk-data-private/enhanced_frs_2023_24.h5@1.55.5" @@ -636,3 +655,4 @@ def test__given_uk_unmanaged_dataset_uri__then_source_is_not_rewritten(self): assert mock_microsimulation.call_args.kwargs["dataset"] == dataset assert microsim.policyengine_bundle["runtime_dataset_uri"] == dataset assert microsim.policyengine_bundle["runtime_dataset_source"] == dataset + assert microsim.policyengine_bundle["runtime_dataset_managed"] is False diff --git a/tests/test_vendor_release_bundle.py b/tests/test_vendor_release_bundle.py new file mode 100644 index 00000000..a50f3e28 --- /dev/null +++ b/tests/test_vendor_release_bundle.py @@ -0,0 +1,181 @@ +from __future__ import annotations + +import importlib.util +import json +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parents[1] +MODULE_PATH = REPO_ROOT / ".github" / "vendor_release_bundle.py" + +spec = importlib.util.spec_from_file_location("vendor_release_bundle", MODULE_PATH) +vendor_release_bundle = importlib.util.module_from_spec(spec) +assert spec.loader is not None +spec.loader.exec_module(vendor_release_bundle) + + +def test_vendor_bundle_derives_py_release_manifest_and_pins(tmp_path: Path) -> None: + bundle_root = tmp_path / "policyengine-bundle-4.4.3" + (bundle_root / "countries").mkdir(parents=True) + (bundle_root / "install" / "us" / "py314").mkdir(parents=True) + _write_json( + bundle_root / "bundle.json", + { + "bundle_version": "4.4.3", + "policyengine": { + "name": "policyengine", + "version": "4.4.3", + "resolution_status": "pinned", + "role": "bundle_carrier", + }, + "packages": { + "policyengine": { + "name": "policyengine", + "version": "4.4.3", + "resolution_status": "pinned", + "role": "bundle_carrier", + }, + "policyengine-core": { + "name": "policyengine-core", + "version": "3.26.1", + "resolution_status": "pinned", + }, + "policyengine-us": { + "name": "policyengine-us", + "version": "1.687.0", + "resolution_status": "pinned", + }, + }, + "profiles": { + "us": { + "packages": [ + "policyengine", + "policyengine-core", + "policyengine-us", + ], + "countries": ["us"], + "install_targets": { + "py314": { + "python_version": "3.14", + "constraints": "install/us/py314/constraints.txt", + "lockfile": "install/us/py314/pylock.toml", + "resolver": "uv", + } + }, + } + }, + "countries": {"us": "countries/us.json"}, + "validation_report": "validation-report.json", + }, + ) + _write_json( + bundle_root / "countries" / "us.json", + { + "schema_version": 1, + "bundle_version": "4.4.3", + "country_id": "us", + "model_package": { + "name": "policyengine-us", + "version": "1.687.0", + "sha256": "a" * 64, + "wheel_url": "https://example.test/policyengine-us.whl", + }, + "core_package": {"name": "policyengine-core", "version": "3.26.1"}, + "data_package": { + "name": "policyengine-us-data", + "version": "1.78.2", + "repo_id": "policyengine/policyengine-us-data", + "repo_type": "model", + "release_manifest_path": "releases/1.78.2/release_manifest.json", + }, + "artifact_release": { + "repo_id": "policyengine/policyengine-us-data", + "repo_type": "model", + "version": "9cb665d", + }, + "default_dataset": "enhanced_cps_2024", + "datasets": { + "enhanced_cps_2024": { + "kind": "microdata", + "path": "enhanced_cps_2024.h5", + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.78.2", + "sha256": "b" * 64, + }, + "weights": { + "kind": "weights", + "path": "weights.h5", + "repo_id": "policyengine/policyengine-us-data", + "revision": "1.78.2", + }, + }, + "certification": { + "compatibility_basis": "release_manifest_exact_compatibility", + "data_build_id": "policyengine-us-data-1.78.2", + "built_with_model_package": { + "name": "policyengine-us", + "version": "1.687.0", + }, + "certified_for_model_package": { + "name": "policyengine-us", + "version": "1.687.0", + }, + }, + }, + ) + (bundle_root / "install" / "us" / "py314" / "constraints.txt").write_text( + "policyengine-us==1.687.0\n" + ) + (bundle_root / "install" / "us" / "py314" / "pylock.toml").write_text("[lock]\n") + _write_json(bundle_root / "validation-report.json", {"status": "passed"}) + + data_root = tmp_path / "data" + _write_json( + data_root / "release_manifests" / "us.json", + {"region_datasets": {"national": {"path_template": "enhanced_cps_2024.h5"}}}, + ) + pyproject = tmp_path / "pyproject.toml" + pyproject.write_text( + "[project.optional-dependencies]\n" + "us = [\n" + ' "policyengine_core>=0.0.1",\n' + ' "policyengine_us==0.0.1",\n' + "]\n" + "dev = [\n" + ' "policyengine-core>=0.0.1",\n' + ' "policyengine-us==0.0.1",\n' + "]\n" + ) + + vendor_release_bundle._vendor_bundle(bundle_root, data_root, pyproject) + + release_manifest = json.loads( + (data_root / "release_manifests" / "us.json").read_text() + ) + assert release_manifest["policyengine_version"] == "4.4.3" + assert release_manifest["bundle_id"] == "us-4.4.3" + assert release_manifest["certified_data_artifact"]["uri"] == ( + "hf://policyengine/policyengine-us-data/enhanced_cps_2024.h5@1.78.2" + ) + assert release_manifest["datasets"] == { + "enhanced_cps_2024": {"path": "enhanced_cps_2024.h5"} + } + assert release_manifest["region_datasets"] == { + "national": {"path_template": "enhanced_cps_2024.h5"} + } + assert "policyengine-core==3.26.1" in pyproject.read_text() + assert "policyengine-us==1.687.0" in pyproject.read_text() + assert (data_root / "install" / "us" / "py314" / "constraints.txt").is_file() + + +def test_typed_hf_uri_is_converted_to_policyengine_hf_uri() -> None: + assert ( + vendor_release_bundle._bundle_hf_uri_to_policyengine_uri( + "hf://model/policyengine/policyengine-uk-data-private@1.55.5/data.h5" + ) + == "hf://policyengine/policyengine-uk-data-private/data.h5@1.55.5" + ) + + +def _write_json(path: Path, payload: dict) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload)) diff --git a/uv.lock b/uv.lock index 22f8b0d1..a13a5cdd 100644 --- a/uv.lock +++ b/uv.lock @@ -839,6 +839,7 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7d/ed/6bfa4109fcb23a58819600392564fea69cdc6551ffd5e69ccf1d52a40cbc/greenlet-3.2.4-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:8c68325b0d0acf8d91dde4e6f930967dd52a5302cd4062932a6b2e7c2969f47c", size = 271061, upload-time = "2025-08-07T13:17:15.373Z" }, { url = "https://files.pythonhosted.org/packages/2a/fc/102ec1a2fc015b3a7652abab7acf3541d58c04d3d17a8d3d6a44adae1eb1/greenlet-3.2.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:94385f101946790ae13da500603491f04a76b6e4c059dab271b3ce2e283b2590", size = 629475, upload-time = "2025-08-07T13:42:54.009Z" }, { url = "https://files.pythonhosted.org/packages/c5/26/80383131d55a4ac0fb08d71660fd77e7660b9db6bdb4e8884f46d9f2cc04/greenlet-3.2.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f10fd42b5ee276335863712fa3da6608e93f70629c631bf77145021600abc23c", size = 640802, upload-time = "2025-08-07T13:45:25.52Z" }, + { url = "https://files.pythonhosted.org/packages/9f/7c/e7833dbcd8f376f3326bd728c845d31dcde4c84268d3921afcae77d90d08/greenlet-3.2.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c8c9e331e58180d0d83c5b7999255721b725913ff6bc6cf39fa2a45841a4fd4b", size = 636703, upload-time = "2025-08-07T13:53:12.622Z" }, { url = "https://files.pythonhosted.org/packages/e9/49/547b93b7c0428ede7b3f309bc965986874759f7d89e4e04aeddbc9699acb/greenlet-3.2.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:58b97143c9cc7b86fc458f215bd0932f1757ce649e05b640fea2e79b54cedb31", size = 635417, upload-time = "2025-08-07T13:18:25.189Z" }, { url = "https://files.pythonhosted.org/packages/7f/91/ae2eb6b7979e2f9b035a9f612cf70f1bf54aad4e1d125129bef1eae96f19/greenlet-3.2.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c2ca18a03a8cfb5b25bc1cbe20f3d9a4c80d8c3b13ba3df49ac3961af0b1018d", size = 584358, upload-time = "2025-08-07T13:18:23.708Z" }, { url = "https://files.pythonhosted.org/packages/f7/85/433de0c9c0252b22b16d413c9407e6cb3b41df7389afc366ca204dbc1393/greenlet-3.2.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9fe0a28a7b952a21e2c062cd5756d34354117796c6d9215a87f55e38d15402c5", size = 1113550, upload-time = "2025-08-07T13:42:37.467Z" }, @@ -849,6 +850,7 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a4/de/f28ced0a67749cac23fecb02b694f6473f47686dff6afaa211d186e2ef9c/greenlet-3.2.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:96378df1de302bc38e99c3a9aa311967b7dc80ced1dcc6f171e99842987882a2", size = 272305, upload-time = "2025-08-07T13:15:41.288Z" }, { url = "https://files.pythonhosted.org/packages/09/16/2c3792cba130000bf2a31c5272999113f4764fd9d874fb257ff588ac779a/greenlet-3.2.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1ee8fae0519a337f2329cb78bd7a8e128ec0f881073d43f023c7b8d4831d5246", size = 632472, upload-time = "2025-08-07T13:42:55.044Z" }, { url = "https://files.pythonhosted.org/packages/ae/8f/95d48d7e3d433e6dae5b1682e4292242a53f22df82e6d3dda81b1701a960/greenlet-3.2.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:94abf90142c2a18151632371140b3dba4dee031633fe614cb592dbb6c9e17bc3", size = 644646, upload-time = "2025-08-07T13:45:26.523Z" }, + { url = "https://files.pythonhosted.org/packages/d5/5e/405965351aef8c76b8ef7ad370e5da58d57ef6068df197548b015464001a/greenlet-3.2.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:4d1378601b85e2e5171b99be8d2dc85f594c79967599328f95c1dc1a40f1c633", size = 640519, upload-time = "2025-08-07T13:53:13.928Z" }, { url = "https://files.pythonhosted.org/packages/25/5d/382753b52006ce0218297ec1b628e048c4e64b155379331f25a7316eb749/greenlet-3.2.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0db5594dce18db94f7d1650d7489909b57afde4c580806b8d9203b6e79cdc079", size = 639707, upload-time = "2025-08-07T13:18:27.146Z" }, { url = "https://files.pythonhosted.org/packages/1f/8e/abdd3f14d735b2929290a018ecf133c901be4874b858dd1c604b9319f064/greenlet-3.2.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2523e5246274f54fdadbce8494458a2ebdcdbc7b802318466ac5606d3cded1f8", size = 587684, upload-time = "2025-08-07T13:18:25.164Z" }, { url = "https://files.pythonhosted.org/packages/5d/65/deb2a69c3e5996439b0176f6651e0052542bb6c8f8ec2e3fba97c9768805/greenlet-3.2.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1987de92fec508535687fb807a5cea1560f6196285a4cde35c100b8cd632cc52", size = 1116647, upload-time = "2025-08-07T13:42:38.655Z" }, @@ -859,6 +861,7 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/44/69/9b804adb5fd0671f367781560eb5eb586c4d495277c93bde4307b9e28068/greenlet-3.2.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3b67ca49f54cede0186854a008109d6ee71f66bd57bb36abd6d0a0267b540cdd", size = 274079, upload-time = "2025-08-07T13:15:45.033Z" }, { url = "https://files.pythonhosted.org/packages/46/e9/d2a80c99f19a153eff70bc451ab78615583b8dac0754cfb942223d2c1a0d/greenlet-3.2.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ddf9164e7a5b08e9d22511526865780a576f19ddd00d62f8a665949327fde8bb", size = 640997, upload-time = "2025-08-07T13:42:56.234Z" }, { url = "https://files.pythonhosted.org/packages/3b/16/035dcfcc48715ccd345f3a93183267167cdd162ad123cd93067d86f27ce4/greenlet-3.2.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f28588772bb5fb869a8eb331374ec06f24a83a9c25bfa1f38b6993afe9c1e968", size = 655185, upload-time = "2025-08-07T13:45:27.624Z" }, + { url = "https://files.pythonhosted.org/packages/31/da/0386695eef69ffae1ad726881571dfe28b41970173947e7c558d9998de0f/greenlet-3.2.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:5c9320971821a7cb77cfab8d956fa8e39cd07ca44b6070db358ceb7f8797c8c9", size = 649926, upload-time = "2025-08-07T13:53:15.251Z" }, { url = "https://files.pythonhosted.org/packages/68/88/69bf19fd4dc19981928ceacbc5fd4bb6bc2215d53199e367832e98d1d8fe/greenlet-3.2.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c60a6d84229b271d44b70fb6e5fa23781abb5d742af7b808ae3f6efd7c9c60f6", size = 651839, upload-time = "2025-08-07T13:18:30.281Z" }, { url = "https://files.pythonhosted.org/packages/19/0d/6660d55f7373b2ff8152401a83e02084956da23ae58cddbfb0b330978fe9/greenlet-3.2.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b3812d8d0c9579967815af437d96623f45c0f2ae5f04e366de62a12d83a8fb0", size = 607586, upload-time = "2025-08-07T13:18:28.544Z" }, { url = "https://files.pythonhosted.org/packages/8e/1a/c953fdedd22d81ee4629afbb38d2f9d71e37d23caace44775a3a969147d4/greenlet-3.2.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:abbf57b5a870d30c4675928c37278493044d7c14378350b3aa5d484fa65575f0", size = 1123281, upload-time = "2025-08-07T13:42:39.858Z" }, @@ -869,6 +872,7 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/49/e8/58c7f85958bda41dafea50497cbd59738c5c43dbbea5ee83d651234398f4/greenlet-3.2.4-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:1a921e542453fe531144e91e1feedf12e07351b1cf6c9e8a3325ea600a715a31", size = 272814, upload-time = "2025-08-07T13:15:50.011Z" }, { url = "https://files.pythonhosted.org/packages/62/dd/b9f59862e9e257a16e4e610480cfffd29e3fae018a68c2332090b53aac3d/greenlet-3.2.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd3c8e693bff0fff6ba55f140bf390fa92c994083f838fece0f63be121334945", size = 641073, upload-time = "2025-08-07T13:42:57.23Z" }, { url = "https://files.pythonhosted.org/packages/f7/0b/bc13f787394920b23073ca3b6c4a7a21396301ed75a655bcb47196b50e6e/greenlet-3.2.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:710638eb93b1fa52823aa91bf75326f9ecdfd5e0466f00789246a5280f4ba0fc", size = 655191, upload-time = "2025-08-07T13:45:29.752Z" }, + { url = "https://files.pythonhosted.org/packages/f2/d6/6adde57d1345a8d0f14d31e4ab9c23cfe8e2cd39c3baf7674b4b0338d266/greenlet-3.2.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c5111ccdc9c88f423426df3fd1811bfc40ed66264d35aa373420a34377efc98a", size = 649516, upload-time = "2025-08-07T13:53:16.314Z" }, { url = "https://files.pythonhosted.org/packages/7f/3b/3a3328a788d4a473889a2d403199932be55b1b0060f4ddd96ee7cdfcad10/greenlet-3.2.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d76383238584e9711e20ebe14db6c88ddcedc1829a9ad31a584389463b5aa504", size = 652169, upload-time = "2025-08-07T13:18:32.861Z" }, { url = "https://files.pythonhosted.org/packages/ee/43/3cecdc0349359e1a527cbf2e3e28e5f8f06d3343aaf82ca13437a9aa290f/greenlet-3.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23768528f2911bcd7e475210822ffb5254ed10d71f4028387e5a99b4c6699671", size = 610497, upload-time = "2025-08-07T13:18:31.636Z" }, { url = "https://files.pythonhosted.org/packages/b8/19/06b6cf5d604e2c382a6f31cafafd6f33d5dea706f4db7bdab184bad2b21d/greenlet-3.2.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:00fadb3fedccc447f517ee0d3fd8fe49eae949e1cd0f6a611818f4f6fb7dc83b", size = 1121662, upload-time = "2025-08-07T13:42:41.117Z" }, @@ -879,6 +883,7 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/22/5c/85273fd7cc388285632b0498dbbab97596e04b154933dfe0f3e68156c68c/greenlet-3.2.4-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:49a30d5fda2507ae77be16479bdb62a660fa51b1eb4928b524975b3bde77b3c0", size = 273586, upload-time = "2025-08-07T13:16:08.004Z" }, { url = "https://files.pythonhosted.org/packages/d1/75/10aeeaa3da9332c2e761e4c50d4c3556c21113ee3f0afa2cf5769946f7a3/greenlet-3.2.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:299fd615cd8fc86267b47597123e3f43ad79c9d8a22bebdce535e53550763e2f", size = 686346, upload-time = "2025-08-07T13:42:59.944Z" }, { url = "https://files.pythonhosted.org/packages/c0/aa/687d6b12ffb505a4447567d1f3abea23bd20e73a5bed63871178e0831b7a/greenlet-3.2.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:c17b6b34111ea72fc5a4e4beec9711d2226285f0386ea83477cbb97c30a3f3a5", size = 699218, upload-time = "2025-08-07T13:45:30.969Z" }, + { url = "https://files.pythonhosted.org/packages/dc/8b/29aae55436521f1d6f8ff4e12fb676f3400de7fcf27fccd1d4d17fd8fecd/greenlet-3.2.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b4a1870c51720687af7fa3e7cda6d08d801dae660f75a76f3845b642b4da6ee1", size = 694659, upload-time = "2025-08-07T13:53:17.759Z" }, { url = "https://files.pythonhosted.org/packages/92/2e/ea25914b1ebfde93b6fc4ff46d6864564fba59024e928bdc7de475affc25/greenlet-3.2.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:061dc4cf2c34852b052a8620d40f36324554bc192be474b9e9770e8c042fd735", size = 695355, upload-time = "2025-08-07T13:18:34.517Z" }, { url = "https://files.pythonhosted.org/packages/72/60/fc56c62046ec17f6b0d3060564562c64c862948c9d4bc8aa807cf5bd74f4/greenlet-3.2.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:44358b9bf66c8576a9f57a590d5f5d6e72fa4228b763d0e43fee6d3b06d3a337", size = 657512, upload-time = "2025-08-07T13:18:33.969Z" }, { url = "https://files.pythonhosted.org/packages/23/6e/74407aed965a4ab6ddd93a7ded3180b730d281c77b765788419484cdfeef/greenlet-3.2.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2917bdf657f5859fbf3386b12d68ede4cf1f04c90c3a6bc1f013dd68a22e2269", size = 1612508, upload-time = "2025-11-04T12:42:23.427Z" }, @@ -887,6 +892,7 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f7/c0/93885c4106d2626bf51fdec377d6aef740dfa5c4877461889a7cf8e565cc/greenlet-3.2.4-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:b6a7c19cf0d2742d0809a4c05975db036fdff50cd294a93632d6a310bf9ac02c", size = 269859, upload-time = "2025-08-07T13:16:16.003Z" }, { url = "https://files.pythonhosted.org/packages/4d/f5/33f05dc3ba10a02dedb1485870cf81c109227d3d3aa280f0e48486cac248/greenlet-3.2.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:27890167f55d2387576d1f41d9487ef171849ea0359ce1510ca6e06c8bece11d", size = 627610, upload-time = "2025-08-07T13:43:01.345Z" }, { url = "https://files.pythonhosted.org/packages/b2/a7/9476decef51a0844195f99ed5dc611d212e9b3515512ecdf7321543a7225/greenlet-3.2.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:18d9260df2b5fbf41ae5139e1be4e796d99655f023a636cd0e11e6406cca7d58", size = 639417, upload-time = "2025-08-07T13:45:32.094Z" }, + { url = "https://files.pythonhosted.org/packages/bd/e0/849b9159cbb176f8c0af5caaff1faffdece7a8417fcc6fe1869770e33e21/greenlet-3.2.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:671df96c1f23c4a0d4077a325483c1503c96a1b7d9db26592ae770daa41233d4", size = 634751, upload-time = "2025-08-07T13:53:18.848Z" }, { url = "https://files.pythonhosted.org/packages/5f/d3/844e714a9bbd39034144dca8b658dcd01839b72bb0ec7d8014e33e3705f0/greenlet-3.2.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:16458c245a38991aa19676900d48bd1a6f2ce3e16595051a4db9d012154e8433", size = 634020, upload-time = "2025-08-07T13:18:36.841Z" }, { url = "https://files.pythonhosted.org/packages/6b/4c/f3de2a8de0e840ecb0253ad0dc7e2bb3747348e798ec7e397d783a3cb380/greenlet-3.2.4-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c9913f1a30e4526f432991f89ae263459b1c64d1608c0d22a5c79c287b3c70df", size = 582817, upload-time = "2025-08-07T13:18:35.48Z" }, { url = "https://files.pythonhosted.org/packages/89/80/7332915adc766035c8980b161c2e5d50b2f941f453af232c164cff5e0aeb/greenlet-3.2.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b90654e092f928f110e0007f572007c9727b5265f7632c2fa7415b4689351594", size = 1111985, upload-time = "2025-08-07T13:42:42.425Z" }, @@ -2411,7 +2417,7 @@ wheels = [ [[package]] name = "policyengine" -version = "4.4.2" +version = "4.4.3" source = { editable = "." } dependencies = [ { name = "jsonschema" }, @@ -2475,9 +2481,9 @@ requires-dist = [ { name = "pandas", specifier = ">=2.0.0" }, { name = "plotly", marker = "extra == 'dev'", specifier = ">=5.0.0" }, { name = "plotly", marker = "extra == 'plotting'", specifier = ">=5.0.0" }, - { name = "policyengine-core", marker = "extra == 'dev'", specifier = ">=3.26.1" }, - { name = "policyengine-core", marker = "extra == 'uk'", specifier = ">=3.26.1" }, - { name = "policyengine-core", marker = "extra == 'us'", specifier = ">=3.26.1" }, + { name = "policyengine-core", marker = "extra == 'dev'", specifier = "==3.26.1" }, + { name = "policyengine-core", marker = "extra == 'uk'", specifier = "==3.26.1" }, + { name = "policyengine-core", marker = "extra == 'us'", specifier = "==3.26.1" }, { name = "policyengine-uk", marker = "extra == 'dev'", specifier = "==2.88.14" }, { name = "policyengine-uk", marker = "extra == 'uk'", specifier = "==2.88.14" }, { name = "policyengine-us", marker = "extra == 'dev'", specifier = "==1.690.7" },