policyengine 6.4.0__tar.gz → 6.4.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {policyengine-6.4.0 → policyengine-6.4.2}/CHANGELOG.md +15 -0
- {policyengine-6.4.0/src/policyengine.egg-info → policyengine-6.4.2}/PKG-INFO +4 -4
- {policyengine-6.4.0 → policyengine-6.4.2}/pyproject.toml +4 -4
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/data/bundle/manifest.json +44 -44
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/data/bundle/uk.trace.tro.jsonld +19 -19
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/data/bundle/us.trace.tro.jsonld +5 -5
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/uk/budget_reform_contract.py +8 -1
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/uk/budget_reform_population.py +199 -29
- {policyengine-6.4.0 → policyengine-6.4.2/src/policyengine.egg-info}/PKG-INFO +4 -4
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine.egg-info/SOURCES.txt +2 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine.egg-info/requires.txt +3 -3
- policyengine-6.4.2/tests/fixtures/uk_contract/evaluate_case_rows.json +1 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_models.py +3 -3
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_release_manifests.py +6 -6
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_uk_budget_reform_contract.py +448 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_uk_regions.py +1 -1
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_uk_year_file_data_year.py +3 -1
- policyengine-6.4.2/tests/uk_contract_row_scenarios.py +208 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/uv.lock +7 -7
- {policyengine-6.4.0 → policyengine-6.4.2}/.claude/policyengine-guide.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.claude/quick-reference.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/CONTRIBUTING.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/bump_version.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/capture-version.sh +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/changelog_template.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/check-changelog.sh +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/copilot-instructions.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/dispatch-policyengine-release.sh +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/fetch_version.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/get-changelog-diff.sh +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/has-functional-changes.sh +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/is-version-number-acceptable.sh +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/publish-git-tag.sh +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/wait-for-pypi.sh +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/workflows/draft-pdf.yml +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/workflows/pr_code_changes.yaml +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/workflows/pr_docs_changes.yaml +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.github/workflows/push.yaml +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.gitignore +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/.python-version +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/AGENTS.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/CITATION.cff +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/CLAUDE.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/CODE_OF_CONDUCT.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/CONTRIBUTING.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/LICENSE +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/Makefile +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/README.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/architecture.png +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/architecture.svg +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/changelog.d/.gitkeep +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/.gitignore +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/_generator/README.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/_generator/build_reference.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/_quarto.yml +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/bundles.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/countries.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/data-publishing-design.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/decile-impact-spec.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/dev.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/disclosure.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/engineering/runbooks/acs-local-wic-replacement.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/engineering/runbooks/build-m-us-populace-certification.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/engineering/runbooks/canonical-spm-development.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/engineering/runbooks/us-legacy-spm-sources.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/engineering/skills/README.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/engineering/skills/data-certification.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/engineering/skills/github-prs.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/engineering/skills/repository-guidance.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/examples.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/getting-started.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/households.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/impact-analysis.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/index.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/methodology/index.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/methodology/model-architecture.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/methodology/us-health-costs.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/microsim.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/outputs.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/programs/index.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/programs/us-chip.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/reference/index.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/reforms.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/regions.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/release-bundles.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/run-records.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/trace-case-study.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/docs/visualisation.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/examples/belgium_axiom_pilot.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/examples/employment_income_variation_uk.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/examples/employment_income_variation_us.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/examples/household_impact_example.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/examples/income_bands_uk.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/examples/income_distribution_us.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/examples/paper_repro_uk.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/examples/policy_change_uk.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/examples/speedtest_us_simulation.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/examples/uk_geography_disclosure.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/examples/us_budgetary_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/paper-preview.html +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/paper.bib +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/paper.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/scripts/bundle.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/scripts/certify_data_release.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/scripts/check_data_staleness.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/scripts/check_native_spm_loading.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/scripts/check_release_credentials.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/scripts/export_bundle_release_assets.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/scripts/generate_bundle_artifacts.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/scripts/generate_trace_tros.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/scripts/prepare_package_bundle_update.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/scripts/release_lock.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/scripts/spm_bundle.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/setup.cfg +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/bundle.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/cli.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/cache.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/dataset.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/dynamic.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/output.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/parameter.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/parameter_node.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/parameter_value.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/policy.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/region.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/run_record.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/scoping_strategy.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/simulation.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/spm.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/tax_benefit_model.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/tax_benefit_model_version.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/core/variable.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/countries/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/countries/uk/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/countries/uk/regions.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/countries/us/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/countries/us/data/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/countries/us/data/districts.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/countries/us/data/places.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/countries/us/data/states.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/countries/us/regions.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/data/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/data/schemas/trace_tro.schema.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/data/uk_geography_assets.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/derivations/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/derivations/narrate.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/derivations/trace.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/disclosure/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/disclosure/__main__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/disclosure/areas.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/disclosure/estimate.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/disclosure/noise.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/disclosure/release.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/disclosure/schema.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/disclosure/support.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/disclosure/validate.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/graph/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/graph/extractor.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/graph/graph.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/aggregate.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/change_aggregate.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/cliff_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/congressional_district_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/constituency_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/decile_analysis.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/decile_grouping.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/decile_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/extra_variables.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/inequality.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/intra_decile_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/labor_supply_response.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/local_authority_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/poverty.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/program_statistics.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/uk_geography_assets.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/uk_geography_disclosure.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/outputs/uk_geography_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/provenance/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/provenance/bundle_validation.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/provenance/certification.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/provenance/dataset_materialization.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/provenance/manifest.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/provenance/pyproject_pins.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/provenance/spm_configuration.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/provenance/trace.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/provenance/verify.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/provenance/zenodo.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/results/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/results/schema.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/results/trace_tro.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/results/tracking.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/be/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/be/datasets.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/be/model.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/common/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/common/axes.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/common/extra_variables.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/common/household.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/common/model_version.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/common/reform.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/common/result.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/uk/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/uk/analysis.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/uk/datasets.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/uk/household.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/uk/model.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/analysis.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/datasets.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/household.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/legacy_inputs.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/legacy_spm/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/legacy_spm/declarations.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/legacy_spm/independence.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/legacy_spm/model_adapter.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/legacy_spm/record.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/legacy_spm/registry.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/legacy_spm/runs.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/legacy_spm/universe.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/model.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/tax_benefit_models/us/spm.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/utils/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/utils/dates.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/utils/design.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/utils/entity_utils.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/utils/errors.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/utils/hashing.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/utils/household_validation.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/utils/parameter_labels.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/utils/parametric_reforms.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine/utils/plotting.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine.egg-info/dependency_links.txt +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine.egg-info/entry_points.txt +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/src/policyengine.egg-info/top_level.txt +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/conftest.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/filtering_fixtures.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/household_calculator_snapshots/uk_couple_two_kids.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/household_calculator_snapshots/uk_model_surface.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/household_calculator_snapshots/uk_single_adult_employment_income.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/household_calculator_snapshots/uk_single_adult_no_income.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/household_calculator_snapshots/uk_single_parent_one_child.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/household_calculator_snapshots/us_married_two_kids_high_income.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/household_calculator_snapshots/us_model_surface.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/household_calculator_snapshots/us_single_adult_employment_income.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/household_calculator_snapshots/us_single_adult_no_income.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/household_calculator_snapshots/us_single_parent_one_child.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/parameter_labels_fixtures.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/parametric_reforms_fixtures.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/poverty_by_demographics_fixtures.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/region_fixtures.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/release_tros/README.md +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/release_tros/country-models.lock.toml +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/release_tros/manifest.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/release_tros/us-release_manifest.json +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/release_tros/us.trace.tro.jsonld +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/spm_development.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/us_reform_fixtures.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/fixtures/variable_label_fixtures.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_aggregate.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_be_axiom_pilot.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_budgetary_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_bump_version.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_bundle.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_bundle_metadata.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_cache.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_certify_data_release.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_change_aggregate.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_cliff_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_cliff_impact_analysis.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_congressional_district_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_constituency_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_dataset_materialization.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_dataset_persistence.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_dataset_runtime.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_dataset_source.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_decile_grouping.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_derivations.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_dict_reforms_on_simulation.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_disclosure_areas.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_disclosure_estimate.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_disclosure_noise.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_disclosure_release.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_disclosure_schema.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_disclosure_support.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_disclosure_validate.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_entity_mapping.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_entity_utils.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_entity_utils_characterization.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_errors.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_extra_variables.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_filtering.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_generate_trace_tros.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_graph/__init__.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_graph/conftest.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_graph/test_extractor.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_household_calculator_snapshot.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_household_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_inequality.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_intra_decile_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_labor_supply_response.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_local_authority_impact.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_manifest_version_mismatch.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_pandas3_compatibility.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_parameter_labels.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_parameter_nodes.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_parameter_values.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_parametric_reforms.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_poverty.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_poverty_by_demographics.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_poverty_run.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_preservation_mirror.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_program_statistics.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_pyproject_pins.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_region.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_region_group_strategy.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_release_credentials.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_release_lock.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_release_tro_generation.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_results.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_run_record.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_scoping_strategy.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_small_follow_ups.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_spm_bundle_bootstrap.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_spm_bundle_tooling.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_spm_decile.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_spm_development_authentication.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_spm_household.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_spm_model.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_spm_selection.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_spm_selection_schema.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_trace_tro.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_trace_tro_verify.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_uk_analysis.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_uk_dated_reforms.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_uk_geography_assets.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_uk_geography_disclosure.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_uk_program_statistics.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_legacy_inputs.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_legacy_inputs_integration.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_legacy_spm.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_legacy_spm_integration.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_legacy_spm_model_contract.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_long_term_datasets.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_microsim_structural_reforms.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_native_alignment.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_native_hdf_weights.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_program_statistics.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_reform_application.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_regions.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_us_year_file_stamp.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_variable_labels.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_variable_metadata.py +0 -0
- {policyengine-6.4.0 → policyengine-6.4.2}/tests/test_zenodo_mirror.py +0 -0
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
## [6.4.2] - 2026-10-15
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
- The UK Budget reform contract's Universal Credit allowance check now asserts on the award before deductions, and bounds how far deductions can lower the amount paid.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## [6.4.1] - 2026-10-15
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- The UK Budget reform contract report gives each assertion a unique id, and the population checks declare the rows a full run emits.
|
|
13
|
+
- Certify policyengine-uk 2.130.1 with policyengine-uk-data 1.58.1 (enhanced_frs_2024_25) as the UK default pair, on the publisher's compatibility claim.
|
|
14
|
+
|
|
15
|
+
|
|
1
16
|
## [6.4.0] - 2026-10-14
|
|
2
17
|
|
|
3
18
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: policyengine
|
|
3
|
-
Version: 6.4.
|
|
3
|
+
Version: 6.4.2
|
|
4
4
|
Summary: A package to conduct policy analysis using PolicyEngine tax-benefit models.
|
|
5
5
|
Author-email: PolicyEngine <hello@policyengine.org>
|
|
6
6
|
License: GNU AFFERO GENERAL PUBLIC LICENSE
|
|
@@ -687,11 +687,11 @@ Requires-Dist: networkx>=3.0; extra == "graph"
|
|
|
687
687
|
Provides-Extra: models
|
|
688
688
|
Requires-Dist: policyengine-core==3.33.0; extra == "models"
|
|
689
689
|
Requires-Dist: policyengine-us==2.2.1; extra == "models"
|
|
690
|
-
Requires-Dist: policyengine-uk==2.
|
|
690
|
+
Requires-Dist: policyengine-uk==2.130.1; extra == "models"
|
|
691
691
|
Requires-Dist: spm-calculator==1.0.0; extra == "models"
|
|
692
692
|
Provides-Extra: uk
|
|
693
693
|
Requires-Dist: policyengine-core==3.33.0; extra == "uk"
|
|
694
|
-
Requires-Dist: policyengine-uk==2.
|
|
694
|
+
Requires-Dist: policyengine-uk==2.130.1; extra == "uk"
|
|
695
695
|
Provides-Extra: us
|
|
696
696
|
Requires-Dist: policyengine-core==3.33.0; extra == "us"
|
|
697
697
|
Requires-Dist: policyengine-us==2.2.1; extra == "us"
|
|
@@ -713,7 +713,7 @@ Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
|
|
|
713
713
|
Requires-Dist: hypothesis>=6.100.0; extra == "dev"
|
|
714
714
|
Requires-Dist: policyengine-core==3.33.0; extra == "dev"
|
|
715
715
|
Requires-Dist: policyengine-us==2.2.1; extra == "dev"
|
|
716
|
-
Requires-Dist: policyengine-uk==2.
|
|
716
|
+
Requires-Dist: policyengine-uk==2.130.1; extra == "dev"
|
|
717
717
|
Requires-Dist: spm-calculator==1.0.0; extra == "dev"
|
|
718
718
|
Dynamic: license-file
|
|
719
719
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "policyengine"
|
|
7
|
-
version = "6.4.
|
|
7
|
+
version = "6.4.2"
|
|
8
8
|
description = "A package to conduct policy analysis using PolicyEngine tax-benefit models."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
@@ -42,12 +42,12 @@ graph = [
|
|
|
42
42
|
models = [
|
|
43
43
|
"policyengine-core==3.33.0",
|
|
44
44
|
"policyengine-us==2.2.1",
|
|
45
|
-
"policyengine-uk==2.
|
|
45
|
+
"policyengine-uk==2.130.1",
|
|
46
46
|
"spm-calculator==1.0.0",
|
|
47
47
|
]
|
|
48
48
|
uk = [
|
|
49
49
|
"policyengine-core==3.33.0",
|
|
50
|
-
"policyengine-uk==2.
|
|
50
|
+
"policyengine-uk==2.130.1",
|
|
51
51
|
]
|
|
52
52
|
us = [
|
|
53
53
|
"policyengine-core==3.33.0",
|
|
@@ -71,7 +71,7 @@ dev = [
|
|
|
71
71
|
"hypothesis>=6.100.0",
|
|
72
72
|
"policyengine-core==3.33.0",
|
|
73
73
|
"policyengine-us==2.2.1",
|
|
74
|
-
"policyengine-uk==2.
|
|
74
|
+
"policyengine-uk==2.130.1",
|
|
75
75
|
"spm-calculator==1.0.0",
|
|
76
76
|
]
|
|
77
77
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"bundle_version": "6.4.
|
|
2
|
+
"bundle_version": "6.4.2",
|
|
3
3
|
"citation": {
|
|
4
4
|
"publisher": "PolicyEngine",
|
|
5
|
-
"title": "PolicyEngine bundle 6.4.
|
|
5
|
+
"title": "PolicyEngine bundle 6.4.2",
|
|
6
6
|
"type": "software-bundle",
|
|
7
|
-
"version": "6.4.
|
|
7
|
+
"version": "6.4.2"
|
|
8
8
|
},
|
|
9
9
|
"countries": {
|
|
10
10
|
"uk": {
|
|
@@ -16,103 +16,103 @@
|
|
|
16
16
|
},
|
|
17
17
|
"data_releases": {
|
|
18
18
|
"uk": {
|
|
19
|
-
"build_id": "policyengine-uk-data-1.58.
|
|
20
|
-
"bundle_id": "uk-6.4.
|
|
19
|
+
"build_id": "policyengine-uk-data-1.58.1",
|
|
20
|
+
"bundle_id": "uk-6.4.2",
|
|
21
21
|
"certification": {
|
|
22
|
-
"built_with_model_git_sha": "
|
|
22
|
+
"built_with_model_git_sha": "daad71cd26c107f1b784ff600d1464ba59c70e4a",
|
|
23
23
|
"built_with_model_version": "2.122.2",
|
|
24
24
|
"certified_by": "policyengine.py bundle certification",
|
|
25
|
-
"certified_for_model_version": "2.
|
|
25
|
+
"certified_for_model_version": "2.130.1",
|
|
26
26
|
"compatibility_basis": "legacy_compatible_model_package",
|
|
27
27
|
"data_build_fingerprint": "sha256:c094d7006fdd81df220090284212f16bbffb15624643bc442c4bb3e1b1e5dac8",
|
|
28
|
-
"data_build_id": "policyengine-uk-data-1.58.
|
|
28
|
+
"data_build_id": "policyengine-uk-data-1.58.1"
|
|
29
29
|
},
|
|
30
30
|
"certified_data_artifact": {
|
|
31
|
-
"build_id": "policyengine-uk-data-1.58.
|
|
31
|
+
"build_id": "policyengine-uk-data-1.58.1",
|
|
32
32
|
"data_package": {
|
|
33
33
|
"name": "policyengine-uk-data",
|
|
34
|
-
"version": "1.58.
|
|
34
|
+
"version": "1.58.1"
|
|
35
35
|
},
|
|
36
36
|
"dataset": "enhanced_frs_2024_25",
|
|
37
|
-
"sha256": "
|
|
38
|
-
"uri": "hf://policyengine/policyengine-uk-data-private/enhanced_frs_2024_25.h5@1.58.
|
|
37
|
+
"sha256": "056e80fd8e9151d78f432a25cde863340baee81304c6216a37fb575ce8563784",
|
|
38
|
+
"uri": "hf://policyengine/policyengine-uk-data-private/enhanced_frs_2024_25.h5@1.58.1"
|
|
39
39
|
},
|
|
40
40
|
"country_id": "uk",
|
|
41
41
|
"data_package": {
|
|
42
42
|
"name": "policyengine-uk-data",
|
|
43
|
-
"release_manifest_path": "releases/1.58.
|
|
44
|
-
"release_manifest_revision": "
|
|
43
|
+
"release_manifest_path": "releases/1.58.1/release_manifest.json",
|
|
44
|
+
"release_manifest_revision": "89be6b73fc1e6eeba6dae2f9400676d8510bcd51",
|
|
45
45
|
"repo_id": "policyengine/policyengine-uk-data-private",
|
|
46
46
|
"repo_type": "model",
|
|
47
|
-
"version": "1.58.
|
|
47
|
+
"version": "1.58.1"
|
|
48
48
|
},
|
|
49
49
|
"data_producer": "populace",
|
|
50
50
|
"datasets": {
|
|
51
51
|
"enhanced_frs_2024_25": {
|
|
52
52
|
"path": "enhanced_frs_2024_25.h5",
|
|
53
53
|
"repo_id": "policyengine/policyengine-uk-data-private",
|
|
54
|
-
"revision": "1.58.
|
|
55
|
-
"sha256": "
|
|
54
|
+
"revision": "1.58.1",
|
|
55
|
+
"sha256": "056e80fd8e9151d78f432a25cde863340baee81304c6216a37fb575ce8563784"
|
|
56
56
|
},
|
|
57
57
|
"enhanced_frs_2024_25_tiny": {
|
|
58
58
|
"path": "enhanced_frs_2024_25_tiny.h5",
|
|
59
59
|
"repo_id": "policyengine/policyengine-uk-data-private",
|
|
60
|
-
"revision": "1.58.
|
|
61
|
-
"sha256": "
|
|
60
|
+
"revision": "1.58.1",
|
|
61
|
+
"sha256": "d5d2bde80f1f028fec98391ea31bb5a0cf8449e3867fc3c1bfe23693b9faecf8"
|
|
62
62
|
},
|
|
63
63
|
"frs_2024_25": {
|
|
64
64
|
"path": "frs_2024_25.h5",
|
|
65
65
|
"repo_id": "policyengine/policyengine-uk-data-private",
|
|
66
|
-
"revision": "1.58.
|
|
67
|
-
"sha256": "
|
|
66
|
+
"revision": "1.58.1",
|
|
67
|
+
"sha256": "97af00b2cd2739957f40dcc4de8e0383a6a91d47952c90d4b4921a6007bd2021"
|
|
68
68
|
},
|
|
69
69
|
"frs_2024_25_tiny": {
|
|
70
70
|
"path": "frs_2024_25_tiny.h5",
|
|
71
71
|
"repo_id": "policyengine/policyengine-uk-data-private",
|
|
72
|
-
"revision": "1.58.
|
|
73
|
-
"sha256": "
|
|
72
|
+
"revision": "1.58.1",
|
|
73
|
+
"sha256": "e4d7662cd3f053620224b7ceff17266783f09407002a72633b043b844cec3f5a"
|
|
74
74
|
},
|
|
75
75
|
"local_authority_weights": {
|
|
76
76
|
"path": "local_authority_weights.h5",
|
|
77
77
|
"repo_id": "policyengine/policyengine-uk-data-private",
|
|
78
|
-
"revision": "1.58.
|
|
79
|
-
"sha256": "
|
|
78
|
+
"revision": "1.58.1",
|
|
79
|
+
"sha256": "2b7a2f7f9e7081a394b37cb84e909fd3c01d22e421808141684e7c3be59f2089"
|
|
80
80
|
},
|
|
81
81
|
"local_geography_weights": {
|
|
82
82
|
"path": "local_geography_weights.csv.gz",
|
|
83
83
|
"repo_id": "policyengine/policyengine-uk-data-private",
|
|
84
|
-
"revision": "1.58.
|
|
85
|
-
"sha256": "
|
|
84
|
+
"revision": "1.58.1",
|
|
85
|
+
"sha256": "97c6e3542543baf737a713bb918ebc3d3dbc3f3765be9bf3414375c322d0e3d1"
|
|
86
86
|
},
|
|
87
87
|
"parliamentary_constituency_weights": {
|
|
88
88
|
"path": "parliamentary_constituency_weights.h5",
|
|
89
89
|
"repo_id": "policyengine/policyengine-uk-data-private",
|
|
90
|
-
"revision": "1.58.
|
|
91
|
-
"sha256": "
|
|
90
|
+
"revision": "1.58.1",
|
|
91
|
+
"sha256": "8c696e4d65a22033deb4c4f69a767fdb46e0a4f5580f36b7fb47ee4722629b11"
|
|
92
92
|
}
|
|
93
93
|
},
|
|
94
94
|
"default_dataset": "enhanced_frs_2024_25",
|
|
95
|
-
"default_dataset_uri": "hf://policyengine/policyengine-uk-data-private/enhanced_frs_2024_25.h5@1.58.
|
|
95
|
+
"default_dataset_uri": "hf://policyengine/policyengine-uk-data-private/enhanced_frs_2024_25.h5@1.58.1",
|
|
96
96
|
"model_package": {
|
|
97
97
|
"name": "policyengine-uk",
|
|
98
|
-
"sha256": "
|
|
99
|
-
"version": "2.
|
|
100
|
-
"wheel_url": "https://files.pythonhosted.org/packages/
|
|
98
|
+
"sha256": "f8b1b8b917c9297ff66937811dbebd9a62d3b1796ce894c326e98051cac4c873",
|
|
99
|
+
"version": "2.130.1",
|
|
100
|
+
"wheel_url": "https://files.pythonhosted.org/packages/1a/21/88e8addba0eabd9a7d3a29fa5293e141feb405baf0432209387f9a1f467a/policyengine_uk-2.130.1-py3-none-any.whl"
|
|
101
101
|
},
|
|
102
|
-
"policyengine_version": "6.4.
|
|
102
|
+
"policyengine_version": "6.4.2",
|
|
103
103
|
"region_datasets": {
|
|
104
104
|
"national": {
|
|
105
105
|
"path_template": "enhanced_frs_2024_25.h5"
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
|
-
"release_manifest_uri": "https://huggingface.co/policyengine/policyengine-uk-data-private/resolve/
|
|
108
|
+
"release_manifest_uri": "https://huggingface.co/policyengine/policyengine-uk-data-private/resolve/89be6b73fc1e6eeba6dae2f9400676d8510bcd51/releases/1.58.1/release_manifest.json",
|
|
109
109
|
"schema_version": 1,
|
|
110
|
-
"source_manifest_uri": "hf://model/policyengine/policyengine-uk-data-private@
|
|
111
|
-
"version": "policyengine-uk-data-1.58.
|
|
110
|
+
"source_manifest_uri": "hf://model/policyengine/policyengine-uk-data-private@89be6b73fc1e6eeba6dae2f9400676d8510bcd51/releases/1.58.1/release_manifest.json",
|
|
111
|
+
"version": "policyengine-uk-data-1.58.1"
|
|
112
112
|
},
|
|
113
113
|
"us": {
|
|
114
114
|
"build_id": "populace-us-2024-spm-20260915",
|
|
115
|
-
"bundle_id": "us-6.4.
|
|
115
|
+
"bundle_id": "us-6.4.2",
|
|
116
116
|
"certification": {
|
|
117
117
|
"built_with_model_version": "2.2.1",
|
|
118
118
|
"certified_by": "policyengine.py bundle certification",
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
"version": "2.2.1",
|
|
218
218
|
"wheel_url": "https://files.pythonhosted.org/packages/5e/09/86ac3968d2a18e28fce3ba1186fc21728e9f299b96a806d6f204f1e0aaed/policyengine_us-2.2.1-py3-none-any.whl"
|
|
219
219
|
},
|
|
220
|
-
"policyengine_version": "6.4.
|
|
220
|
+
"policyengine_version": "6.4.2",
|
|
221
221
|
"region_datasets": {
|
|
222
222
|
"congressional_district": {
|
|
223
223
|
"path_template": "populace_us_2024.h5"
|
|
@@ -295,10 +295,10 @@
|
|
|
295
295
|
"packages": {
|
|
296
296
|
"policyengine": {
|
|
297
297
|
"import_name": "policyengine",
|
|
298
|
-
"install_requirement": "policyengine==6.4.
|
|
298
|
+
"install_requirement": "policyengine==6.4.2",
|
|
299
299
|
"name": "policyengine",
|
|
300
300
|
"role": "bundle_carrier",
|
|
301
|
-
"version": "6.4.
|
|
301
|
+
"version": "6.4.2"
|
|
302
302
|
},
|
|
303
303
|
"policyengine-core": {
|
|
304
304
|
"import_name": "policyengine_core",
|
|
@@ -310,10 +310,10 @@
|
|
|
310
310
|
"policyengine-uk": {
|
|
311
311
|
"country": "uk",
|
|
312
312
|
"import_name": "policyengine_uk",
|
|
313
|
-
"install_requirement": "policyengine-uk==2.
|
|
313
|
+
"install_requirement": "policyengine-uk==2.130.1",
|
|
314
314
|
"name": "policyengine-uk",
|
|
315
315
|
"role": "country_model",
|
|
316
|
-
"version": "2.
|
|
316
|
+
"version": "2.130.1"
|
|
317
317
|
},
|
|
318
318
|
"policyengine-us": {
|
|
319
319
|
"country": "us",
|
|
@@ -334,6 +334,6 @@
|
|
|
334
334
|
"wheel_url": "https://files.pythonhosted.org/packages/19/a0/c484f69a0ebf88a9b9fd0ac28176f8df66550f46714f1b0c5ec0b360824e/spm_calculator-1.0.0-py3-none-any.whl"
|
|
335
335
|
}
|
|
336
336
|
},
|
|
337
|
-
"policyengine_version": "6.4.
|
|
337
|
+
"policyengine_version": "6.4.2",
|
|
338
338
|
"schema_version": 2
|
|
339
339
|
}
|
|
@@ -17,19 +17,19 @@
|
|
|
17
17
|
"schema:name": "PolicyEngine",
|
|
18
18
|
"schema:url": "https://policyengine.org"
|
|
19
19
|
},
|
|
20
|
-
"schema:dateCreated": "2026-10-
|
|
21
|
-
"schema:description": "TRACE TRO for certified runtime bundle uk-6.4.
|
|
20
|
+
"schema:dateCreated": "2026-10-14T07:43:49.920588Z",
|
|
21
|
+
"schema:description": "TRACE TRO for certified runtime bundle uk-6.4.2 covering the bundle manifest, the certified dataset artifact, the country model wheel, and the country data release manifest when it is available.",
|
|
22
22
|
"schema:name": "policyengine uk certified bundle TRO",
|
|
23
23
|
"trov:createdWith": {
|
|
24
24
|
"@type": "schema:SoftwareApplication",
|
|
25
25
|
"schema:name": "policyengine",
|
|
26
|
-
"schema:softwareVersion": "6.4.
|
|
26
|
+
"schema:softwareVersion": "6.4.2"
|
|
27
27
|
},
|
|
28
28
|
"trov:hasArrangement": [
|
|
29
29
|
{
|
|
30
30
|
"@id": "arrangement/1",
|
|
31
31
|
"@type": "trov:ArtifactArrangement",
|
|
32
|
-
"rdfs:comment": "Certified arrangement for bundle uk-6.4.
|
|
32
|
+
"rdfs:comment": "Certified arrangement for bundle uk-6.4.2.",
|
|
33
33
|
"trov:hasArtifactLocation": [
|
|
34
34
|
{
|
|
35
35
|
"@id": "arrangement/1/location/bundle_manifest",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"trov:hasArtifact": {
|
|
46
46
|
"@id": "composition/1/artifact/data_release_manifest"
|
|
47
47
|
},
|
|
48
|
-
"trov:hasLocation": "https://huggingface.co/policyengine/policyengine-uk-data-private/resolve/
|
|
48
|
+
"trov:hasLocation": "https://huggingface.co/policyengine/policyengine-uk-data-private/resolve/89be6b73fc1e6eeba6dae2f9400676d8510bcd51/releases/1.58.1/release_manifest.json"
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
"@id": "arrangement/1/location/dataset",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"trov:hasArtifact": {
|
|
54
54
|
"@id": "composition/1/artifact/dataset"
|
|
55
55
|
},
|
|
56
|
-
"trov:hasLocation": "https://huggingface.co/policyengine/policyengine-uk-data-private/resolve/1.58.
|
|
56
|
+
"trov:hasLocation": "https://huggingface.co/policyengine/policyengine-uk-data-private/resolve/1.58.1/enhanced_frs_2024_25.h5"
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
"@id": "arrangement/1/location/model_wheel",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"trov:hasArtifact": {
|
|
62
62
|
"@id": "composition/1/artifact/model_wheel"
|
|
63
63
|
},
|
|
64
|
-
"trov:hasLocation": "https://files.pythonhosted.org/packages/
|
|
64
|
+
"trov:hasLocation": "https://files.pythonhosted.org/packages/1a/21/88e8addba0eabd9a7d3a29fa5293e141feb405baf0432209387f9a1f467a/policyengine_uk-2.130.1-py3-none-any.whl"
|
|
65
65
|
}
|
|
66
66
|
]
|
|
67
67
|
}
|
|
@@ -75,52 +75,52 @@
|
|
|
75
75
|
"@type": "trov:ResearchArtifact",
|
|
76
76
|
"schema:name": "policyengine.py bundle manifest for uk",
|
|
77
77
|
"trov:mimeType": "application/json",
|
|
78
|
-
"trov:sha256": "
|
|
78
|
+
"trov:sha256": "ca23fac0cbac5b2dfd0a7a4a9b9e5a04eda2c239e934b54769f2f286d88f09c1"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
81
|
"@id": "composition/1/artifact/data_release_manifest",
|
|
82
82
|
"@type": "trov:ResearchArtifact",
|
|
83
|
-
"schema:name": "policyengine-uk-data release manifest 1.58.
|
|
83
|
+
"schema:name": "policyengine-uk-data release manifest 1.58.1",
|
|
84
84
|
"trov:mimeType": "application/json",
|
|
85
|
-
"trov:sha256": "
|
|
85
|
+
"trov:sha256": "545797bf231cd3681e64b677065d921304e9a32f1e46e757a940a412b4136c17"
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
88
|
"@id": "composition/1/artifact/dataset",
|
|
89
89
|
"@type": "trov:ResearchArtifact",
|
|
90
90
|
"schema:name": "enhanced_frs_2024_25",
|
|
91
91
|
"trov:mimeType": "application/x-hdf5",
|
|
92
|
-
"trov:sha256": "
|
|
92
|
+
"trov:sha256": "056e80fd8e9151d78f432a25cde863340baee81304c6216a37fb575ce8563784"
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"@id": "composition/1/artifact/model_wheel",
|
|
96
96
|
"@type": "trov:ResearchArtifact",
|
|
97
|
-
"schema:name": "policyengine-uk==2.
|
|
97
|
+
"schema:name": "policyengine-uk==2.130.1 wheel",
|
|
98
98
|
"trov:mimeType": "application/zip",
|
|
99
|
-
"trov:sha256": "
|
|
99
|
+
"trov:sha256": "f8b1b8b917c9297ff66937811dbebd9a62d3b1796ce894c326e98051cac4c873"
|
|
100
100
|
}
|
|
101
101
|
],
|
|
102
102
|
"trov:hasFingerprint": {
|
|
103
103
|
"@id": "composition/1/fingerprint",
|
|
104
104
|
"@type": "trov:CompositionFingerprint",
|
|
105
|
-
"trov:sha256": "
|
|
105
|
+
"trov:sha256": "315f4c63f5e8a0a1c2d5bb6348117acdb592c35105e6c41039ad073755f93b04"
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
108
|
"trov:hasPerformance": {
|
|
109
109
|
"@id": "trp/1",
|
|
110
110
|
"@type": "trov:TransparentResearchPerformance",
|
|
111
|
-
"pe:builtWithModelGitSha": "
|
|
111
|
+
"pe:builtWithModelGitSha": "daad71cd26c107f1b784ff600d1464ba59c70e4a",
|
|
112
112
|
"pe:builtWithModelVersion": "2.122.2",
|
|
113
113
|
"pe:certifiedBy": "policyengine.py bundle certification",
|
|
114
|
-
"pe:certifiedForModelVersion": "2.
|
|
114
|
+
"pe:certifiedForModelVersion": "2.130.1",
|
|
115
115
|
"pe:compatibilityBasis": "legacy_compatible_model_package",
|
|
116
116
|
"pe:dataBuildFingerprint": "sha256:c094d7006fdd81df220090284212f16bbffb15624643bc442c4bb3e1b1e5dac8",
|
|
117
|
-
"pe:dataBuildId": "policyengine-uk-data-1.58.
|
|
117
|
+
"pe:dataBuildId": "policyengine-uk-data-1.58.1",
|
|
118
118
|
"pe:emittedIn": "repository-bundle",
|
|
119
|
-
"rdfs:comment": "Certification of build policyengine-uk-data-1.58.
|
|
119
|
+
"rdfs:comment": "Certification of build policyengine-uk-data-1.58.1 for policyengine-uk 2.130.1.",
|
|
120
120
|
"trov:accessedArrangement": {
|
|
121
121
|
"@id": "arrangement/1"
|
|
122
122
|
},
|
|
123
|
-
"trov:startedAtTime": "2026-10-
|
|
123
|
+
"trov:startedAtTime": "2026-10-14T07:43:49.920588Z",
|
|
124
124
|
"trov:wasConductedBy": {
|
|
125
125
|
"@id": "trs"
|
|
126
126
|
}
|
|
@@ -17,18 +17,18 @@
|
|
|
17
17
|
"schema:name": "PolicyEngine",
|
|
18
18
|
"schema:url": "https://policyengine.org"
|
|
19
19
|
},
|
|
20
|
-
"schema:description": "TRACE TRO for certified runtime bundle us-6.4.
|
|
20
|
+
"schema:description": "TRACE TRO for certified runtime bundle us-6.4.2 covering the bundle manifest, the certified dataset artifact, the country model wheel, and the country data release manifest when it is available.",
|
|
21
21
|
"schema:name": "policyengine us certified bundle TRO",
|
|
22
22
|
"trov:createdWith": {
|
|
23
23
|
"@type": "schema:SoftwareApplication",
|
|
24
24
|
"schema:name": "policyengine",
|
|
25
|
-
"schema:softwareVersion": "6.4.
|
|
25
|
+
"schema:softwareVersion": "6.4.2"
|
|
26
26
|
},
|
|
27
27
|
"trov:hasArrangement": [
|
|
28
28
|
{
|
|
29
29
|
"@id": "arrangement/1",
|
|
30
30
|
"@type": "trov:ArtifactArrangement",
|
|
31
|
-
"rdfs:comment": "Certified arrangement for bundle us-6.4.
|
|
31
|
+
"rdfs:comment": "Certified arrangement for bundle us-6.4.2.",
|
|
32
32
|
"trov:hasArtifactLocation": [
|
|
33
33
|
{
|
|
34
34
|
"@id": "arrangement/1/location/bundle_manifest",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"@type": "trov:ResearchArtifact",
|
|
75
75
|
"schema:name": "policyengine.py bundle manifest for us",
|
|
76
76
|
"trov:mimeType": "application/json",
|
|
77
|
-
"trov:sha256": "
|
|
77
|
+
"trov:sha256": "ca23fac0cbac5b2dfd0a7a4a9b9e5a04eda2c239e934b54769f2f286d88f09c1"
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
80
|
"@id": "composition/1/artifact/data_release_manifest",
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"trov:hasFingerprint": {
|
|
102
102
|
"@id": "composition/1/fingerprint",
|
|
103
103
|
"@type": "trov:CompositionFingerprint",
|
|
104
|
-
"trov:sha256": "
|
|
104
|
+
"trov:sha256": "a21df74d73d581321a7d2896ab65efd85983aa58061b8cc2d85231c310b8f28f"
|
|
105
105
|
}
|
|
106
106
|
},
|
|
107
107
|
"trov:hasPerformance": {
|
|
@@ -1539,8 +1539,11 @@ def evaluate_case(
|
|
|
1539
1539
|
)
|
|
1540
1540
|
]
|
|
1541
1541
|
rows = []
|
|
1542
|
-
for check in case.checks:
|
|
1542
|
+
for assertion_index, check in enumerate(case.checks):
|
|
1543
1543
|
label = f"{check.target}:{check.name}:{check.year}"
|
|
1544
|
+
# Several assertions can read the same value under different oracles.
|
|
1545
|
+
# The index identifies each declared assertion even when labels collide.
|
|
1546
|
+
assertion_id = f"{label}:{assertion_index}"
|
|
1544
1547
|
if check.target == "parameter" and route not in COUNTRY_ROUTES:
|
|
1545
1548
|
rows.append(
|
|
1546
1549
|
_row(
|
|
@@ -1548,6 +1551,7 @@ def evaluate_case(
|
|
|
1548
1551
|
route,
|
|
1549
1552
|
digest,
|
|
1550
1553
|
check=label,
|
|
1554
|
+
assertion_id=assertion_id,
|
|
1551
1555
|
status=UNSUPPORTED,
|
|
1552
1556
|
reason="this route exposes outputs, not parameter values",
|
|
1553
1557
|
)
|
|
@@ -1560,6 +1564,7 @@ def evaluate_case(
|
|
|
1560
1564
|
route,
|
|
1561
1565
|
digest,
|
|
1562
1566
|
check=label,
|
|
1567
|
+
assertion_id=assertion_id,
|
|
1563
1568
|
status=UNSUPPORTED,
|
|
1564
1569
|
reason="the policy route's output dataset holds the reformed run only",
|
|
1565
1570
|
)
|
|
@@ -1592,6 +1597,7 @@ def evaluate_case(
|
|
|
1592
1597
|
route,
|
|
1593
1598
|
digest,
|
|
1594
1599
|
check=label,
|
|
1600
|
+
assertion_id=assertion_id,
|
|
1595
1601
|
status=PENDING if check.pending is not None else ERROR,
|
|
1596
1602
|
decision_id=check.pending,
|
|
1597
1603
|
detail=repr(error)[:500],
|
|
@@ -1608,6 +1614,7 @@ def evaluate_case(
|
|
|
1608
1614
|
route,
|
|
1609
1615
|
digest,
|
|
1610
1616
|
check=label,
|
|
1617
|
+
assertion_id=assertion_id,
|
|
1611
1618
|
status=status,
|
|
1612
1619
|
expected=float(expected),
|
|
1613
1620
|
actual=actual,
|