policyengine 6.1.2__tar.gz → 6.2.0__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.1.2 → policyengine-6.2.0}/CHANGELOG.md +11 -0
- {policyengine-6.1.2/src/policyengine.egg-info → policyengine-6.2.0}/PKG-INFO +4 -4
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/outputs.md +12 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/pyproject.toml +4 -4
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/data/bundle/manifest.json +19 -19
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/data/bundle/uk.trace.tro.jsonld +12 -12
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/data/bundle/us.trace.tro.jsonld +5 -5
- {policyengine-6.1.2 → policyengine-6.2.0/src/policyengine.egg-info}/PKG-INFO +4 -4
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine.egg-info/requires.txt +3 -3
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/household_calculator_snapshots/uk_model_surface.json +2 -2
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_models.py +1 -1
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_release_manifests.py +2 -2
- {policyengine-6.1.2 → policyengine-6.2.0}/uv.lock +7 -7
- {policyengine-6.1.2 → policyengine-6.2.0}/.claude/policyengine-guide.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.claude/quick-reference.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/CONTRIBUTING.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/bump_version.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/capture-version.sh +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/changelog_template.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/check-changelog.sh +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/copilot-instructions.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/dispatch-policyengine-release.sh +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/fetch_version.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/get-changelog-diff.sh +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/has-functional-changes.sh +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/is-version-number-acceptable.sh +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/publish-git-tag.sh +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/wait-for-pypi.sh +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/workflows/draft-pdf.yml +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/workflows/pr_code_changes.yaml +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/workflows/pr_docs_changes.yaml +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.github/workflows/push.yaml +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.gitignore +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/.python-version +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/AGENTS.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/CITATION.cff +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/CLAUDE.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/CODE_OF_CONDUCT.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/CONTRIBUTING.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/LICENSE +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/Makefile +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/README.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/architecture.png +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/architecture.svg +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/changelog.d/.gitkeep +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/.gitignore +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/_generator/README.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/_generator/build_reference.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/_quarto.yml +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/bundles.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/countries.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/data-publishing-design.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/decile-impact-spec.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/dev.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/engineering/runbooks/build-m-us-populace-certification.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/engineering/runbooks/canonical-spm-development.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/engineering/skills/README.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/engineering/skills/data-certification.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/engineering/skills/github-prs.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/engineering/skills/repository-guidance.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/examples.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/getting-started.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/households.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/impact-analysis.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/index.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/methodology/index.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/methodology/model-architecture.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/methodology/us-health-costs.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/microsim.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/programs/index.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/programs/us-chip.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/reference/index.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/reforms.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/regions.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/release-bundles.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/run-records.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/trace-case-study.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/docs/visualisation.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/examples/belgium_axiom_pilot.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/examples/employment_income_variation_uk.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/examples/employment_income_variation_us.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/examples/household_impact_example.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/examples/income_bands_uk.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/examples/income_distribution_us.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/examples/paper_repro_uk.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/examples/policy_change_uk.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/examples/speedtest_us_simulation.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/examples/us_budgetary_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/paper-preview.html +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/paper.bib +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/paper.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/scripts/bundle.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/scripts/certify_data_release.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/scripts/check_data_staleness.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/scripts/check_native_spm_loading.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/scripts/check_release_credentials.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/scripts/export_bundle_release_assets.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/scripts/generate_bundle_artifacts.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/scripts/generate_trace_tros.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/scripts/prepare_package_bundle_update.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/scripts/release_lock.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/scripts/spm_bundle.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/setup.cfg +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/bundle.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/cli.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/cache.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/dataset.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/dynamic.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/output.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/parameter.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/parameter_node.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/parameter_value.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/policy.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/region.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/run_record.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/scoping_strategy.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/simulation.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/spm.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/tax_benefit_model.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/tax_benefit_model_version.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/core/variable.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/countries/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/countries/uk/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/countries/uk/regions.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/countries/us/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/countries/us/data/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/countries/us/data/districts.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/countries/us/data/places.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/countries/us/data/states.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/countries/us/regions.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/data/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/data/schemas/trace_tro.schema.json +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/data/uk_geography_assets.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/derivations/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/derivations/narrate.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/derivations/trace.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/graph/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/graph/extractor.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/graph/graph.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/aggregate.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/change_aggregate.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/cliff_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/congressional_district_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/constituency_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/decile_analysis.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/decile_grouping.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/decile_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/extra_variables.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/inequality.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/intra_decile_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/labor_supply_response.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/local_authority_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/poverty.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/program_statistics.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/uk_geography_assets.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/outputs/uk_geography_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/provenance/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/provenance/bundle_validation.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/provenance/certification.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/provenance/dataset_materialization.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/provenance/manifest.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/provenance/pyproject_pins.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/provenance/spm_configuration.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/provenance/trace.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/provenance/verify.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/provenance/zenodo.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/results/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/results/schema.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/results/trace_tro.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/results/tracking.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/be/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/be/datasets.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/be/model.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/common/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/common/axes.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/common/extra_variables.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/common/household.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/common/model_version.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/common/reform.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/common/result.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/uk/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/uk/analysis.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/uk/datasets.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/uk/household.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/uk/model.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/us/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/us/analysis.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/us/datasets.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/us/household.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/us/legacy_inputs.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/us/model.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/tax_benefit_models/us/spm.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/utils/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/utils/dates.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/utils/design.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/utils/entity_utils.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/utils/errors.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/utils/hashing.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/utils/household_validation.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/utils/parameter_labels.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/utils/parametric_reforms.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine/utils/plotting.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine.egg-info/SOURCES.txt +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine.egg-info/dependency_links.txt +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine.egg-info/entry_points.txt +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/src/policyengine.egg-info/top_level.txt +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/conftest.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/filtering_fixtures.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/household_calculator_snapshots/uk_couple_two_kids.json +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/household_calculator_snapshots/uk_single_adult_employment_income.json +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/household_calculator_snapshots/uk_single_adult_no_income.json +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/household_calculator_snapshots/uk_single_parent_one_child.json +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/household_calculator_snapshots/us_married_two_kids_high_income.json +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/household_calculator_snapshots/us_model_surface.json +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/household_calculator_snapshots/us_single_adult_employment_income.json +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/household_calculator_snapshots/us_single_adult_no_income.json +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/household_calculator_snapshots/us_single_parent_one_child.json +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/parameter_labels_fixtures.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/parametric_reforms_fixtures.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/poverty_by_demographics_fixtures.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/region_fixtures.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/release_tros/README.md +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/release_tros/country-models.lock.toml +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/release_tros/manifest.json +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/release_tros/us-release_manifest.json +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/release_tros/us.trace.tro.jsonld +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/spm_development.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/us_reform_fixtures.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/fixtures/variable_label_fixtures.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_aggregate.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_be_axiom_pilot.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_budgetary_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_bump_version.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_bundle.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_bundle_metadata.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_cache.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_certify_data_release.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_change_aggregate.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_cliff_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_cliff_impact_analysis.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_congressional_district_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_constituency_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_dataset_materialization.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_dataset_persistence.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_dataset_runtime.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_dataset_source.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_decile_grouping.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_derivations.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_dict_reforms_on_simulation.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_entity_mapping.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_entity_utils.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_entity_utils_characterization.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_errors.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_extra_variables.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_filtering.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_generate_trace_tros.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_graph/__init__.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_graph/conftest.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_graph/test_extractor.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_household_calculator_snapshot.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_household_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_inequality.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_intra_decile_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_labor_supply_response.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_local_authority_impact.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_manifest_version_mismatch.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_pandas3_compatibility.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_parameter_labels.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_parameter_nodes.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_parameter_values.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_parametric_reforms.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_poverty.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_poverty_by_demographics.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_poverty_run.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_preservation_mirror.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_program_statistics.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_pyproject_pins.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_region.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_region_group_strategy.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_release_credentials.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_release_lock.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_release_tro_generation.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_results.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_run_record.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_scoping_strategy.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_small_follow_ups.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_spm_bundle_bootstrap.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_spm_bundle_tooling.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_spm_decile.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_spm_development_authentication.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_spm_household.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_spm_model.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_spm_selection.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_spm_selection_schema.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_trace_tro.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_trace_tro_verify.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_uk_analysis.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_uk_geography_assets.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_uk_program_statistics.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_uk_regions.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_us_legacy_inputs.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_us_legacy_inputs_integration.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_us_long_term_datasets.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_us_microsim_structural_reforms.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_us_native_alignment.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_us_native_hdf_weights.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_us_program_statistics.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_us_reform_application.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_us_regions.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_variable_labels.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_variable_metadata.py +0 -0
- {policyengine-6.1.2 → policyengine-6.2.0}/tests/test_zenodo_mirror.py +0 -0
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
## [6.2.0] - 2026-09-29
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
|
|
5
|
+
- Documented the default headline poverty measure (UK: absolute poverty before housing costs) and the reasons for it.
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Bump policyengine-uk to 2.102.3, which rebases the absolute poverty line to HBAI's FYE 2025 reference year (431.69 BHC / 373.89 AHC a week at FYE 2025, as DWP has reported it since March 2026), and certify the UK data release `policyengine-uk-data-1.56.16` (enhanced_frs_2024_25) for it on the publisher's compatibility claim. UK absolute poverty rates rise: in 2026-27 on the certified enhanced FRS, by about 4 points overall and about 7 points for children after housing costs. The bump also brings every policyengine-uk change since 2.90.2, including relative poverty measured on the median over individuals (policyengine-uk#1865).
|
|
10
|
+
|
|
11
|
+
|
|
1
12
|
## [6.1.2] - 2026-09-27
|
|
2
13
|
|
|
3
14
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: policyengine
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.2.0
|
|
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.32.5; 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.102.3; 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.32.5; extra == "uk"
|
|
694
|
-
Requires-Dist: policyengine-uk==2.
|
|
694
|
+
Requires-Dist: policyengine-uk==2.102.3; extra == "uk"
|
|
695
695
|
Provides-Extra: us
|
|
696
696
|
Requires-Dist: policyengine-core==3.32.5; 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.32.5; 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.102.3; extra == "dev"
|
|
717
717
|
Requires-Dist: spm-calculator==1.0.0; extra == "dev"
|
|
718
718
|
Dynamic: license-file
|
|
719
719
|
|
|
@@ -179,6 +179,18 @@ rates.dataframe
|
|
|
179
179
|
|
|
180
180
|
Call it once per simulation for a baseline-vs-reform comparison. Age / gender / race breakdowns: `calculate_us_poverty_by_age`, `_by_gender`, `_by_race`. UK counterparts: `calculate_uk_poverty_rates`, `_by_age`, `_by_gender`.
|
|
181
181
|
|
|
182
|
+
### Which measure to headline
|
|
183
|
+
|
|
184
|
+
PolicyEngine headlines **absolute poverty before housing costs** in the UK: `absolute_bhc` in `calculate_uk_poverty_rates`, from the `in_poverty_bhc` variable. That function also returns `absolute_ahc`, `relative_bhc` and `relative_ahc`. In the US, `calculate_us_poverty_rates` returns the Supplemental Poverty Measure (`spm`) and deep SPM poverty (`spm_deep`).
|
|
185
|
+
|
|
186
|
+
The reasons:
|
|
187
|
+
|
|
188
|
+
- **Relative poverty measures inequality, not poverty.** policyengine-uk draws the relative line at 60% of each simulation's own median income. A reform that raises the median raises the line with it, so relative poverty can rise when every household is better off.
|
|
189
|
+
- Example: raising the personal allowance to £15,000 in 2026-27 lowers absolute child poverty and raises relative child poverty.
|
|
190
|
+
- **After-housing-costs measures subtract housing spending,** and much of that spending is a choice: a flat or a mansion. International poverty statistics are computed on income before housing costs.
|
|
191
|
+
|
|
192
|
+
The absolute line is HBAI's: 60% of median income in a fixed reference year, held constant in real terms (the `household.poverty.absolute_poverty_threshold_bhc` and `_ahc` parameters). Since the March 2026 HBAI release, DWP's reference year is FYE 2025 for FYE 2022 onward: 60% of the FYE 2025 medians of £719.48 (BHC) and £623.14 (AHC), so £431.69 and £373.89 a week (HBAI table 2.4ts). Earlier years keep the FYE 2011 reference, and DWP plans to extend FYE 2025 back to FYE 2019 in its March 2027 release. policyengine-uk follows the same split from version 2.102.3: FYE 2022 to FYE 2024 use HBAI's own annual CPI-variant deflators, and later years are uprated by the OBR's CPI forecast. Earlier policyengine-uk versions use the FYE 2011 line throughout, so their absolute rates are lower than DWP's.
|
|
193
|
+
|
|
182
194
|
## Inequality
|
|
183
195
|
|
|
184
196
|
Gini, top-10 share, top-1 share, bottom-50 share — for one simulation.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "policyengine"
|
|
7
|
-
version = "6.
|
|
7
|
+
version = "6.2.0"
|
|
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.32.5",
|
|
44
44
|
"policyengine-us==2.2.1",
|
|
45
|
-
"policyengine-uk==2.
|
|
45
|
+
"policyengine-uk==2.102.3",
|
|
46
46
|
"spm-calculator==1.0.0",
|
|
47
47
|
]
|
|
48
48
|
uk = [
|
|
49
49
|
"policyengine-core==3.32.5",
|
|
50
|
-
"policyengine-uk==2.
|
|
50
|
+
"policyengine-uk==2.102.3",
|
|
51
51
|
]
|
|
52
52
|
us = [
|
|
53
53
|
"policyengine-core==3.32.5",
|
|
@@ -71,7 +71,7 @@ dev = [
|
|
|
71
71
|
"hypothesis>=6.100.0",
|
|
72
72
|
"policyengine-core==3.32.5",
|
|
73
73
|
"policyengine-us==2.2.1",
|
|
74
|
-
"policyengine-uk==2.
|
|
74
|
+
"policyengine-uk==2.102.3",
|
|
75
75
|
"spm-calculator==1.0.0",
|
|
76
76
|
]
|
|
77
77
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"bundle_version": "6.
|
|
2
|
+
"bundle_version": "6.2.0",
|
|
3
3
|
"citation": {
|
|
4
4
|
"publisher": "PolicyEngine",
|
|
5
|
-
"title": "PolicyEngine bundle 6.
|
|
5
|
+
"title": "PolicyEngine bundle 6.2.0",
|
|
6
6
|
"type": "software-bundle",
|
|
7
|
-
"version": "6.
|
|
7
|
+
"version": "6.2.0"
|
|
8
8
|
},
|
|
9
9
|
"countries": {
|
|
10
10
|
"uk": {
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
"data_releases": {
|
|
18
18
|
"uk": {
|
|
19
19
|
"build_id": "policyengine-uk-data-1.56.16",
|
|
20
|
-
"bundle_id": "uk-6.
|
|
20
|
+
"bundle_id": "uk-6.2.0",
|
|
21
21
|
"certification": {
|
|
22
22
|
"built_with_model_git_sha": "12a1e028afeef08d8b2d74ee03fd9de3a78b2dd3",
|
|
23
23
|
"built_with_model_version": "2.89.2",
|
|
24
24
|
"certified_by": "policyengine.py bundle certification",
|
|
25
|
-
"certified_for_model_version": "2.
|
|
25
|
+
"certified_for_model_version": "2.102.3",
|
|
26
26
|
"compatibility_basis": "legacy_compatible_model_package",
|
|
27
27
|
"data_build_fingerprint": "sha256:6bfff835b504094c05342d2b4d770d2d94c8c1adcb15c4468931f53b21a89ea9",
|
|
28
28
|
"data_build_id": "policyengine-uk-data-1.56.16"
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"data_package": {
|
|
42
42
|
"name": "policyengine-uk-data",
|
|
43
43
|
"release_manifest_path": "releases/1.56.16/release_manifest.json",
|
|
44
|
-
"release_manifest_revision": "
|
|
44
|
+
"release_manifest_revision": "78788372fec47fc8df835bd32307ef61eaed83c2",
|
|
45
45
|
"repo_id": "policyengine/policyengine-uk-data-private",
|
|
46
46
|
"repo_type": "model",
|
|
47
47
|
"version": "1.56.16"
|
|
@@ -95,24 +95,24 @@
|
|
|
95
95
|
"default_dataset_uri": "hf://policyengine/policyengine-uk-data-private/enhanced_frs_2024_25.h5@1.56.16",
|
|
96
96
|
"model_package": {
|
|
97
97
|
"name": "policyengine-uk",
|
|
98
|
-
"sha256": "
|
|
99
|
-
"version": "2.
|
|
100
|
-
"wheel_url": "https://files.pythonhosted.org/packages/
|
|
98
|
+
"sha256": "f02a76712a3edf9983c713c1db42e9653a6e974e4ce335dd4b5676bbc2bcd636",
|
|
99
|
+
"version": "2.102.3",
|
|
100
|
+
"wheel_url": "https://files.pythonhosted.org/packages/37/e6/e8d9069d498f1510a1380f24a78e957902d01f00b10248c146d6710d5b37/policyengine_uk-2.102.3-py3-none-any.whl"
|
|
101
101
|
},
|
|
102
|
-
"policyengine_version": "6.
|
|
102
|
+
"policyengine_version": "6.2.0",
|
|
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/78788372fec47fc8df835bd32307ef61eaed83c2/releases/1.56.16/release_manifest.json",
|
|
109
109
|
"schema_version": 1,
|
|
110
|
-
"source_manifest_uri": "hf://model/policyengine/policyengine-uk-data-private@
|
|
110
|
+
"source_manifest_uri": "hf://model/policyengine/policyengine-uk-data-private@78788372fec47fc8df835bd32307ef61eaed83c2/releases/1.56.16/release_manifest.json",
|
|
111
111
|
"version": "policyengine-uk-data-1.56.16"
|
|
112
112
|
},
|
|
113
113
|
"us": {
|
|
114
114
|
"build_id": "populace-us-2024-spm-20260915",
|
|
115
|
-
"bundle_id": "us-6.
|
|
115
|
+
"bundle_id": "us-6.2.0",
|
|
116
116
|
"certification": {
|
|
117
117
|
"built_with_model_version": "2.2.1",
|
|
118
118
|
"certified_by": "policyengine.py bundle certification",
|
|
@@ -210,7 +210,7 @@
|
|
|
210
210
|
"version": "2.2.1",
|
|
211
211
|
"wheel_url": "https://files.pythonhosted.org/packages/5e/09/86ac3968d2a18e28fce3ba1186fc21728e9f299b96a806d6f204f1e0aaed/policyengine_us-2.2.1-py3-none-any.whl"
|
|
212
212
|
},
|
|
213
|
-
"policyengine_version": "6.
|
|
213
|
+
"policyengine_version": "6.2.0",
|
|
214
214
|
"region_datasets": {
|
|
215
215
|
"national": {
|
|
216
216
|
"path_template": "populace_us_2024.h5"
|
|
@@ -290,10 +290,10 @@
|
|
|
290
290
|
"packages": {
|
|
291
291
|
"policyengine": {
|
|
292
292
|
"import_name": "policyengine",
|
|
293
|
-
"install_requirement": "policyengine==6.
|
|
293
|
+
"install_requirement": "policyengine==6.2.0",
|
|
294
294
|
"name": "policyengine",
|
|
295
295
|
"role": "bundle_carrier",
|
|
296
|
-
"version": "6.
|
|
296
|
+
"version": "6.2.0"
|
|
297
297
|
},
|
|
298
298
|
"policyengine-core": {
|
|
299
299
|
"import_name": "policyengine_core",
|
|
@@ -305,10 +305,10 @@
|
|
|
305
305
|
"policyengine-uk": {
|
|
306
306
|
"country": "uk",
|
|
307
307
|
"import_name": "policyengine_uk",
|
|
308
|
-
"install_requirement": "policyengine-uk==2.
|
|
308
|
+
"install_requirement": "policyengine-uk==2.102.3",
|
|
309
309
|
"name": "policyengine-uk",
|
|
310
310
|
"role": "country_model",
|
|
311
|
-
"version": "2.
|
|
311
|
+
"version": "2.102.3"
|
|
312
312
|
},
|
|
313
313
|
"policyengine-us": {
|
|
314
314
|
"country": "us",
|
|
@@ -329,6 +329,6 @@
|
|
|
329
329
|
"wheel_url": "https://files.pythonhosted.org/packages/19/a0/c484f69a0ebf88a9b9fd0ac28176f8df66550f46714f1b0c5ec0b360824e/spm_calculator-1.0.0-py3-none-any.whl"
|
|
330
330
|
}
|
|
331
331
|
},
|
|
332
|
-
"policyengine_version": "6.
|
|
332
|
+
"policyengine_version": "6.2.0",
|
|
333
333
|
"schema_version": 2
|
|
334
334
|
}
|
|
@@ -18,18 +18,18 @@
|
|
|
18
18
|
"schema:url": "https://policyengine.org"
|
|
19
19
|
},
|
|
20
20
|
"schema:dateCreated": "2026-08-18T14:20:32.100961Z",
|
|
21
|
-
"schema:description": "TRACE TRO for certified runtime bundle uk-6.
|
|
21
|
+
"schema:description": "TRACE TRO for certified runtime bundle uk-6.2.0 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.
|
|
26
|
+
"schema:softwareVersion": "6.2.0"
|
|
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.
|
|
32
|
+
"rdfs:comment": "Certified arrangement for bundle uk-6.2.0.",
|
|
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/78788372fec47fc8df835bd32307ef61eaed83c2/releases/1.56.16/release_manifest.json"
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
"@id": "arrangement/1/location/dataset",
|
|
@@ -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/37/e6/e8d9069d498f1510a1380f24a78e957902d01f00b10248c146d6710d5b37/policyengine_uk-2.102.3-py3-none-any.whl"
|
|
65
65
|
}
|
|
66
66
|
]
|
|
67
67
|
}
|
|
@@ -75,14 +75,14 @@
|
|
|
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": "8a942b26fec7ed828ba533c6c456d95c3292c52a0370e1713a4e2d6cf186ae29"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
81
|
"@id": "composition/1/artifact/data_release_manifest",
|
|
82
82
|
"@type": "trov:ResearchArtifact",
|
|
83
83
|
"schema:name": "policyengine-uk-data release manifest 1.56.16",
|
|
84
84
|
"trov:mimeType": "application/json",
|
|
85
|
-
"trov:sha256": "
|
|
85
|
+
"trov:sha256": "cb61e3d897fbfa0cc079edc140aebc8947b1a685f581a420de91170ce2686155"
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
88
|
"@id": "composition/1/artifact/dataset",
|
|
@@ -94,15 +94,15 @@
|
|
|
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.102.3 wheel",
|
|
98
98
|
"trov:mimeType": "application/zip",
|
|
99
|
-
"trov:sha256": "
|
|
99
|
+
"trov:sha256": "f02a76712a3edf9983c713c1db42e9653a6e974e4ce335dd4b5676bbc2bcd636"
|
|
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": "aa8a6265cb0660dcbe3d1d8560cfea70011927ff2f29e8f91d4dad4efc9b055a"
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
108
|
"trov:hasPerformance": {
|
|
@@ -111,12 +111,12 @@
|
|
|
111
111
|
"pe:builtWithModelGitSha": "12a1e028afeef08d8b2d74ee03fd9de3a78b2dd3",
|
|
112
112
|
"pe:builtWithModelVersion": "2.89.2",
|
|
113
113
|
"pe:certifiedBy": "policyengine.py bundle certification",
|
|
114
|
-
"pe:certifiedForModelVersion": "2.
|
|
114
|
+
"pe:certifiedForModelVersion": "2.102.3",
|
|
115
115
|
"pe:compatibilityBasis": "legacy_compatible_model_package",
|
|
116
116
|
"pe:dataBuildFingerprint": "sha256:6bfff835b504094c05342d2b4d770d2d94c8c1adcb15c4468931f53b21a89ea9",
|
|
117
117
|
"pe:dataBuildId": "policyengine-uk-data-1.56.16",
|
|
118
118
|
"pe:emittedIn": "repository-bundle",
|
|
119
|
-
"rdfs:comment": "Certification of build policyengine-uk-data-1.56.16 for policyengine-uk 2.
|
|
119
|
+
"rdfs:comment": "Certification of build policyengine-uk-data-1.56.16 for policyengine-uk 2.102.3.",
|
|
120
120
|
"trov:accessedArrangement": {
|
|
121
121
|
"@id": "arrangement/1"
|
|
122
122
|
},
|
|
@@ -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.
|
|
20
|
+
"schema:description": "TRACE TRO for certified runtime bundle us-6.2.0 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.
|
|
25
|
+
"schema:softwareVersion": "6.2.0"
|
|
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.
|
|
31
|
+
"rdfs:comment": "Certified arrangement for bundle us-6.2.0.",
|
|
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": "8a942b26fec7ed828ba533c6c456d95c3292c52a0370e1713a4e2d6cf186ae29"
|
|
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": "acb3c462fafa434aa3f54fd5cfed5e38647679da1889582c3c5edfded5e13dbb"
|
|
105
105
|
}
|
|
106
106
|
},
|
|
107
107
|
"trov:hasPerformance": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: policyengine
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.2.0
|
|
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.32.5; 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.102.3; 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.32.5; extra == "uk"
|
|
694
|
-
Requires-Dist: policyengine-uk==2.
|
|
694
|
+
Requires-Dist: policyengine-uk==2.102.3; extra == "uk"
|
|
695
695
|
Provides-Extra: us
|
|
696
696
|
Requires-Dist: policyengine-core==3.32.5; 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.32.5; 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.102.3; extra == "dev"
|
|
717
717
|
Requires-Dist: spm-calculator==1.0.0; extra == "dev"
|
|
718
718
|
Dynamic: license-file
|
|
719
719
|
|
|
@@ -24,7 +24,7 @@ pytest-cov>=5.0.0
|
|
|
24
24
|
hypothesis>=6.100.0
|
|
25
25
|
policyengine-core==3.32.5
|
|
26
26
|
policyengine-us==2.2.1
|
|
27
|
-
policyengine-uk==2.
|
|
27
|
+
policyengine-uk==2.102.3
|
|
28
28
|
spm-calculator==1.0.0
|
|
29
29
|
|
|
30
30
|
[graph]
|
|
@@ -33,7 +33,7 @@ networkx>=3.0
|
|
|
33
33
|
[models]
|
|
34
34
|
policyengine-core==3.32.5
|
|
35
35
|
policyengine-us==2.2.1
|
|
36
|
-
policyengine-uk==2.
|
|
36
|
+
policyengine-uk==2.102.3
|
|
37
37
|
spm-calculator==1.0.0
|
|
38
38
|
|
|
39
39
|
[plotting]
|
|
@@ -41,7 +41,7 @@ plotly>=5.0.0
|
|
|
41
41
|
|
|
42
42
|
[uk]
|
|
43
43
|
policyengine-core==3.32.5
|
|
44
|
-
policyengine-uk==2.
|
|
44
|
+
policyengine-uk==2.102.3
|
|
45
45
|
|
|
46
46
|
[us]
|
|
47
47
|
policyengine-core==3.32.5
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"has_income_tax": true,
|
|
6
6
|
"has_region_registry": true,
|
|
7
7
|
"model_package_name": "policyengine-uk",
|
|
8
|
-
"num_parameters_bucketed_100s":
|
|
9
|
-
"num_variables_bucketed_100s":
|
|
8
|
+
"num_parameters_bucketed_100s": 26,
|
|
9
|
+
"num_variables_bucketed_100s": 9,
|
|
10
10
|
"region_registry_country": "uk"
|
|
11
11
|
}
|
|
@@ -43,7 +43,7 @@ class TestUKModel:
|
|
|
43
43
|
assert uk_latest.release_manifest is not None
|
|
44
44
|
assert uk_latest.release_manifest.country_id == "uk"
|
|
45
45
|
assert uk_latest.model_package.name == "policyengine-uk"
|
|
46
|
-
assert uk_latest.model_package.version == "2.
|
|
46
|
+
assert uk_latest.model_package.version == "2.102.3"
|
|
47
47
|
assert uk_latest.data_package.name == "policyengine-uk-data"
|
|
48
48
|
assert uk_latest.data_package.version == "1.56.16"
|
|
49
49
|
assert (
|
|
@@ -72,11 +72,11 @@ US_LOCAL_AREA_DATASET_URI = (
|
|
|
72
72
|
"hf://policyengine/populace-us/populace_us_2024_acs_local.h5"
|
|
73
73
|
f"@{US_LOCAL_AREA_RELEASE_ID}"
|
|
74
74
|
)
|
|
75
|
-
UK_MODEL_VERSION = "2.
|
|
75
|
+
UK_MODEL_VERSION = "2.102.3"
|
|
76
76
|
UK_BUILT_WITH_MODEL_VERSION = "2.89.2"
|
|
77
77
|
UK_DATA_RELEASE_VERSION = "1.56.16"
|
|
78
78
|
UK_DATA_RELEASE_ID = "policyengine-uk-data-1.56.16"
|
|
79
|
-
UK_DATA_RELEASE_REVISION = "
|
|
79
|
+
UK_DATA_RELEASE_REVISION = "78788372fec47fc8df835bd32307ef61eaed83c2"
|
|
80
80
|
UK_DATA_RELEASE_PATH = "releases/1.56.16/release_manifest.json"
|
|
81
81
|
# The prior certified default, kept resolvable via dataset_overlays.
|
|
82
82
|
UK_POPULACE_RELEASE_ID = "populace-uk-2023-dd68c73-4aa4b14-20260619T023711Z"
|
|
@@ -1807,7 +1807,7 @@ wheels = [
|
|
|
1807
1807
|
|
|
1808
1808
|
[[package]]
|
|
1809
1809
|
name = "policyengine"
|
|
1810
|
-
version = "6.
|
|
1810
|
+
version = "6.2.0"
|
|
1811
1811
|
source = { editable = "." }
|
|
1812
1812
|
dependencies = [
|
|
1813
1813
|
{ name = "h5py" },
|
|
@@ -1884,9 +1884,9 @@ requires-dist = [
|
|
|
1884
1884
|
{ name = "policyengine-core", marker = "extra == 'models'", specifier = "==3.32.5" },
|
|
1885
1885
|
{ name = "policyengine-core", marker = "extra == 'uk'", specifier = "==3.32.5" },
|
|
1886
1886
|
{ name = "policyengine-core", marker = "extra == 'us'", specifier = "==3.32.5" },
|
|
1887
|
-
{ name = "policyengine-uk", marker = "extra == 'dev'", specifier = "==2.
|
|
1888
|
-
{ name = "policyengine-uk", marker = "extra == 'models'", specifier = "==2.
|
|
1889
|
-
{ name = "policyengine-uk", marker = "extra == 'uk'", specifier = "==2.
|
|
1887
|
+
{ name = "policyengine-uk", marker = "extra == 'dev'", specifier = "==2.102.3" },
|
|
1888
|
+
{ name = "policyengine-uk", marker = "extra == 'models'", specifier = "==2.102.3" },
|
|
1889
|
+
{ name = "policyengine-uk", marker = "extra == 'uk'", specifier = "==2.102.3" },
|
|
1890
1890
|
{ name = "policyengine-us", marker = "extra == 'dev'", specifier = "==2.2.1" },
|
|
1891
1891
|
{ name = "policyengine-us", marker = "extra == 'models'", specifier = "==2.2.1" },
|
|
1892
1892
|
{ name = "policyengine-us", marker = "extra == 'us'", specifier = "==2.2.1" },
|
|
@@ -1935,7 +1935,7 @@ wheels = [
|
|
|
1935
1935
|
|
|
1936
1936
|
[[package]]
|
|
1937
1937
|
name = "policyengine-uk"
|
|
1938
|
-
version = "2.
|
|
1938
|
+
version = "2.102.3"
|
|
1939
1939
|
source = { registry = "https://pypi.org/simple" }
|
|
1940
1940
|
dependencies = [
|
|
1941
1941
|
{ name = "microdf-python" },
|
|
@@ -1943,9 +1943,9 @@ dependencies = [
|
|
|
1943
1943
|
{ name = "pydantic" },
|
|
1944
1944
|
{ name = "tables" },
|
|
1945
1945
|
]
|
|
1946
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1946
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a7/49/1db19a439463f1304e93521debf40794f7b3483d37356c6d99c346112d0f/policyengine_uk-2.102.3.tar.gz", hash = "sha256:cdb0900e78818b46fdb79b2a8299bce6c7d6c14692e26cf38367781beea607be", size = 1314347, upload-time = "2026-09-28T19:50:44.714Z" }
|
|
1947
1947
|
wheels = [
|
|
1948
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1948
|
+
{ url = "https://files.pythonhosted.org/packages/37/e6/e8d9069d498f1510a1380f24a78e957902d01f00b10248c146d6710d5b37/policyengine_uk-2.102.3-py3-none-any.whl", hash = "sha256:f02a76712a3edf9983c713c1db42e9653a6e974e4ce335dd4b5676bbc2bcd636", size = 2189605, upload-time = "2026-09-28T19:50:42.472Z" },
|
|
1949
1949
|
]
|
|
1950
1950
|
|
|
1951
1951
|
[[package]]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine-6.1.2 → policyengine-6.2.0}/docs/engineering/runbooks/canonical-spm-development.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|