policyengine-core 3.1.0__tar.gz → 3.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_core-3.1.0/policyengine_core.egg-info → policyengine_core-3.2.0}/PKG-INFO +1 -1
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/data/datasets/country_template_dataset.py +1 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data/dataset.py +23 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/parameter.py +2 -2
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/reforms/reform.py +6 -1
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/simulations/simulation.py +6 -11
- {policyengine_core-3.1.0 → policyengine_core-3.2.0/policyengine_core.egg-info}/PKG-INFO +1 -1
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/setup.py +1 -1
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/LICENSE +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/MANIFEST.in +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/README.md +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/charts/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/charts/api.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/charts/bar.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/charts/formatting.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/commons/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/commons/formulas.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/commons/misc.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/commons/rates.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/constants.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/data/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/data/datasets/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/entities.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/modelled_policies.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/parameters/benefits/basic_income.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/parameters/benefits/housing_allowance.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/parameters/benefits/index.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/parameters/benefits/parenting_allowance/amount.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/parameters/benefits/parenting_allowance/income_threshold.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/parameters/general/age_of_majority.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/parameters/general/age_of_retirement.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/parameters/taxes/housing_tax.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/parameters/taxes/income_tax_rate.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/parameters/taxes/social_security_contribution.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/reforms/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/reforms/add_dynamic_variable.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/reforms/add_new_tax.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/reforms/flat_social_security_contribution.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/reforms/modify_social_security_taxation.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/reforms/removal_basic_income.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/situation_examples/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/situation_examples/couple.json +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/situation_examples/housing.json +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/situation_examples/single.json +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/age.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/basic_income.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/disposable_income.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/housing_allowance.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/housing_tax.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/income_tax.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/reforms/add_dynamic_variable.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/reforms/add_new_tax.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/reforms/modify_social_security_taxation.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/situations/income_tax.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/situations/parenting_allowance.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/social_security_contribution.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/tests/test_microsimulation.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/variables/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/variables/benefits.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/variables/demographics.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/variables/housing.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/variables/ids.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/variables/income.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/variables/stats.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/variables/taxes.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data_storage/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data_storage/in_memory_storage.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data_storage/on_disk_storage.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data_structures/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data_structures/parameter_metadata.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data_structures/parameter_node_metadata.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data_structures/reference.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data_structures/unit.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/entities/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/entities/entity.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/entities/group_entity.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/entities/helpers.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/entities/role.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/enums/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/enums/config.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/enums/enum.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/enums/enum_array.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/cycle_error.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/empty_argument_error.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/nan_creation_error.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/parameter_not_found_error.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/parameter_parsing_error.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/period_mismatch_error.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/situation_parsing_error.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/spiral_error.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/variable_name_conflict_error.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/variable_not_found_error.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/experimental/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/experimental/memory_config.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/extension_template/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/extension_template/local_benefit.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/extension_template/parameters/local_town/child_allowance/amount.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/extension_template/parameters/local_town/child_allowance/index.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/extension_template/parameters/local_town/index.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/extension_template/tests/local_benefit.yaml +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/holders/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/holders/helpers.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/holders/holder.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/model_api.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/at_instant_like.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/config.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/helpers.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/operations/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/operations/get_parameter.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/operations/homogenize_parameters.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/operations/interpolate_parameters.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/operations/propagate_parameter_metadata.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/operations/uprate_parameters.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/parameter_at_instant.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/parameter_node.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/parameter_node_at_instant.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/parameter_scale.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/parameter_scale_bracket.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/vectorial_parameter_node_at_instant.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/periods/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/periods/config.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/periods/helpers.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/periods/instant_.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/periods/period_.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/populations/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/populations/config.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/populations/group_population.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/populations/population.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/projectors/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/projectors/entity_to_person_projector.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/projectors/first_person_to_entity_projector.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/projectors/helpers.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/projectors/projector.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/projectors/unique_role_to_entity_projector.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/reforms/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/scripts/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/scripts/assets/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/scripts/assets/index.html +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/scripts/policyengine_command.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/scripts/run_data.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/scripts/run_test.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/scripts/simulation_generator.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/simulations/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/simulations/helpers.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/simulations/individual_sim.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/simulations/microsimulation.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/simulations/simulation_builder.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxbenefitsystems/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxbenefitsystems/tax_benefit_system.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxscales/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxscales/abstract_rate_tax_scale.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxscales/abstract_tax_scale.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxscales/amount_tax_scale_like.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxscales/helpers.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxscales/linear_average_rate_tax_scale.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxscales/marginal_amount_tax_scale.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxscales/marginal_rate_tax_scale.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxscales/rate_tax_scale_like.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxscales/single_amount_tax_scale.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxscales/tax_scale_like.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tools/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tools/simulation_dumper.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tools/test_from_situation.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tools/test_runner.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/computation_log.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/flat_trace.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/full_tracer.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/performance_log.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/simple_tracer.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/trace_node.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/tracing_parameter_node_at_instant.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/variable_graph.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/types/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/types/data_types/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/types/data_types/arrays.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/variables/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/variables/config.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/variables/defined_for.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/variables/helpers.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/variables/typing.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/variables/variable.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/warnings/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/warnings/libyaml_warning.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/warnings/memory_config_warning.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/warnings/tempfile_warning.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/weighting/__init__.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/weighting/microdf.py +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core.egg-info/SOURCES.txt +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core.egg-info/dependency_links.txt +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core.egg-info/entry_points.txt +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core.egg-info/requires.txt +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core.egg-info/top_level.txt +0 -0
- {policyengine_core-3.1.0 → policyengine_core-3.2.0}/setup.cfg +0 -0
|
@@ -29,6 +29,7 @@ class CountryTemplateDataset(Dataset):
|
|
|
29
29
|
"person_household_id": {ETERNITY: person_household_id},
|
|
30
30
|
"person_household_role": {ETERNITY: person_household_role},
|
|
31
31
|
"salary": {salary_time_period: salary},
|
|
32
|
+
"accommodation_size": {salary_time_period: [200, 300]},
|
|
32
33
|
"household_weight": {weight_time_period: weight},
|
|
33
34
|
}
|
|
34
35
|
self.save_dataset(data)
|
|
@@ -363,3 +363,26 @@ class Dataset:
|
|
|
363
363
|
)()
|
|
364
364
|
|
|
365
365
|
return dataset
|
|
366
|
+
|
|
367
|
+
@staticmethod
|
|
368
|
+
def from_dataframe(dataframe: pd.DataFrame, time_period: str = None):
|
|
369
|
+
"""Creates a dataset from a DataFrame.
|
|
370
|
+
|
|
371
|
+
Returns:
|
|
372
|
+
Dataset: The dataset.
|
|
373
|
+
"""
|
|
374
|
+
file_path = Path(file_path)
|
|
375
|
+
dataset = type(
|
|
376
|
+
"Dataset",
|
|
377
|
+
(Dataset,),
|
|
378
|
+
{
|
|
379
|
+
"name": file_path.stem,
|
|
380
|
+
"label": file_path.stem,
|
|
381
|
+
"data_format": Dataset.FLAT_FILE,
|
|
382
|
+
"file_path": "dataframe",
|
|
383
|
+
"time_period": time_period,
|
|
384
|
+
"load": lambda: dataframe,
|
|
385
|
+
},
|
|
386
|
+
)()
|
|
387
|
+
|
|
388
|
+
return dataset
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/parameter.py
RENAMED
|
@@ -137,7 +137,7 @@ class Parameter(AtInstantLike):
|
|
|
137
137
|
]
|
|
138
138
|
return clone
|
|
139
139
|
|
|
140
|
-
def update(self,
|
|
140
|
+
def update(self, value=None, period=None, start=None, stop=None):
|
|
141
141
|
"""
|
|
142
142
|
Change the value for a given period.
|
|
143
143
|
|
|
@@ -156,7 +156,7 @@ class Parameter(AtInstantLike):
|
|
|
156
156
|
start = period.start
|
|
157
157
|
stop = period.stop
|
|
158
158
|
if start is None:
|
|
159
|
-
|
|
159
|
+
start = "0000-01-01"
|
|
160
160
|
start_str = str(start)
|
|
161
161
|
stop_str = str(stop.offset(1, "day")) if stop else None
|
|
162
162
|
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import copy
|
|
4
|
-
from typing import Callable, Union
|
|
4
|
+
from typing import Callable, Union, TYPE_CHECKING
|
|
5
5
|
|
|
6
6
|
from policyengine_core.parameters import ParameterNode, Parameter
|
|
7
7
|
from policyengine_core.taxbenefitsystems import TaxBenefitSystem
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from policyengine_core.simulations import Simulation
|
|
8
11
|
from policyengine_core.periods import (
|
|
9
12
|
period as period_,
|
|
10
13
|
instant as instant_,
|
|
@@ -60,6 +63,8 @@ class Reform(TaxBenefitSystem):
|
|
|
60
63
|
parameter_values: dict = None
|
|
61
64
|
"""The parameter values of the reform. This is used to inform any calls to the PolicyEngine API."""
|
|
62
65
|
|
|
66
|
+
simulation: "Simulation" = None
|
|
67
|
+
|
|
63
68
|
def __init__(self, baseline: TaxBenefitSystem):
|
|
64
69
|
"""
|
|
65
70
|
:param baseline: Baseline TaxBenefitSystem.
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/simulations/simulation.py
RENAMED
|
@@ -85,7 +85,6 @@ class Simulation:
|
|
|
85
85
|
reform: Reform = None,
|
|
86
86
|
trace: bool = False,
|
|
87
87
|
):
|
|
88
|
-
reform_applied_after = False
|
|
89
88
|
if tax_benefit_system is None:
|
|
90
89
|
if (
|
|
91
90
|
self.default_tax_benefit_system_instance is not None
|
|
@@ -94,20 +93,11 @@ class Simulation:
|
|
|
94
93
|
tax_benefit_system = self.default_tax_benefit_system_instance
|
|
95
94
|
else:
|
|
96
95
|
# If reform is taken as an arg, pass it
|
|
97
|
-
|
|
98
|
-
tax_benefit_system = self.default_tax_benefit_system(
|
|
99
|
-
reform=reform
|
|
100
|
-
)
|
|
101
|
-
except:
|
|
102
|
-
tax_benefit_system = self.default_tax_benefit_system()
|
|
103
|
-
reform_applied_after = True
|
|
96
|
+
tax_benefit_system = self.default_tax_benefit_system()
|
|
104
97
|
self.tax_benefit_system = tax_benefit_system
|
|
105
98
|
|
|
106
99
|
self.reform = reform
|
|
107
100
|
self.tax_benefit_system = tax_benefit_system
|
|
108
|
-
|
|
109
|
-
if reform_applied_after and reform is not None:
|
|
110
|
-
self.apply_reform(reform)
|
|
111
101
|
self.branch_name = "default"
|
|
112
102
|
|
|
113
103
|
if dataset is None:
|
|
@@ -169,6 +159,11 @@ class Simulation:
|
|
|
169
159
|
self.dataset = dataset
|
|
170
160
|
self.build_from_dataset()
|
|
171
161
|
|
|
162
|
+
self.tax_benefit_system.simulation = self
|
|
163
|
+
|
|
164
|
+
if self.reform is not None:
|
|
165
|
+
self.tax_benefit_system.apply_reform_set(self.reform)
|
|
166
|
+
|
|
172
167
|
# Backwards compatibility methods
|
|
173
168
|
self.calc = self.calculate
|
|
174
169
|
self.df = self.calculate_dataframe
|
|
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_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/__init__.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/country_template/entities.py
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
|
|
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_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data_storage/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data_structures/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data_structures/reference.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/data_structures/unit.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/entities/group_entity.py
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
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/empty_argument_error.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/nan_creation_error.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/errors/spiral_error.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/experimental/__init__.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/experimental/memory_config.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/extension_template/__init__.py
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
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/__init__.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/at_instant_like.py
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
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/parameter_node.py
RENAMED
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/parameters/parameter_scale.py
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
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/populations/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/populations/population.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/projectors/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/projectors/projector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/scripts/assets/__init__.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/scripts/assets/index.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/simulations/__init__.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/simulations/helpers.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/simulations/individual_sim.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/simulations/microsimulation.py
RENAMED
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxbenefitsystems/__init__.py
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
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/taxscales/tax_scale_like.py
RENAMED
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tools/simulation_dumper.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tools/test_from_situation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/computation_log.py
RENAMED
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/full_tracer.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/performance_log.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/simple_tracer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/tracers/variable_graph.py
RENAMED
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/types/data_types/__init__.py
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/types/data_types/arrays.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/variables/defined_for.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/warnings/libyaml_warning.py
RENAMED
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core/warnings/tempfile_warning.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
{policyengine_core-3.1.0 → policyengine_core-3.2.0}/policyengine_core.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|