policyengine 5.3.0__tar.gz → 5.3.1__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-5.3.0 → policyengine-5.3.1}/CHANGELOG.md +7 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/PKG-INFO +4 -1
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/bundles.md +13 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/pyproject.toml +4 -1
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/data/bundle/manifest.json +22 -12
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/data/bundle/uk.trace.tro.jsonld +5 -5
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/data/bundle/us.trace.tro.jsonld +5 -5
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine.egg-info/PKG-INFO +4 -1
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine.egg-info/requires.txt +3 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_bundle.py +1 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_bundle_metadata.py +24 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/uv.lock +79 -73
- {policyengine-5.3.0 → policyengine-5.3.1}/.claude/policyengine-guide.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.claude/quick-reference.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/CONTRIBUTING.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/bump_version.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/capture-version.sh +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/changelog_template.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/check-changelog.sh +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/copilot-instructions.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/dispatch-policyengine-release.sh +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/fetch_version.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/get-changelog-diff.sh +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/has-functional-changes.sh +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/is-version-number-acceptable.sh +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/publish-git-tag.sh +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/wait-for-pypi.sh +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/workflows/draft-pdf.yml +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/workflows/pr_code_changes.yaml +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/workflows/pr_docs_changes.yaml +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.github/workflows/push.yaml +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.gitignore +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/.python-version +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/AGENTS.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/CITATION.cff +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/CLAUDE.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/CODE_OF_CONDUCT.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/CONTRIBUTING.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/LICENSE +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/Makefile +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/README.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/architecture.png +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/architecture.svg +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/changelog.d/.gitkeep +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/.gitignore +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/_generator/README.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/_generator/build_reference.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/_quarto.yml +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/countries.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/data-publishing-design.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/decile-impact-spec.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/dev.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/engineering/runbooks/build-m-us-populace-certification.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/engineering/skills/README.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/engineering/skills/data-certification.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/engineering/skills/github-prs.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/engineering/skills/repository-guidance.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/examples.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/getting-started.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/households.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/impact-analysis.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/index.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/methodology/index.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/methodology/model-architecture.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/methodology/us-health-costs.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/microsim.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/outputs.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/programs/index.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/programs/us-chip.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/reference/index.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/reforms.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/regions.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/release-bundles.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/run-records.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/trace-case-study.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/docs/visualisation.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/examples/belgium_axiom_pilot.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/examples/employment_income_variation_uk.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/examples/employment_income_variation_us.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/examples/household_impact_example.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/examples/income_bands_uk.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/examples/income_distribution_us.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/examples/paper_repro_uk.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/examples/policy_change_uk.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/examples/speedtest_us_simulation.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/examples/us_budgetary_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/paper-preview.html +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/paper.bib +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/paper.md +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/scripts/bundle.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/scripts/certify_data_release.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/scripts/check_data_staleness.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/scripts/export_bundle_release_assets.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/scripts/generate_bundle_artifacts.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/scripts/generate_trace_tros.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/scripts/prepare_package_bundle_update.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/setup.cfg +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/bundle.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/cli.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/cache.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/dataset.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/dynamic.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/output.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/parameter.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/parameter_node.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/parameter_value.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/policy.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/region.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/run_record.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/scoping_strategy.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/simulation.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/tax_benefit_model.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/tax_benefit_model_version.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/core/variable.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/countries/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/countries/uk/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/countries/uk/regions.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/countries/us/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/countries/us/data/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/countries/us/data/districts.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/countries/us/data/places.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/countries/us/data/states.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/countries/us/regions.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/data/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/data/schemas/trace_tro.schema.json +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/data/uk_geography_assets.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/derivations/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/derivations/narrate.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/derivations/trace.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/graph/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/graph/extractor.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/graph/graph.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/aggregate.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/change_aggregate.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/cliff_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/congressional_district_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/constituency_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/decile_analysis.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/decile_grouping.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/decile_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/extra_variables.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/inequality.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/intra_decile_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/labor_supply_response.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/local_authority_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/poverty.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/program_statistics.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/uk_geography_assets.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/outputs/uk_geography_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/provenance/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/provenance/certification.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/provenance/dataset_materialization.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/provenance/manifest.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/provenance/pyproject_pins.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/provenance/trace.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/provenance/verify.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/provenance/zenodo.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/results/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/results/schema.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/results/trace_tro.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/results/tracking.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/be/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/be/datasets.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/be/model.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/common/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/common/axes.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/common/extra_variables.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/common/household.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/common/model_version.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/common/reform.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/common/result.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/uk/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/uk/analysis.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/uk/datasets.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/uk/household.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/uk/model.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/us/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/us/analysis.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/us/datasets.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/us/household.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/tax_benefit_models/us/model.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/utils/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/utils/dates.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/utils/design.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/utils/entity_utils.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/utils/errors.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/utils/hashing.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/utils/household_validation.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/utils/parameter_labels.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/utils/parametric_reforms.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine/utils/plotting.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine.egg-info/SOURCES.txt +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine.egg-info/dependency_links.txt +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine.egg-info/entry_points.txt +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/src/policyengine.egg-info/top_level.txt +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/conftest.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/filtering_fixtures.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/household_calculator_snapshots/uk_couple_two_kids.json +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/household_calculator_snapshots/uk_model_surface.json +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/household_calculator_snapshots/uk_single_adult_employment_income.json +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/household_calculator_snapshots/uk_single_adult_no_income.json +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/household_calculator_snapshots/uk_single_parent_one_child.json +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/household_calculator_snapshots/us_married_two_kids_high_income.json +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/household_calculator_snapshots/us_model_surface.json +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/household_calculator_snapshots/us_single_adult_employment_income.json +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/household_calculator_snapshots/us_single_adult_no_income.json +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/household_calculator_snapshots/us_single_parent_one_child.json +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/parameter_labels_fixtures.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/parametric_reforms_fixtures.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/poverty_by_demographics_fixtures.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/region_fixtures.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/us_reform_fixtures.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/fixtures/variable_label_fixtures.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_aggregate.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_be_axiom_pilot.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_budgetary_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_bump_version.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_cache.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_certify_data_release.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_change_aggregate.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_cliff_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_cliff_impact_analysis.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_congressional_district_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_constituency_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_dataset_materialization.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_dataset_persistence.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_dataset_runtime.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_dataset_source.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_decile_grouping.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_derivations.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_dict_reforms_on_simulation.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_entity_mapping.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_entity_utils.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_entity_utils_characterization.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_errors.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_extra_variables.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_filtering.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_graph/__init__.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_graph/conftest.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_graph/test_extractor.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_household_calculator_snapshot.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_household_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_inequality.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_intra_decile_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_labor_supply_response.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_local_authority_impact.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_manifest_version_mismatch.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_models.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_pandas3_compatibility.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_parameter_labels.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_parameter_nodes.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_parameter_values.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_parametric_reforms.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_poverty.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_poverty_by_demographics.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_poverty_run.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_preservation_mirror.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_program_statistics.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_pyproject_pins.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_region.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_region_group_strategy.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_release_manifests.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_results.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_run_record.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_scoping_strategy.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_small_follow_ups.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_trace_tro.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_trace_tro_verify.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_uk_analysis.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_uk_geography_assets.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_uk_program_statistics.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_uk_regions.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_us_long_term_datasets.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_us_microsim_structural_reforms.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_us_program_statistics.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_us_reform_application.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_us_regions.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_variable_labels.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_variable_metadata.py +0 -0
- {policyengine-5.3.0 → policyengine-5.3.1}/tests/test_zenodo_mirror.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: policyengine
|
|
3
|
-
Version: 5.3.
|
|
3
|
+
Version: 5.3.1
|
|
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
|
|
@@ -690,12 +690,14 @@ Provides-Extra: models
|
|
|
690
690
|
Requires-Dist: policyengine-core==3.30.1; extra == "models"
|
|
691
691
|
Requires-Dist: policyengine-us==1.764.6; extra == "models"
|
|
692
692
|
Requires-Dist: policyengine-uk==2.90.2; extra == "models"
|
|
693
|
+
Requires-Dist: spm-calculator==0.3.1; extra == "models"
|
|
693
694
|
Provides-Extra: uk
|
|
694
695
|
Requires-Dist: policyengine-core==3.30.1; extra == "uk"
|
|
695
696
|
Requires-Dist: policyengine-uk==2.90.2; extra == "uk"
|
|
696
697
|
Provides-Extra: us
|
|
697
698
|
Requires-Dist: policyengine-core==3.30.1; extra == "us"
|
|
698
699
|
Requires-Dist: policyengine-us==1.764.6; extra == "us"
|
|
700
|
+
Requires-Dist: spm-calculator==0.3.1; extra == "us"
|
|
699
701
|
Provides-Extra: dev
|
|
700
702
|
Requires-Dist: pytest; extra == "dev"
|
|
701
703
|
Requires-Dist: furo; extra == "dev"
|
|
@@ -713,6 +715,7 @@ Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
|
|
|
713
715
|
Requires-Dist: policyengine-core==3.30.1; extra == "dev"
|
|
714
716
|
Requires-Dist: policyengine-us==1.764.6; extra == "dev"
|
|
715
717
|
Requires-Dist: policyengine-uk==2.90.2; extra == "dev"
|
|
718
|
+
Requires-Dist: spm-calculator==0.3.1; extra == "dev"
|
|
716
719
|
Dynamic: license-file
|
|
717
720
|
|
|
718
721
|
# PolicyEngine.py
|
|
@@ -84,6 +84,19 @@ Derived artifacts are:
|
|
|
84
84
|
- `src/policyengine/data/bundle/{country}.trace.tro.jsonld`
|
|
85
85
|
- GitHub release assets exported from the bundle manifest
|
|
86
86
|
|
|
87
|
+
The US model in this bundle uses the SPM calculator 0.3.1 API. The manifest pins
|
|
88
|
+
`spm-calculator==0.3.1` in the US package scaffold and the generated `us`,
|
|
89
|
+
`models`, and `dev` extras. The model formulas and certified dataset artifacts
|
|
90
|
+
remain unchanged.
|
|
91
|
+
|
|
92
|
+
Previously published versions cannot acquire a new dependency constraint. To
|
|
93
|
+
reproduce the historical 5.3.0 US package set, include the compatible calculator
|
|
94
|
+
explicitly:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
uv pip install "policyengine[us]==5.3.0" "spm-calculator==0.3.1"
|
|
98
|
+
```
|
|
99
|
+
|
|
87
100
|
Inspect or verify a local setup with:
|
|
88
101
|
|
|
89
102
|
```bash
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "policyengine"
|
|
7
|
-
version = "5.3.
|
|
7
|
+
version = "5.3.1"
|
|
8
8
|
description = "A package to conduct policy analysis using PolicyEngine tax-benefit models."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
@@ -45,6 +45,7 @@ models = [
|
|
|
45
45
|
"policyengine-core==3.30.1",
|
|
46
46
|
"policyengine-us==1.764.6",
|
|
47
47
|
"policyengine-uk==2.90.2",
|
|
48
|
+
"spm-calculator==0.3.1",
|
|
48
49
|
]
|
|
49
50
|
uk = [
|
|
50
51
|
"policyengine-core==3.30.1",
|
|
@@ -53,6 +54,7 @@ uk = [
|
|
|
53
54
|
us = [
|
|
54
55
|
"policyengine-core==3.30.1",
|
|
55
56
|
"policyengine-us==1.764.6",
|
|
57
|
+
"spm-calculator==0.3.1",
|
|
56
58
|
]
|
|
57
59
|
dev = [
|
|
58
60
|
"pytest",
|
|
@@ -71,6 +73,7 @@ dev = [
|
|
|
71
73
|
"policyengine-core==3.30.1",
|
|
72
74
|
"policyengine-us==1.764.6",
|
|
73
75
|
"policyengine-uk==2.90.2",
|
|
76
|
+
"spm-calculator==0.3.1",
|
|
74
77
|
]
|
|
75
78
|
|
|
76
79
|
[tool.setuptools]
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"bundle_version": "5.3.
|
|
2
|
+
"bundle_version": "5.3.1",
|
|
3
3
|
"citation": {
|
|
4
4
|
"publisher": "PolicyEngine",
|
|
5
|
-
"title": "PolicyEngine bundle 5.3.
|
|
5
|
+
"title": "PolicyEngine bundle 5.3.1",
|
|
6
6
|
"type": "software-bundle",
|
|
7
|
-
"version": "5.3.
|
|
7
|
+
"version": "5.3.1"
|
|
8
8
|
},
|
|
9
9
|
"countries": {
|
|
10
10
|
"uk": {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"data_releases": {
|
|
18
18
|
"uk": {
|
|
19
19
|
"build_id": "policyengine-uk-data-1.56.16",
|
|
20
|
-
"bundle_id": "uk-5.3.
|
|
20
|
+
"bundle_id": "uk-5.3.1",
|
|
21
21
|
"certification": {
|
|
22
22
|
"built_with_model_git_sha": "12a1e028afeef08d8b2d74ee03fd9de3a78b2dd3",
|
|
23
23
|
"built_with_model_version": "2.89.2",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"version": "2.90.2",
|
|
100
100
|
"wheel_url": "https://files.pythonhosted.org/packages/ec/da/658bff2df6094bd7bf2b0f561ff60fd41508adbd0a3af29b4553c83bc678/policyengine_uk-2.90.2-py3-none-any.whl"
|
|
101
101
|
},
|
|
102
|
-
"policyengine_version": "5.3.
|
|
102
|
+
"policyengine_version": "5.3.1",
|
|
103
103
|
"region_datasets": {
|
|
104
104
|
"national": {
|
|
105
105
|
"path_template": "enhanced_frs_2024_25.h5"
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
},
|
|
113
113
|
"us": {
|
|
114
114
|
"build_id": "populace-us-2024-buildp-sparse-rmloss100-cae8640-20260728T011454Z",
|
|
115
|
-
"bundle_id": "us-5.3.
|
|
115
|
+
"bundle_id": "us-5.3.1",
|
|
116
116
|
"certification": {
|
|
117
117
|
"built_with_model_version": "1.764.6",
|
|
118
118
|
"certified_by": "policyengine.py bundle certification",
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
"version": "1.764.6",
|
|
187
187
|
"wheel_url": "https://files.pythonhosted.org/packages/e2/5a/0566666f30ad06e416f0cf25b24bdee73acd71897fb2de3c0ac43b59e3e3/policyengine_us-1.764.6-py3-none-any.whl"
|
|
188
188
|
},
|
|
189
|
-
"policyengine_version": "5.3.
|
|
189
|
+
"policyengine_version": "5.3.1",
|
|
190
190
|
"region_datasets": {
|
|
191
191
|
"national": {
|
|
192
192
|
"path_template": "populace_us_2024.h5"
|
|
@@ -240,7 +240,8 @@
|
|
|
240
240
|
"models": [
|
|
241
241
|
"policyengine-core",
|
|
242
242
|
"policyengine-us",
|
|
243
|
-
"policyengine-uk"
|
|
243
|
+
"policyengine-uk",
|
|
244
|
+
"spm-calculator"
|
|
244
245
|
],
|
|
245
246
|
"uk": [
|
|
246
247
|
"policyengine-core",
|
|
@@ -248,16 +249,17 @@
|
|
|
248
249
|
],
|
|
249
250
|
"us": [
|
|
250
251
|
"policyengine-core",
|
|
251
|
-
"policyengine-us"
|
|
252
|
+
"policyengine-us",
|
|
253
|
+
"spm-calculator"
|
|
252
254
|
]
|
|
253
255
|
},
|
|
254
256
|
"packages": {
|
|
255
257
|
"policyengine": {
|
|
256
258
|
"import_name": "policyengine",
|
|
257
|
-
"install_requirement": "policyengine==5.3.
|
|
259
|
+
"install_requirement": "policyengine==5.3.1",
|
|
258
260
|
"name": "policyengine",
|
|
259
261
|
"role": "bundle_carrier",
|
|
260
|
-
"version": "5.3.
|
|
262
|
+
"version": "5.3.1"
|
|
261
263
|
},
|
|
262
264
|
"policyengine-core": {
|
|
263
265
|
"import_name": "policyengine_core",
|
|
@@ -281,8 +283,16 @@
|
|
|
281
283
|
"name": "policyengine-us",
|
|
282
284
|
"role": "country_model",
|
|
283
285
|
"version": "1.764.6"
|
|
286
|
+
},
|
|
287
|
+
"spm-calculator": {
|
|
288
|
+
"country": "us",
|
|
289
|
+
"import_name": "spm_calculator",
|
|
290
|
+
"install_requirement": "spm-calculator==0.3.1",
|
|
291
|
+
"name": "spm-calculator",
|
|
292
|
+
"role": "country_dependency",
|
|
293
|
+
"version": "0.3.1"
|
|
284
294
|
}
|
|
285
295
|
},
|
|
286
|
-
"policyengine_version": "5.3.
|
|
296
|
+
"policyengine_version": "5.3.1",
|
|
287
297
|
"schema_version": 2
|
|
288
298
|
}
|
|
@@ -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-5.3.
|
|
21
|
+
"schema:description": "TRACE TRO for certified runtime bundle uk-5.3.1 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": "5.3.
|
|
26
|
+
"schema:softwareVersion": "5.3.1"
|
|
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-5.3.
|
|
32
|
+
"rdfs:comment": "Certified arrangement for bundle uk-5.3.1.",
|
|
33
33
|
"trov:hasArtifactLocation": [
|
|
34
34
|
{
|
|
35
35
|
"@id": "arrangement/1/location/bundle_manifest",
|
|
@@ -75,7 +75,7 @@
|
|
|
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": "75a9dab38c12dd00051f363532f2f45315557fecaf41d5827615bac4180de358"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
81
|
"@id": "composition/1/artifact/data_release_manifest",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"trov:hasFingerprint": {
|
|
103
103
|
"@id": "composition/1/fingerprint",
|
|
104
104
|
"@type": "trov:CompositionFingerprint",
|
|
105
|
-
"trov:sha256": "
|
|
105
|
+
"trov:sha256": "0f664a8f0d9a4adaff2b7a04cac2dcb9d813770e395b6d77170a8078360e3733"
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
108
|
"trov:hasPerformance": {
|
|
@@ -18,18 +18,18 @@
|
|
|
18
18
|
"schema:url": "https://policyengine.org"
|
|
19
19
|
},
|
|
20
20
|
"schema:dateCreated": "2026-07-28T03:56:03.415544+00:00",
|
|
21
|
-
"schema:description": "TRACE TRO for certified runtime bundle us-5.3.
|
|
21
|
+
"schema:description": "TRACE TRO for certified runtime bundle us-5.3.1 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 us certified bundle TRO",
|
|
23
23
|
"trov:createdWith": {
|
|
24
24
|
"@type": "schema:SoftwareApplication",
|
|
25
25
|
"schema:name": "policyengine",
|
|
26
|
-
"schema:softwareVersion": "5.3.
|
|
26
|
+
"schema:softwareVersion": "5.3.1"
|
|
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 us-5.3.
|
|
32
|
+
"rdfs:comment": "Certified arrangement for bundle us-5.3.1.",
|
|
33
33
|
"trov:hasArtifactLocation": [
|
|
34
34
|
{
|
|
35
35
|
"@id": "arrangement/1/location/bundle_manifest",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"@type": "trov:ResearchArtifact",
|
|
76
76
|
"schema:name": "policyengine.py bundle manifest for us",
|
|
77
77
|
"trov:mimeType": "application/json",
|
|
78
|
-
"trov:sha256": "
|
|
78
|
+
"trov:sha256": "75a9dab38c12dd00051f363532f2f45315557fecaf41d5827615bac4180de358"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
81
|
"@id": "composition/1/artifact/data_release_manifest",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"trov:hasFingerprint": {
|
|
103
103
|
"@id": "composition/1/fingerprint",
|
|
104
104
|
"@type": "trov:CompositionFingerprint",
|
|
105
|
-
"trov:sha256": "
|
|
105
|
+
"trov:sha256": "1a3131f53ec77aa7eebf243f01bff2969848e8979dc40d23d94f28dff03aa5de"
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
108
|
"trov:hasPerformance": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: policyengine
|
|
3
|
-
Version: 5.3.
|
|
3
|
+
Version: 5.3.1
|
|
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
|
|
@@ -690,12 +690,14 @@ Provides-Extra: models
|
|
|
690
690
|
Requires-Dist: policyengine-core==3.30.1; extra == "models"
|
|
691
691
|
Requires-Dist: policyengine-us==1.764.6; extra == "models"
|
|
692
692
|
Requires-Dist: policyengine-uk==2.90.2; extra == "models"
|
|
693
|
+
Requires-Dist: spm-calculator==0.3.1; extra == "models"
|
|
693
694
|
Provides-Extra: uk
|
|
694
695
|
Requires-Dist: policyengine-core==3.30.1; extra == "uk"
|
|
695
696
|
Requires-Dist: policyengine-uk==2.90.2; extra == "uk"
|
|
696
697
|
Provides-Extra: us
|
|
697
698
|
Requires-Dist: policyengine-core==3.30.1; extra == "us"
|
|
698
699
|
Requires-Dist: policyengine-us==1.764.6; extra == "us"
|
|
700
|
+
Requires-Dist: spm-calculator==0.3.1; extra == "us"
|
|
699
701
|
Provides-Extra: dev
|
|
700
702
|
Requires-Dist: pytest; extra == "dev"
|
|
701
703
|
Requires-Dist: furo; extra == "dev"
|
|
@@ -713,6 +715,7 @@ Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
|
|
|
713
715
|
Requires-Dist: policyengine-core==3.30.1; extra == "dev"
|
|
714
716
|
Requires-Dist: policyengine-us==1.764.6; extra == "dev"
|
|
715
717
|
Requires-Dist: policyengine-uk==2.90.2; extra == "dev"
|
|
718
|
+
Requires-Dist: spm-calculator==0.3.1; extra == "dev"
|
|
716
719
|
Dynamic: license-file
|
|
717
720
|
|
|
718
721
|
# PolicyEngine.py
|
|
@@ -24,6 +24,7 @@ pytest-cov>=5.0.0
|
|
|
24
24
|
policyengine-core==3.30.1
|
|
25
25
|
policyengine-us==1.764.6
|
|
26
26
|
policyengine-uk==2.90.2
|
|
27
|
+
spm-calculator==0.3.1
|
|
27
28
|
|
|
28
29
|
[graph]
|
|
29
30
|
networkx>=3.0
|
|
@@ -32,6 +33,7 @@ networkx>=3.0
|
|
|
32
33
|
policyengine-core==3.30.1
|
|
33
34
|
policyengine-us==1.764.6
|
|
34
35
|
policyengine-uk==2.90.2
|
|
36
|
+
spm-calculator==0.3.1
|
|
35
37
|
|
|
36
38
|
[plotting]
|
|
37
39
|
plotly>=5.0.0
|
|
@@ -43,3 +45,4 @@ policyengine-uk==2.90.2
|
|
|
43
45
|
[us]
|
|
44
46
|
policyengine-core==3.30.1
|
|
45
47
|
policyengine-us==1.764.6
|
|
48
|
+
spm-calculator==0.3.1
|
|
@@ -64,6 +64,7 @@ def test_bundle_install_requirements_are_country_scoped():
|
|
|
64
64
|
f"policyengine=={manifest['policyengine_version']}",
|
|
65
65
|
manifest["packages"]["policyengine-core"]["install_requirement"],
|
|
66
66
|
manifest["packages"]["policyengine-us"]["install_requirement"],
|
|
67
|
+
"spm-calculator==0.3.1",
|
|
67
68
|
]
|
|
68
69
|
assert not any("policyengine-us-data" in req for req in us_requirements)
|
|
69
70
|
|
|
@@ -29,10 +29,12 @@ def test_bundle_manifest_exposes_model_and_country_extras():
|
|
|
29
29
|
"policyengine-core",
|
|
30
30
|
"policyengine-us",
|
|
31
31
|
"policyengine-uk",
|
|
32
|
+
"spm-calculator",
|
|
32
33
|
]
|
|
33
34
|
assert manifest["extras"]["us"] == [
|
|
34
35
|
"policyengine-core",
|
|
35
36
|
"policyengine-us",
|
|
37
|
+
"spm-calculator",
|
|
36
38
|
]
|
|
37
39
|
assert manifest["extras"]["uk"] == [
|
|
38
40
|
"policyengine-core",
|
|
@@ -42,6 +44,24 @@ def test_bundle_manifest_exposes_model_and_country_extras():
|
|
|
42
44
|
assert "policyengine-us-data" not in manifest["packages"]
|
|
43
45
|
|
|
44
46
|
|
|
47
|
+
def test_generated_us_extras_preserve_legacy_spm_compatibility(monkeypatch):
|
|
48
|
+
scripts_dir = Path(__file__).resolve().parents[1] / "scripts"
|
|
49
|
+
monkeypatch.syspath_prepend(str(scripts_dir))
|
|
50
|
+
from generate_bundle_artifacts import update_pyproject_text
|
|
51
|
+
|
|
52
|
+
pyproject_path = scripts_dir.parent / "pyproject.toml"
|
|
53
|
+
original = pyproject_path.read_text()
|
|
54
|
+
generated = update_pyproject_text(original, bundle.get_current_bundle())
|
|
55
|
+
# Regeneration and a later release must retain the constraint in every US
|
|
56
|
+
# installation surface, including dev; the UK-only extra does not need it.
|
|
57
|
+
assert generated == original
|
|
58
|
+
for extra in ("us", "models", "dev"):
|
|
59
|
+
section = generated.split(f"\n{extra} = [\n", 1)[1].split("\n]", 1)[0]
|
|
60
|
+
assert '"spm-calculator==0.3.1"' in section
|
|
61
|
+
uk_section = generated.split("\nuk = [\n", 1)[1].split("\n]", 1)[0]
|
|
62
|
+
assert "spm-calculator" not in uk_section
|
|
63
|
+
|
|
64
|
+
|
|
45
65
|
def test_bundle_manifest_carries_uk_data_release():
|
|
46
66
|
release = bundle.get_current_bundle()["data_releases"]["uk"]
|
|
47
67
|
|
|
@@ -115,6 +135,10 @@ def test_export_release_assets_writes_bundle_assets(monkeypatch, tmp_path):
|
|
|
115
135
|
f"policyengine=={manifest['policyengine_version']}"
|
|
116
136
|
in (tmp_path / f"policyengine-bundle-{version}.constraints.txt").read_text()
|
|
117
137
|
)
|
|
138
|
+
assert (
|
|
139
|
+
"spm-calculator==0.3.1"
|
|
140
|
+
in (tmp_path / f"policyengine-bundle-{version}.constraints.txt").read_text()
|
|
141
|
+
)
|
|
118
142
|
assert (
|
|
119
143
|
"PolicyEngine bundle"
|
|
120
144
|
in (tmp_path / f"policyengine-bundle-{version}.citation.txt").read_text()
|