OpenFisca-Core-test 46.0.0__py3-none-any.whl
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.
- openfisca_core/__init__.py +0 -0
- openfisca_core/commons/__init__.py +18 -0
- openfisca_core/commons/dummy.py +25 -0
- openfisca_core/commons/formulas.py +121 -0
- openfisca_core/commons/misc.py +109 -0
- openfisca_core/commons/py.typed +0 -0
- openfisca_core/commons/rates.py +114 -0
- openfisca_core/commons/tests/__init__.py +0 -0
- openfisca_core/commons/tests/test_dummy.py +9 -0
- openfisca_core/commons/tests/test_formulas.py +75 -0
- openfisca_core/commons/tests/test_rates.py +26 -0
- openfisca_core/data_storage/__init__.py +7 -0
- openfisca_core/data_storage/in_memory_storage.py +198 -0
- openfisca_core/data_storage/on_disk_storage.py +307 -0
- openfisca_core/data_storage/types.py +14 -0
- openfisca_core/entities/__init__.py +23 -0
- openfisca_core/entities/_core_entity.py +217 -0
- openfisca_core/entities/_description.py +55 -0
- openfisca_core/entities/entity.py +60 -0
- openfisca_core/entities/group_entity.py +123 -0
- openfisca_core/entities/helpers.py +165 -0
- openfisca_core/entities/py.typed +0 -0
- openfisca_core/entities/role.py +92 -0
- openfisca_core/entities/tests/__init__.py +0 -0
- openfisca_core/entities/tests/test_entity.py +10 -0
- openfisca_core/entities/tests/test_group_entity.py +70 -0
- openfisca_core/entities/tests/test_role.py +11 -0
- openfisca_core/entities/types.py +44 -0
- openfisca_core/errors/__init__.py +64 -0
- openfisca_core/errors/cycle_error.py +2 -0
- openfisca_core/errors/empty_argument_error.py +39 -0
- openfisca_core/errors/nan_creation_error.py +2 -0
- openfisca_core/errors/parameter_not_found_error.py +16 -0
- openfisca_core/errors/parameter_parsing_error.py +18 -0
- openfisca_core/errors/period_mismatch_error.py +9 -0
- openfisca_core/errors/situation_parsing_error.py +26 -0
- openfisca_core/errors/spiral_error.py +2 -0
- openfisca_core/errors/variable_name_config_error.py +2 -0
- openfisca_core/errors/variable_not_found_error.py +29 -0
- openfisca_core/experimental/__init__.py +9 -0
- openfisca_core/experimental/_errors.py +5 -0
- openfisca_core/experimental/_memory_config.py +41 -0
- openfisca_core/formula_helpers.py +9 -0
- openfisca_core/holders/__init__.py +33 -0
- openfisca_core/holders/helpers.py +93 -0
- openfisca_core/holders/holder.py +328 -0
- openfisca_core/holders/tests/__init__.py +0 -0
- openfisca_core/holders/tests/test_helpers.py +134 -0
- openfisca_core/holders/types.py +3 -0
- openfisca_core/indexed_enums/__init__.py +18 -0
- openfisca_core/indexed_enums/_enum_type.py +79 -0
- openfisca_core/indexed_enums/_errors.py +35 -0
- openfisca_core/indexed_enums/_guards.py +209 -0
- openfisca_core/indexed_enums/_utils.py +180 -0
- openfisca_core/indexed_enums/config.py +6 -0
- openfisca_core/indexed_enums/enum.py +218 -0
- openfisca_core/indexed_enums/enum_array.py +316 -0
- openfisca_core/indexed_enums/py.typed +0 -0
- openfisca_core/indexed_enums/tests/__init__.py +0 -0
- openfisca_core/indexed_enums/tests/test_enum.py +135 -0
- openfisca_core/indexed_enums/tests/test_enum_array.py +30 -0
- openfisca_core/indexed_enums/types.py +49 -0
- openfisca_core/memory_config.py +9 -0
- openfisca_core/model_api.py +71 -0
- openfisca_core/parameters/__init__.py +71 -0
- openfisca_core/parameters/at_instant_like.py +17 -0
- openfisca_core/parameters/config.py +55 -0
- openfisca_core/parameters/helpers.py +106 -0
- openfisca_core/parameters/parameter.py +217 -0
- openfisca_core/parameters/parameter_at_instant.py +75 -0
- openfisca_core/parameters/parameter_node.py +176 -0
- openfisca_core/parameters/parameter_node_at_instant.py +57 -0
- openfisca_core/parameters/parameter_scale.py +121 -0
- openfisca_core/parameters/parameter_scale_bracket.py +7 -0
- openfisca_core/parameters/values_history.py +5 -0
- openfisca_core/parameters/vectorial_parameter_node_at_instant.py +179 -0
- openfisca_core/periods/__init__.py +77 -0
- openfisca_core/periods/_errors.py +28 -0
- openfisca_core/periods/_parsers.py +122 -0
- openfisca_core/periods/config.py +20 -0
- openfisca_core/periods/date_unit.py +110 -0
- openfisca_core/periods/helpers.py +314 -0
- openfisca_core/periods/instant_.py +226 -0
- openfisca_core/periods/period_.py +919 -0
- openfisca_core/periods/py.typed +0 -0
- openfisca_core/periods/tests/__init__.py +0 -0
- openfisca_core/periods/tests/helpers/__init__.py +0 -0
- openfisca_core/periods/tests/helpers/test_helpers.py +65 -0
- openfisca_core/periods/tests/helpers/test_instant.py +73 -0
- openfisca_core/periods/tests/helpers/test_period.py +134 -0
- openfisca_core/periods/tests/test_instant.py +32 -0
- openfisca_core/periods/tests/test_parsers.py +129 -0
- openfisca_core/periods/tests/test_period.py +283 -0
- openfisca_core/populations/__init__.py +64 -0
- openfisca_core/populations/_core_population.py +454 -0
- openfisca_core/populations/_errors.py +65 -0
- openfisca_core/populations/group_population.py +326 -0
- openfisca_core/populations/population.py +142 -0
- openfisca_core/populations/tests/__init__.py +0 -0
- openfisca_core/populations/tests/test_members_position.py +116 -0
- openfisca_core/populations/types.py +110 -0
- openfisca_core/projectors/__init__.py +39 -0
- openfisca_core/projectors/entity_to_person_projector.py +12 -0
- openfisca_core/projectors/first_person_to_entity_projector.py +13 -0
- openfisca_core/projectors/helpers.py +139 -0
- openfisca_core/projectors/projector.py +38 -0
- openfisca_core/projectors/typing.py +27 -0
- openfisca_core/projectors/unique_role_to_entity_projector.py +14 -0
- openfisca_core/rates.py +9 -0
- openfisca_core/reforms/__init__.py +24 -0
- openfisca_core/reforms/in_yaml_test_reform.py +28 -0
- openfisca_core/reforms/reform.py +86 -0
- openfisca_core/scripts/__init__.py +106 -0
- openfisca_core/scripts/__pycache__/__init__.cpython-310-pytest-8.3.3.pyc +0 -0
- openfisca_core/scripts/__pycache__/__init__.cpython-310-pytest-8.4.2.pyc +0 -0
- openfisca_core/scripts/__pycache__/__init__.cpython-310.pyc +0 -0
- openfisca_core/scripts/__pycache__/__init__.cpython-311-pytest-8.3.3.pyc +0 -0
- openfisca_core/scripts/__pycache__/__init__.cpython-311-pytest-8.4.2.pyc +0 -0
- openfisca_core/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
- openfisca_core/scripts/__pycache__/__init__.cpython-312-pytest-8.4.2.pyc +0 -0
- openfisca_core/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
- openfisca_core/scripts/__pycache__/__init__.cpython-313-pytest-8.3.3.pyc +0 -0
- openfisca_core/scripts/__pycache__/__init__.cpython-313-pytest-8.4.2.pyc +0 -0
- openfisca_core/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
- openfisca_core/scripts/__pycache__/find_placeholders.cpython-311.pyc +0 -0
- openfisca_core/scripts/__pycache__/find_placeholders.cpython-313.pyc +0 -0
- openfisca_core/scripts/__pycache__/measure_numpy_condition_notations.cpython-311.pyc +0 -0
- openfisca_core/scripts/__pycache__/measure_numpy_condition_notations.cpython-313.pyc +0 -0
- openfisca_core/scripts/__pycache__/measure_performances.cpython-311.pyc +0 -0
- openfisca_core/scripts/__pycache__/measure_performances.cpython-313.pyc +0 -0
- openfisca_core/scripts/__pycache__/measure_performances_fancy_indexing.cpython-311.pyc +0 -0
- openfisca_core/scripts/__pycache__/measure_performances_fancy_indexing.cpython-313.pyc +0 -0
- openfisca_core/scripts/__pycache__/openfisca_command.cpython-310.pyc +0 -0
- openfisca_core/scripts/__pycache__/openfisca_command.cpython-311.pyc +0 -0
- openfisca_core/scripts/__pycache__/openfisca_command.cpython-312.pyc +0 -0
- openfisca_core/scripts/__pycache__/openfisca_command.cpython-313.pyc +0 -0
- openfisca_core/scripts/__pycache__/remove_fuzzy.cpython-311.pyc +0 -0
- openfisca_core/scripts/__pycache__/remove_fuzzy.cpython-313.pyc +0 -0
- openfisca_core/scripts/__pycache__/run_test.cpython-310.pyc +0 -0
- openfisca_core/scripts/__pycache__/run_test.cpython-311.pyc +0 -0
- openfisca_core/scripts/__pycache__/run_test.cpython-312.pyc +0 -0
- openfisca_core/scripts/__pycache__/run_test.cpython-313.pyc +0 -0
- openfisca_core/scripts/__pycache__/simulation_generator.cpython-311.pyc +0 -0
- openfisca_core/scripts/__pycache__/simulation_generator.cpython-313.pyc +0 -0
- openfisca_core/scripts/assets/__init__.py +0 -0
- openfisca_core/scripts/assets/__pycache__/__init__.cpython-311.pyc +0 -0
- openfisca_core/scripts/assets/__pycache__/__init__.cpython-313.pyc +0 -0
- openfisca_core/scripts/assets/index.html +140 -0
- openfisca_core/scripts/find_placeholders.py +51 -0
- openfisca_core/scripts/measure_numpy_condition_notations.py +137 -0
- openfisca_core/scripts/measure_performances.py +291 -0
- openfisca_core/scripts/measure_performances_fancy_indexing.py +89 -0
- openfisca_core/scripts/migrations/__init__.py +0 -0
- openfisca_core/scripts/migrations/__pycache__/__init__.cpython-311.pyc +0 -0
- openfisca_core/scripts/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
- openfisca_core/scripts/migrations/__pycache__/v24_to_25.cpython-311.pyc +0 -0
- openfisca_core/scripts/migrations/__pycache__/v24_to_25.cpython-313.pyc +0 -0
- openfisca_core/scripts/migrations/v16_2_to_v17/__init__.py +0 -0
- openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/__init__.cpython-311.pyc +0 -0
- openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/__init__.cpython-313.pyc +0 -0
- openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/xml_to_yaml_country_template.cpython-311.pyc +0 -0
- openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/xml_to_yaml_country_template.cpython-313.pyc +0 -0
- openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/xml_to_yaml_extension_template.cpython-311.pyc +0 -0
- openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/xml_to_yaml_extension_template.cpython-313.pyc +0 -0
- openfisca_core/scripts/migrations/v16_2_to_v17/legislation.xsd +102 -0
- openfisca_core/scripts/migrations/v16_2_to_v17/xml_to_yaml_country_template.py +30 -0
- openfisca_core/scripts/migrations/v16_2_to_v17/xml_to_yaml_extension_template.py +26 -0
- openfisca_core/scripts/migrations/v24_to_25.py +156 -0
- openfisca_core/scripts/openfisca_command.py +192 -0
- openfisca_core/scripts/remove_fuzzy.py +213 -0
- openfisca_core/scripts/run_test.py +51 -0
- openfisca_core/scripts/simulation_generator.py +90 -0
- openfisca_core/simulation_builder.py +16 -0
- openfisca_core/simulations/__init__.py +45 -0
- openfisca_core/simulations/_build_default_simulation.py +158 -0
- openfisca_core/simulations/_build_from_variables.py +230 -0
- openfisca_core/simulations/_type_guards.py +298 -0
- openfisca_core/simulations/helpers.py +111 -0
- openfisca_core/simulations/simulation.py +618 -0
- openfisca_core/simulations/simulation_builder.py +855 -0
- openfisca_core/simulations/typing.py +203 -0
- openfisca_core/taxbenefitsystems/__init__.py +26 -0
- openfisca_core/taxbenefitsystems/tax_benefit_system.py +584 -0
- openfisca_core/taxscales/__init__.py +35 -0
- openfisca_core/taxscales/abstract_rate_tax_scale.py +41 -0
- openfisca_core/taxscales/abstract_tax_scale.py +53 -0
- openfisca_core/taxscales/amount_tax_scale_like.py +55 -0
- openfisca_core/taxscales/helpers.py +44 -0
- openfisca_core/taxscales/linear_average_rate_tax_scale.py +76 -0
- openfisca_core/taxscales/marginal_amount_tax_scale.py +34 -0
- openfisca_core/taxscales/marginal_rate_tax_scale.py +286 -0
- openfisca_core/taxscales/rate_tax_scale_like.py +214 -0
- openfisca_core/taxscales/single_amount_tax_scale.py +32 -0
- openfisca_core/taxscales/tax_scale_like.py +65 -0
- openfisca_core/tools/__init__.py +94 -0
- openfisca_core/tools/parallel_plugin.py +55 -0
- openfisca_core/tools/simulation_dumper.py +137 -0
- openfisca_core/tools/test_runner.py +802 -0
- openfisca_core/tracers/__init__.py +40 -0
- openfisca_core/tracers/computation_log.py +196 -0
- openfisca_core/tracers/flat_trace.py +87 -0
- openfisca_core/tracers/full_tracer.py +172 -0
- openfisca_core/tracers/performance_log.py +133 -0
- openfisca_core/tracers/simple_tracer.py +64 -0
- openfisca_core/tracers/trace_node.py +121 -0
- openfisca_core/tracers/tracing_parameter_node_at_instant.py +81 -0
- openfisca_core/types.py +548 -0
- openfisca_core/variables/__init__.py +26 -0
- openfisca_core/variables/config.py +53 -0
- openfisca_core/variables/helpers.py +67 -0
- openfisca_core/variables/tests/__init__.py +0 -0
- openfisca_core/variables/tests/test_definition_period.py +43 -0
- openfisca_core/variables/variable.py +474 -0
- openfisca_core/warnings/__init__.py +25 -0
- openfisca_core/warnings/libyaml_warning.py +2 -0
- openfisca_core/warnings/tempfile_warning.py +2 -0
- openfisca_core_test-46.0.0.data/data/share/openfisca/openfisca-core/CHANGELOG.md +4209 -0
- openfisca_core_test-46.0.0.data/data/share/openfisca/openfisca-core/README.md +152 -0
- openfisca_core_test-46.0.0.dist-info/METADATA +194 -0
- openfisca_core_test-46.0.0.dist-info/RECORD +237 -0
- openfisca_core_test-46.0.0.dist-info/WHEEL +5 -0
- openfisca_core_test-46.0.0.dist-info/entry_points.txt +3 -0
- openfisca_core_test-46.0.0.dist-info/licenses/LICENSE +661 -0
- openfisca_core_test-46.0.0.dist-info/top_level.txt +2 -0
- openfisca_web_api/__init__.py +0 -0
- openfisca_web_api/app.py +226 -0
- openfisca_web_api/errors.py +11 -0
- openfisca_web_api/handlers.py +90 -0
- openfisca_web_api/loader/__init__.py +22 -0
- openfisca_web_api/loader/entities.py +28 -0
- openfisca_web_api/loader/parameters.py +122 -0
- openfisca_web_api/loader/spec.py +168 -0
- openfisca_web_api/loader/tax_benefit_system.py +27 -0
- openfisca_web_api/loader/variables.py +121 -0
- openfisca_web_api/openAPI.yml +434 -0
- openfisca_web_api/scripts/__init__.py +0 -0
- openfisca_web_api/scripts/serve.py +99 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# OpenFisca Core
|
|
2
|
+
|
|
3
|
+
[](https://pepy.tech/project/openfisca-core)
|
|
4
|
+
[](https://pypi.python.org/pypi/openfisca-core)
|
|
5
|
+
|
|
6
|
+
[](https://pypi.python.org/pypi/openfisca-core)
|
|
7
|
+
[](https://github.com/openfisca/openfisca-core/graphs/contributors)
|
|
8
|
+
|
|
9
|
+
[](mailto:contact%40openfisca.org?subject=Subscribe%20to%20your%20newsletter%20%7C%20S'inscrire%20%C3%A0%20votre%20newsletter&body=%5BEnglish%20version%20below%5D%0A%0ABonjour%2C%0A%0AVotre%C2%A0pr%C3%A9sence%C2%A0ici%C2%A0nous%C2%A0ravit%C2%A0!%20%F0%9F%98%83%0A%0AEnvoyez-nous%20cet%20email%20pour%20que%20l'on%20puisse%20vous%20inscrire%20%C3%A0%20la%20newsletter.%20%0A%0AAh%C2%A0!%20Et%20si%20vous%20pouviez%20remplir%20ce%20petit%20questionnaire%2C%20%C3%A7a%20serait%20encore%20mieux%C2%A0!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2F45M0VR1TYKD1RGzX2%0A%0AAmiti%C3%A9%2C%0AL%E2%80%99%C3%A9quipe%20OpenFisca%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20ENGLISH%20VERSION%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0AHi%2C%20%0A%0AWe're%20glad%20to%20see%20you%20here!%20%F0%9F%98%83%0A%0APlease%20send%20us%20this%20email%2C%20so%20we%20can%20subscribe%20you%20to%20the%20newsletter.%0A%0AAlso%2C%20if%20you%20can%20fill%20out%20this%20short%20survey%2C%20even%20better!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2FsOg8K1abhhm441LG2%0A%0ACheers%2C%0AThe%20OpenFisca%20Team)
|
|
10
|
+
[](https://twitter.com/intent/follow?screen_name=openfisca)
|
|
11
|
+
[](mailto:contact%40openfisca.org?subject=Join%20you%20on%20Slack%20%7C%20Nous%20rejoindre%20sur%20Slack&body=%5BEnglish%20version%20below%5D%0A%0ABonjour%2C%0A%0AVotre%C2%A0pr%C3%A9sence%C2%A0ici%C2%A0nous%C2%A0ravit%C2%A0!%20%F0%9F%98%83%0A%0ARacontez-nous%20un%20peu%20de%20vous%2C%20et%20du%20pourquoi%20de%20votre%20int%C3%A9r%C3%AAt%20de%20rejoindre%20la%20communaut%C3%A9%20OpenFisca%20sur%20Slack.%0A%0AAh%C2%A0!%20Et%20si%20vous%20pouviez%20remplir%20ce%20petit%20questionnaire%2C%20%C3%A7a%20serait%20encore%20mieux%C2%A0!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2F45M0VR1TYKD1RGzX2%0A%0AN%E2%80%99oubliez%20pas%20de%20nous%20envoyer%20cet%20email%C2%A0!%20Sinon%2C%20on%20ne%20pourra%20pas%20vous%20contacter%20ni%20vous%20inviter%20sur%20Slack.%0A%0AAmiti%C3%A9%2C%0AL%E2%80%99%C3%A9quipe%20OpenFisca%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20ENGLISH%20VERSION%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0AHi%2C%20%0A%0AWe're%20glad%20to%20see%20you%20here!%20%F0%9F%98%83%0A%0APlease%20tell%20us%20a%20bit%20about%20you%20and%20why%20you%20want%20to%20join%20the%20OpenFisca%20community%20on%20Slack.%0A%0AAlso%2C%20if%20you%20can%20fill%20out%20this%20short%20survey%2C%20even%20better!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2FsOg8K1abhhm441LG2.%0A%0ADon't%20forget%20to%20send%20us%20this%20email!%20Otherwise%20we%20won't%20be%20able%20to%20contact%20you%20back%2C%20nor%20invite%20you%20on%20Slack.%0A%0ACheers%2C%0AThe%20OpenFisca%20Team)
|
|
12
|
+
|
|
13
|
+
[OpenFisca](https://openfisca.org/doc/) is a versatile microsimulation free software. Check the [online documentation](https://openfisca.org/doc/) for more details.
|
|
14
|
+
|
|
15
|
+
This package contains the core features of OpenFisca, which are meant to be used by country packages such as [OpenFisca-France](https://github.com/openfisca/openfisca-france). Bootstrapping your own country package should not take more than 5 minutes: check our [country package template](https://github.com/openfisca/country-template).
|
|
16
|
+
|
|
17
|
+
## Environment
|
|
18
|
+
|
|
19
|
+
OpenFisca runs on Python. See [pyproject.toml](pyproject.toml) for supported versions.
|
|
20
|
+
|
|
21
|
+
OpenFisca also relies strongly on NumPy. The last four minor versions should work, but only the latest/stable is tested.
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
|
|
25
|
+
If you're developing your own country package, you don't need to explicitly install OpenFisca-Core. It just needs to appear [in your package dependencies](https://github.com/openfisca/openfisca-france/blob/100.0.0/setup.py#L60).
|
|
26
|
+
If you want to contribute to OpenFisca-Core itself, welcome!
|
|
27
|
+
To install it locally we recommend to use [uv](https://docs.astral.sh/uv/getting-started/).
|
|
28
|
+
|
|
29
|
+
### Installing `openfisca-core` with `uv`
|
|
30
|
+
|
|
31
|
+
This installation requires [Python](https://www.python.org/downloads/) and [GIT](https://git-scm.com) installations.
|
|
32
|
+
|
|
33
|
+
To install `openfisca-core` locally in development mode run the following commands in a shell terminal:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
git clone https://github.com/openfisca/openfisca-core.git
|
|
37
|
+
cd openfisca-core
|
|
38
|
+
make test
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Testing
|
|
42
|
+
|
|
43
|
+
Install the test dependencies:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
make install-deps install-edit install-test
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
> For integration testing purposes, `openfisca-core` relies on
|
|
50
|
+
> [country-template](https://github.com/openfisca/country-template.git) and
|
|
51
|
+
> [extension-template](https://github.com/openfisca/extension-template.git).
|
|
52
|
+
> Because these packages rely at the same time on `openfisca-core`, they need
|
|
53
|
+
> to be installed separately.
|
|
54
|
+
|
|
55
|
+
To run the entire test suite:
|
|
56
|
+
|
|
57
|
+
```sh
|
|
58
|
+
make test
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
If you have many tests, you could run them in parallel :
|
|
62
|
+
```sh
|
|
63
|
+
make test-core openfisca_args="--in-parallel"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
You could add an option `--num-workers=4` to limit to 4 threads. Default is your CPU Core number minus 1.
|
|
67
|
+
|
|
68
|
+
Be aware that this add overhead so use it only for huge test suite.
|
|
69
|
+
|
|
70
|
+
To run all the tests defined on a test file:
|
|
71
|
+
|
|
72
|
+
```sh
|
|
73
|
+
pytest tests/core/test_parameters.py
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
To run a single test:
|
|
77
|
+
|
|
78
|
+
```sh
|
|
79
|
+
pytest tests/core/test_parameters.py -k test_parameter_for_period
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Types
|
|
83
|
+
|
|
84
|
+
This repository relies on MyPy for optional dynamic & static type checking.
|
|
85
|
+
|
|
86
|
+
As NumPy introduced the `typing` module in 1.20.0, to ensure type hints do not break the code at runtime, we run the checker against the last four minor NumPy versions.
|
|
87
|
+
|
|
88
|
+
Type checking is already run with `make test`. To run the type checker alone:
|
|
89
|
+
|
|
90
|
+
```sh
|
|
91
|
+
make check-types
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Style
|
|
95
|
+
|
|
96
|
+
This repository adheres to a [certain coding style](STYLEGUIDE.md), and we invite you to follow it for your contributions to be integrated promptly.
|
|
97
|
+
|
|
98
|
+
Style checking is already run with `make test`. To run the style checker alone:
|
|
99
|
+
|
|
100
|
+
```sh
|
|
101
|
+
make check-style
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
To automatically style-format your code changes:
|
|
105
|
+
|
|
106
|
+
```sh
|
|
107
|
+
make format-style
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
To automatically style-format your code changes each time you commit:
|
|
111
|
+
|
|
112
|
+
```sh
|
|
113
|
+
touch .git/hooks/pre-commit
|
|
114
|
+
chmod +x .git/hooks/pre-commit
|
|
115
|
+
|
|
116
|
+
tee -a .git/hooks/pre-commit << END
|
|
117
|
+
#!/bin/bash
|
|
118
|
+
#
|
|
119
|
+
# Automatically format your code before committing.
|
|
120
|
+
# Change .venv/bin/activate if your virtual environment is located elsewhere.
|
|
121
|
+
source .venv/bin/activate
|
|
122
|
+
exec make format-style
|
|
123
|
+
exec make check-style
|
|
124
|
+
END
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Documentation
|
|
128
|
+
|
|
129
|
+
OpenFisca’s toolchain checks whether documentation builds correctly and updates it automatically with each contribution to this repository.
|
|
130
|
+
|
|
131
|
+
In the meantime, please take a look at our [contributing guidelines](CONTRIBUTING.md) for some general tips on how to document your contributions, and at our official documentation's [repository](https://github.com/openfisca/openfisca-doc/blob/main/README.md) to in case you want to know how to build it by yourself —and improve it!
|
|
132
|
+
|
|
133
|
+
## Serving the API
|
|
134
|
+
|
|
135
|
+
OpenFisca-Core provides a Web-API. It is by default served on the `5000` port.
|
|
136
|
+
|
|
137
|
+
To run it with the mock country package `openfisca_country_template` and another port value such as `2000`, run:
|
|
138
|
+
|
|
139
|
+
```sh
|
|
140
|
+
openfisca serve --country-package openfisca_country_template --port 2000
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
To read more about the `openfisca serve` command, check out its [documentation](https://openfisca.org/doc/openfisca-python-api/openfisca_serve.html).
|
|
144
|
+
|
|
145
|
+
By default, the Web API uses 3 workers to avoid [this issue](http://stackoverflow.com/questions/11150343/slow-requests-on-local-flask-server). Without it, AJAX requests from Chrome sometimes take more than 20s to process. You can change the number of workers by specifying a `--workers k` option.
|
|
146
|
+
|
|
147
|
+
You can test that the API is running by executing the command:
|
|
148
|
+
|
|
149
|
+
```sh
|
|
150
|
+
curl http://localhost:2000/parameters
|
|
151
|
+
```
|
|
152
|
+
For more information about endpoints and input formatting, see the [official documentation](https://openfisca.org/doc/openfisca-web-api).
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: OpenFisca-Core-test
|
|
3
|
+
Version: 46.0.0
|
|
4
|
+
Summary: A versatile microsimulation free software
|
|
5
|
+
Author-email: OpenFisca Team <contact@openfisca.org>
|
|
6
|
+
License-Expression: AGPL-3.0-or-later
|
|
7
|
+
Project-URL: Homepage, https://github.com/openfisca/openfisca-core
|
|
8
|
+
Project-URL: Documentation, https://openfisca.org/doc/
|
|
9
|
+
Project-URL: Repository, https://github.com/openfisca/openfisca-core.git
|
|
10
|
+
Keywords: benefit,microsimulation,social,tax
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: Operating System :: POSIX
|
|
13
|
+
Classifier: Programming Language :: Python
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
18
|
+
Requires-Python: >=3.11
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: PyYAML<7.0,>=6.0.1
|
|
22
|
+
Requires-Dist: PyYAML<7.0,>=6.0.2; python_version >= "3.13"
|
|
23
|
+
Requires-Dist: StrEnum<0.5.0,>=0.4.8
|
|
24
|
+
Requires-Dist: dpath<3.0,>=2.2.0
|
|
25
|
+
Requires-Dist: numexpr<3.0,>=2.10.1
|
|
26
|
+
Requires-Dist: numpy<=3,>=1.24.2; python_version < "3.12"
|
|
27
|
+
Requires-Dist: numpy<=3,>=2.0.2; python_version >= "3.12"
|
|
28
|
+
Requires-Dist: pendulum<4.0.0,>=3.0.0
|
|
29
|
+
Requires-Dist: psutil<6.0,>=5.9.4
|
|
30
|
+
Requires-Dist: pytest<9.0,>=8.3.3
|
|
31
|
+
Requires-Dist: sortedcontainers<3.0,>=2.4.0
|
|
32
|
+
Requires-Dist: typing_extensions<5.0,>=4.16.0
|
|
33
|
+
Provides-Extra: web-api
|
|
34
|
+
Requires-Dist: Flask<4.0,>=2.2.3; extra == "web-api"
|
|
35
|
+
Requires-Dist: Flask-Cors<4.0,>=3.0.10; extra == "web-api"
|
|
36
|
+
Requires-Dist: gunicorn<22.0,>=21.0; extra == "web-api"
|
|
37
|
+
Requires-Dist: Werkzeug<4.0,>=2.2.3; extra == "web-api"
|
|
38
|
+
Provides-Extra: template
|
|
39
|
+
Requires-Dist: openfisca-country-template<9,>=8; extra == "template"
|
|
40
|
+
Requires-Dist: openfisca-extension-template<3,>=2.0.7; extra == "template"
|
|
41
|
+
Dynamic: license-file
|
|
42
|
+
|
|
43
|
+
# OpenFisca Core
|
|
44
|
+
|
|
45
|
+
[](https://pepy.tech/project/openfisca-core)
|
|
46
|
+
[](https://pypi.python.org/pypi/openfisca-core)
|
|
47
|
+
|
|
48
|
+
[](https://pypi.python.org/pypi/openfisca-core)
|
|
49
|
+
[](https://github.com/openfisca/openfisca-core/graphs/contributors)
|
|
50
|
+
|
|
51
|
+
[](mailto:contact%40openfisca.org?subject=Subscribe%20to%20your%20newsletter%20%7C%20S'inscrire%20%C3%A0%20votre%20newsletter&body=%5BEnglish%20version%20below%5D%0A%0ABonjour%2C%0A%0AVotre%C2%A0pr%C3%A9sence%C2%A0ici%C2%A0nous%C2%A0ravit%C2%A0!%20%F0%9F%98%83%0A%0AEnvoyez-nous%20cet%20email%20pour%20que%20l'on%20puisse%20vous%20inscrire%20%C3%A0%20la%20newsletter.%20%0A%0AAh%C2%A0!%20Et%20si%20vous%20pouviez%20remplir%20ce%20petit%20questionnaire%2C%20%C3%A7a%20serait%20encore%20mieux%C2%A0!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2F45M0VR1TYKD1RGzX2%0A%0AAmiti%C3%A9%2C%0AL%E2%80%99%C3%A9quipe%20OpenFisca%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20ENGLISH%20VERSION%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0AHi%2C%20%0A%0AWe're%20glad%20to%20see%20you%20here!%20%F0%9F%98%83%0A%0APlease%20send%20us%20this%20email%2C%20so%20we%20can%20subscribe%20you%20to%20the%20newsletter.%0A%0AAlso%2C%20if%20you%20can%20fill%20out%20this%20short%20survey%2C%20even%20better!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2FsOg8K1abhhm441LG2%0A%0ACheers%2C%0AThe%20OpenFisca%20Team)
|
|
52
|
+
[](https://twitter.com/intent/follow?screen_name=openfisca)
|
|
53
|
+
[](mailto:contact%40openfisca.org?subject=Join%20you%20on%20Slack%20%7C%20Nous%20rejoindre%20sur%20Slack&body=%5BEnglish%20version%20below%5D%0A%0ABonjour%2C%0A%0AVotre%C2%A0pr%C3%A9sence%C2%A0ici%C2%A0nous%C2%A0ravit%C2%A0!%20%F0%9F%98%83%0A%0ARacontez-nous%20un%20peu%20de%20vous%2C%20et%20du%20pourquoi%20de%20votre%20int%C3%A9r%C3%AAt%20de%20rejoindre%20la%20communaut%C3%A9%20OpenFisca%20sur%20Slack.%0A%0AAh%C2%A0!%20Et%20si%20vous%20pouviez%20remplir%20ce%20petit%20questionnaire%2C%20%C3%A7a%20serait%20encore%20mieux%C2%A0!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2F45M0VR1TYKD1RGzX2%0A%0AN%E2%80%99oubliez%20pas%20de%20nous%20envoyer%20cet%20email%C2%A0!%20Sinon%2C%20on%20ne%20pourra%20pas%20vous%20contacter%20ni%20vous%20inviter%20sur%20Slack.%0A%0AAmiti%C3%A9%2C%0AL%E2%80%99%C3%A9quipe%20OpenFisca%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20ENGLISH%20VERSION%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0AHi%2C%20%0A%0AWe're%20glad%20to%20see%20you%20here!%20%F0%9F%98%83%0A%0APlease%20tell%20us%20a%20bit%20about%20you%20and%20why%20you%20want%20to%20join%20the%20OpenFisca%20community%20on%20Slack.%0A%0AAlso%2C%20if%20you%20can%20fill%20out%20this%20short%20survey%2C%20even%20better!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2FsOg8K1abhhm441LG2.%0A%0ADon't%20forget%20to%20send%20us%20this%20email!%20Otherwise%20we%20won't%20be%20able%20to%20contact%20you%20back%2C%20nor%20invite%20you%20on%20Slack.%0A%0ACheers%2C%0AThe%20OpenFisca%20Team)
|
|
54
|
+
|
|
55
|
+
[OpenFisca](https://openfisca.org/doc/) is a versatile microsimulation free software. Check the [online documentation](https://openfisca.org/doc/) for more details.
|
|
56
|
+
|
|
57
|
+
This package contains the core features of OpenFisca, which are meant to be used by country packages such as [OpenFisca-France](https://github.com/openfisca/openfisca-france). Bootstrapping your own country package should not take more than 5 minutes: check our [country package template](https://github.com/openfisca/country-template).
|
|
58
|
+
|
|
59
|
+
## Environment
|
|
60
|
+
|
|
61
|
+
OpenFisca runs on Python. See [pyproject.toml](pyproject.toml) for supported versions.
|
|
62
|
+
|
|
63
|
+
OpenFisca also relies strongly on NumPy. The last four minor versions should work, but only the latest/stable is tested.
|
|
64
|
+
|
|
65
|
+
## Installation
|
|
66
|
+
|
|
67
|
+
If you're developing your own country package, you don't need to explicitly install OpenFisca-Core. It just needs to appear [in your package dependencies](https://github.com/openfisca/openfisca-france/blob/100.0.0/setup.py#L60).
|
|
68
|
+
If you want to contribute to OpenFisca-Core itself, welcome!
|
|
69
|
+
To install it locally we recommend to use [uv](https://docs.astral.sh/uv/getting-started/).
|
|
70
|
+
|
|
71
|
+
### Installing `openfisca-core` with `uv`
|
|
72
|
+
|
|
73
|
+
This installation requires [Python](https://www.python.org/downloads/) and [GIT](https://git-scm.com) installations.
|
|
74
|
+
|
|
75
|
+
To install `openfisca-core` locally in development mode run the following commands in a shell terminal:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
git clone https://github.com/openfisca/openfisca-core.git
|
|
79
|
+
cd openfisca-core
|
|
80
|
+
make test
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Testing
|
|
84
|
+
|
|
85
|
+
Install the test dependencies:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
make install-deps install-edit install-test
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
> For integration testing purposes, `openfisca-core` relies on
|
|
92
|
+
> [country-template](https://github.com/openfisca/country-template.git) and
|
|
93
|
+
> [extension-template](https://github.com/openfisca/extension-template.git).
|
|
94
|
+
> Because these packages rely at the same time on `openfisca-core`, they need
|
|
95
|
+
> to be installed separately.
|
|
96
|
+
|
|
97
|
+
To run the entire test suite:
|
|
98
|
+
|
|
99
|
+
```sh
|
|
100
|
+
make test
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
If you have many tests, you could run them in parallel :
|
|
104
|
+
```sh
|
|
105
|
+
make test-core openfisca_args="--in-parallel"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
You could add an option `--num-workers=4` to limit to 4 threads. Default is your CPU Core number minus 1.
|
|
109
|
+
|
|
110
|
+
Be aware that this add overhead so use it only for huge test suite.
|
|
111
|
+
|
|
112
|
+
To run all the tests defined on a test file:
|
|
113
|
+
|
|
114
|
+
```sh
|
|
115
|
+
pytest tests/core/test_parameters.py
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
To run a single test:
|
|
119
|
+
|
|
120
|
+
```sh
|
|
121
|
+
pytest tests/core/test_parameters.py -k test_parameter_for_period
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Types
|
|
125
|
+
|
|
126
|
+
This repository relies on MyPy for optional dynamic & static type checking.
|
|
127
|
+
|
|
128
|
+
As NumPy introduced the `typing` module in 1.20.0, to ensure type hints do not break the code at runtime, we run the checker against the last four minor NumPy versions.
|
|
129
|
+
|
|
130
|
+
Type checking is already run with `make test`. To run the type checker alone:
|
|
131
|
+
|
|
132
|
+
```sh
|
|
133
|
+
make check-types
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Style
|
|
137
|
+
|
|
138
|
+
This repository adheres to a [certain coding style](STYLEGUIDE.md), and we invite you to follow it for your contributions to be integrated promptly.
|
|
139
|
+
|
|
140
|
+
Style checking is already run with `make test`. To run the style checker alone:
|
|
141
|
+
|
|
142
|
+
```sh
|
|
143
|
+
make check-style
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
To automatically style-format your code changes:
|
|
147
|
+
|
|
148
|
+
```sh
|
|
149
|
+
make format-style
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
To automatically style-format your code changes each time you commit:
|
|
153
|
+
|
|
154
|
+
```sh
|
|
155
|
+
touch .git/hooks/pre-commit
|
|
156
|
+
chmod +x .git/hooks/pre-commit
|
|
157
|
+
|
|
158
|
+
tee -a .git/hooks/pre-commit << END
|
|
159
|
+
#!/bin/bash
|
|
160
|
+
#
|
|
161
|
+
# Automatically format your code before committing.
|
|
162
|
+
# Change .venv/bin/activate if your virtual environment is located elsewhere.
|
|
163
|
+
source .venv/bin/activate
|
|
164
|
+
exec make format-style
|
|
165
|
+
exec make check-style
|
|
166
|
+
END
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Documentation
|
|
170
|
+
|
|
171
|
+
OpenFisca’s toolchain checks whether documentation builds correctly and updates it automatically with each contribution to this repository.
|
|
172
|
+
|
|
173
|
+
In the meantime, please take a look at our [contributing guidelines](CONTRIBUTING.md) for some general tips on how to document your contributions, and at our official documentation's [repository](https://github.com/openfisca/openfisca-doc/blob/main/README.md) to in case you want to know how to build it by yourself —and improve it!
|
|
174
|
+
|
|
175
|
+
## Serving the API
|
|
176
|
+
|
|
177
|
+
OpenFisca-Core provides a Web-API. It is by default served on the `5000` port.
|
|
178
|
+
|
|
179
|
+
To run it with the mock country package `openfisca_country_template` and another port value such as `2000`, run:
|
|
180
|
+
|
|
181
|
+
```sh
|
|
182
|
+
openfisca serve --country-package openfisca_country_template --port 2000
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
To read more about the `openfisca serve` command, check out its [documentation](https://openfisca.org/doc/openfisca-python-api/openfisca_serve.html).
|
|
186
|
+
|
|
187
|
+
By default, the Web API uses 3 workers to avoid [this issue](http://stackoverflow.com/questions/11150343/slow-requests-on-local-flask-server). Without it, AJAX requests from Chrome sometimes take more than 20s to process. You can change the number of workers by specifying a `--workers k` option.
|
|
188
|
+
|
|
189
|
+
You can test that the API is running by executing the command:
|
|
190
|
+
|
|
191
|
+
```sh
|
|
192
|
+
curl http://localhost:2000/parameters
|
|
193
|
+
```
|
|
194
|
+
For more information about endpoints and input formatting, see the [official documentation](https://openfisca.org/doc/openfisca-web-api).
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
openfisca_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
openfisca_core/formula_helpers.py,sha256=-xWsUfKO3a6ou0A-VRh8WhmL-uf-VfyOtyso6bKNSAg,361
|
|
3
|
+
openfisca_core/memory_config.py,sha256=y2zGvpdQfC8TNCI1nVz8QceCf6lpQG3-CjYlkvMGu84,355
|
|
4
|
+
openfisca_core/model_api.py,sha256=QWW6Cr-csnbQWv8r4WBtrjfPD3ycs7Q8UPJ6jj5iTqk,1438
|
|
5
|
+
openfisca_core/rates.py,sha256=LP6wjMUNLSRh0p_6eMDGE1w_RqpihJ6yHx1Tg06vOB0,356
|
|
6
|
+
openfisca_core/simulation_builder.py,sha256=kfJ2iSB-DvicI1HOVOFmYS1VrOo3auSRKeRzUXemsyE,490
|
|
7
|
+
openfisca_core/types.py,sha256=WiRpO2QwJyofl3f2L4Jf9IrQznBEHul3FvRXhNwYovc,12310
|
|
8
|
+
openfisca_core/commons/__init__.py,sha256=CsWbGwS3dvx2y60PeIkKo6LiV27-QI9lVe3BM_g1X8g,425
|
|
9
|
+
openfisca_core/commons/dummy.py,sha256=D8uK-Yp2l4IixVVMOf1tj3dPu74GiGqPlGa4H9BdhZc,565
|
|
10
|
+
openfisca_core/commons/formulas.py,sha256=OI6Hy4hRgWXbBH1bkDqNmak8pi-WbCiW982r1qXWw_E,3404
|
|
11
|
+
openfisca_core/commons/misc.py,sha256=3cZgAmdV_aNoB2uZQWkxFV3LjF2Tsn3GoqD-MvGKLow,2365
|
|
12
|
+
openfisca_core/commons/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
+
openfisca_core/commons/rates.py,sha256=D3r802YA0dn8-MtiGvLnadt1WodujVM3JtVafSsBUuo,3263
|
|
14
|
+
openfisca_core/commons/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
openfisca_core/commons/tests/test_dummy.py,sha256=TyEYvOl8kHGL0Ml3BoWoBG4kIU6q71HzVKkVMXJ81FU,226
|
|
16
|
+
openfisca_core/commons/tests/test_formulas.py,sha256=EV02CcAlf3R7CGWfct3WhHbjQNTWfaQJ15qZFVOTdpA,2197
|
|
17
|
+
openfisca_core/commons/tests/test_rates.py,sha256=B_U1PXf-wO9Oy6IvYYDM6scXQCbzAYE49fqa3o1w4uI,743
|
|
18
|
+
openfisca_core/data_storage/__init__.py,sha256=3IH43XN7oMGpeIB3737VusTz6UlSTzb6NY7S3FqFRFQ,231
|
|
19
|
+
openfisca_core/data_storage/in_memory_storage.py,sha256=AU9vHY8Gir3jivg9dzn5MiuIa3ZW0MQq6Cd1HQsXni4,5730
|
|
20
|
+
openfisca_core/data_storage/on_disk_storage.py,sha256=Egekg9fs7swpT4Lssup8vLIGMcbch_M5E3L39PSWDx8,10225
|
|
21
|
+
openfisca_core/data_storage/types.py,sha256=d8iMcr_7ivU2c53yUElNMNshUAzZfti7Ua4h1-D7s64,309
|
|
22
|
+
openfisca_core/entities/__init__.py,sha256=xKjL0wFKz6wibVOrKvtOGhQaQYtiPHDa_QdWzPuoHbA,509
|
|
23
|
+
openfisca_core/entities/_core_entity.py,sha256=BxnnNoy6tlaFMeMEJgPTtg7SfOR0fCLkML_hdkI5B14,6965
|
|
24
|
+
openfisca_core/entities/_description.py,sha256=1sd6brFdxilTbBO19GAjhyHKM67lawYbzVOCLYGZmNA,1340
|
|
25
|
+
openfisca_core/entities/entity.py,sha256=T4ukifuaBGLTWsW_W_dGmPUEKwLFHbGs0Cb3xCCsZl8,1444
|
|
26
|
+
openfisca_core/entities/group_entity.py,sha256=ct6rnGALzvBS_ZGxFdLPCfYdWKF1du9KPt1KimbNe4c,3678
|
|
27
|
+
openfisca_core/entities/helpers.py,sha256=uvLQT4XQ89K7Q3Sz6KEQaMs5ir6SO1akA5WX0sa4sFQ,4517
|
|
28
|
+
openfisca_core/entities/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
+
openfisca_core/entities/role.py,sha256=ddfkeFLCiluj4UeuSBXGqdaL-WATXyfqo5o14QNzupY,2422
|
|
30
|
+
openfisca_core/entities/types.py,sha256=akIfgZFzbWhGp-SD2DRgfvi6qg8eHeopoZx1rHxp00Q,677
|
|
31
|
+
openfisca_core/entities/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
+
openfisca_core/entities/tests/test_entity.py,sha256=Y7c56KCotBK8QygZLoIGofRhx4amJTODiKSkrHNpJ44,319
|
|
33
|
+
openfisca_core/entities/tests/test_group_entity.py,sha256=Cle3lAYtDIa-gM2K5ewW3FTxkD0yE5J9WIUnsAT4-0A,1682
|
|
34
|
+
openfisca_core/entities/tests/test_role.py,sha256=ARjE6N2g_6cSA-CcQH5SjNdqOwxx29u_JqcCdLgYMmk,387
|
|
35
|
+
openfisca_core/errors/__init__.py,sha256=ys6dcx4iZoQ5NITXgKXUsWFRkKK179_LHPdEGJfqR_A,2002
|
|
36
|
+
openfisca_core/errors/cycle_error.py,sha256=q2EzdJeopW4zuZhGiZo7khyz3MIs5lxOwhRrNvjHSLE,57
|
|
37
|
+
openfisca_core/errors/empty_argument_error.py,sha256=bEwRqOXH4-MX13q5eX61XGFS-jvXBaF72DoPuOvSRg8,1484
|
|
38
|
+
openfisca_core/errors/nan_creation_error.py,sha256=gChQIOUTDjNn33UXWEZ121sdwP0mwEpebHSIKrlWCH4,63
|
|
39
|
+
openfisca_core/errors/parameter_not_found_error.py,sha256=6Akqm17cteu3E0PQnieAhpfLcinQPyLYwZAQ9jyUEbw,844
|
|
40
|
+
openfisca_core/errors/parameter_parsing_error.py,sha256=Gy5QXYWFE24ou5U6g2jzpoWATaefekn0xCz0990RAm4,633
|
|
41
|
+
openfisca_core/errors/period_mismatch_error.py,sha256=gAF2MLAca96DTeEAHClAYNofnWeXHiXEywztXGmExu4,451
|
|
42
|
+
openfisca_core/errors/situation_parsing_error.py,sha256=xkVSuSRHbHTA_ipnePIhmBm51ISawpzk0X0YhJl6czg,719
|
|
43
|
+
openfisca_core/errors/spiral_error.py,sha256=FED_FOO0AnwRAd2Z_XLXBz4SIbg0dMCrzyuTSwoCvZc,58
|
|
44
|
+
openfisca_core/errors/variable_name_config_error.py,sha256=ja5iB3ejte3m1zxmHuJ68tJoWu2rhG6MEcyyxW2ziH4,148
|
|
45
|
+
openfisca_core/errors/variable_not_found_error.py,sha256=IK1v8mB31r86eupYY0CqZY5UAZe7ytJW1HaRnigTISc,1646
|
|
46
|
+
openfisca_core/experimental/__init__.py,sha256=yf8O5w9mOOpovomkdZjzsXYLiLb9cM2-ZupEjZlzCcY,192
|
|
47
|
+
openfisca_core/experimental/_errors.py,sha256=k1fie0JJZWO05pH8FKUDC9dSmGBEcNAl6lFEcw15dlQ,119
|
|
48
|
+
openfisca_core/experimental/_memory_config.py,sha256=hWPNx8nNqoLt37YpLMV_j57etH7bcG7__A5gYCVp8T0,1397
|
|
49
|
+
openfisca_core/holders/__init__.py,sha256=xRPdZtbGXgEsod0W0RNLMNyAVN8Di0NFxC6u4Pr_ROs,891
|
|
50
|
+
openfisca_core/holders/helpers.py,sha256=xvwsDtoZrA-M7CXgZ8eJzMHKz0vQOSpnJOqYQ00U3fw,4121
|
|
51
|
+
openfisca_core/holders/holder.py,sha256=CYc3RPeBRRNCeHMmg8GDkSMkeVi4XvIu3u5ITXo_Js4,12362
|
|
52
|
+
openfisca_core/holders/types.py,sha256=qNlHStTKd_sNX6fVEsmpzovzYDUgGH7_XvzQmcl-dvA,124
|
|
53
|
+
openfisca_core/holders/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
|
+
openfisca_core/holders/tests/test_helpers.py,sha256=WFlqoPieBaaHzMOS61IhfGpQAV_2bIIuqPt7kWNT2j4,4902
|
|
55
|
+
openfisca_core/indexed_enums/__init__.py,sha256=QYgBNwj4Et8At71E_TjP1gc-wG6LXRGQjSGQb5iiiG8,437
|
|
56
|
+
openfisca_core/indexed_enums/_enum_type.py,sha256=gQM1qXAJ1ucLGnFEw3tnTcuTum1D0a3FSnw9g3diHvo,2011
|
|
57
|
+
openfisca_core/indexed_enums/_errors.py,sha256=BmS5T56knbMXxkYBwLmIUpeUlAL3rbt-NvD1rDFs48Y,1223
|
|
58
|
+
openfisca_core/indexed_enums/_guards.py,sha256=rmTQw322Az5DQ-Xtj7NUQE0XauhVKDR5ybBgQMjx0mY,4748
|
|
59
|
+
openfisca_core/indexed_enums/_utils.py,sha256=PCn9uC_oXDmPbZVuFSEhyknJslPj1qRcsVvWAVeTyY8,5466
|
|
60
|
+
openfisca_core/indexed_enums/config.py,sha256=c8lY3D0l5aNvKnFk34w6mQFx58pXFdIu4ZpCqEBzzpo,78
|
|
61
|
+
openfisca_core/indexed_enums/enum.py,sha256=voLLibF3GkK7O65YVGgjz3Hxpu6JoNNm4uedmlixXbc,6262
|
|
62
|
+
openfisca_core/indexed_enums/enum_array.py,sha256=AVFXo7nBhtgdN0nGDqxoqXd4lKFaV3nHVmBOjrliUck,9102
|
|
63
|
+
openfisca_core/indexed_enums/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
|
+
openfisca_core/indexed_enums/types.py,sha256=XpyGFzgTrDHZCHrdCPk9lKscGupdE2kRaJdRjufaGEU,951
|
|
65
|
+
openfisca_core/indexed_enums/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
66
|
+
openfisca_core/indexed_enums/tests/test_enum.py,sha256=4wEw8Ehz58GsmR0BiAjIhUuvrMu221javF_J7E_YGIk,3670
|
|
67
|
+
openfisca_core/indexed_enums/tests/test_enum_array.py,sha256=uoHzp1vY-mfK9zGdnWo69ppYdikds96kei2P7Pqy8U0,766
|
|
68
|
+
openfisca_core/parameters/__init__.py,sha256=5mppsn0H6AzlNof71qDP5LziPqY8UVPh5HQ-9g6NDmw,2029
|
|
69
|
+
openfisca_core/parameters/at_instant_like.py,sha256=xbf8bjruYjDPrT0l6Ajh-5p2EXsjy2LX5xB26OJ-MIQ,450
|
|
70
|
+
openfisca_core/parameters/config.py,sha256=-iTQivJGuWHyDEmjqJtIYBZfmyD1KR53z2256pZskQ0,1708
|
|
71
|
+
openfisca_core/parameters/helpers.py,sha256=Y-Twn63KSCXHNhT8_MVHMuYWKpqGtuPve2n-Fy4kqGc,3573
|
|
72
|
+
openfisca_core/parameters/parameter.py,sha256=6UKg3Em5Hic_Fr_5CW-vrtuvJTAySv_f5Zxm1HR8fn0,7895
|
|
73
|
+
openfisca_core/parameters/parameter_at_instant.py,sha256=7lBIaktvPzx9R5HSJwjHqltzJUFKmOMVMEMr8WuSBbo,2584
|
|
74
|
+
openfisca_core/parameters/parameter_node.py,sha256=Gl8NViW5z44xFYPOu3vDxH3lnZAXy5AdSMS-7Zrlizk,7129
|
|
75
|
+
openfisca_core/parameters/parameter_node_at_instant.py,sha256=HpGOk1ToT64opXmCedAUsIq4Pnfd3gkAGFhuV1ggjYg,2100
|
|
76
|
+
openfisca_core/parameters/parameter_scale.py,sha256=B97bobfQ7GfnjrD6HFZ3-sJkRlEFHdpa9HRQlSTuPkk,4515
|
|
77
|
+
openfisca_core/parameters/parameter_scale_bracket.py,sha256=wQqvbIbTMzPnS5N9v6cDnyS9SBSjonWv9cijbv7zVjs,204
|
|
78
|
+
openfisca_core/parameters/values_history.py,sha256=GaIdkKROPZg4vNqVCh-Y57adSpRAAQzMQANly76UJXs,110
|
|
79
|
+
openfisca_core/parameters/vectorial_parameter_node_at_instant.py,sha256=JChO9SmI5TRaAMk7D4bIvP02KNhqKpIn7bigPCE6PYk,7747
|
|
80
|
+
openfisca_core/periods/__init__.py,sha256=E-1fwCm1ETZDljvI7mWNUuzSC0jP6fBth8qrVR7_JAs,1717
|
|
81
|
+
openfisca_core/periods/_errors.py,sha256=ceFVcStQUDVMazRnmP-Y7EWBBSU4-0pBt0VVu6-2ziA,1005
|
|
82
|
+
openfisca_core/periods/_parsers.py,sha256=_uejrHDYwkkMoIp-mQEeCl_plNPREEH0wt3VGmG0tD8,2889
|
|
83
|
+
openfisca_core/periods/config.py,sha256=wOlHRCzTCwt_RigwALHji6M8dcG7fH5kYB2NZ1-pU5Q,565
|
|
84
|
+
openfisca_core/periods/date_unit.py,sha256=-pvjXjXepTzKoY9olCRdN0ZaJqh1wP-MdPPvZI7k22s,2485
|
|
85
|
+
openfisca_core/periods/helpers.py,sha256=DNOIlwYKnapbiGBOTb0a3BFJwE1MU_5cSzPLpCNDGfs,7603
|
|
86
|
+
openfisca_core/periods/instant_.py,sha256=R5k_En0hRGaeRN30X8mSU_iWYdq3XhjFdbbNmJqb8P8,5912
|
|
87
|
+
openfisca_core/periods/period_.py,sha256=qxuktisGtJz0Kw-ct6MYisTwpAhjWl1ogtiANOQG8f4,31313
|
|
88
|
+
openfisca_core/periods/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
89
|
+
openfisca_core/periods/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
90
|
+
openfisca_core/periods/tests/test_instant.py,sha256=HDYUTHups2fKxKp7khPZ2q-44cv-4Bi1CtuhglIIyCA,1814
|
|
91
|
+
openfisca_core/periods/tests/test_parsers.py,sha256=7aQNftT4JbTBaKCfSU0P2TsJRtYpjMvmWv7Roemuddc,3797
|
|
92
|
+
openfisca_core/periods/tests/test_period.py,sha256=mR47oKO0hgOgET0UvDUr73P348Mzp6pA157y-1xzlhY,9369
|
|
93
|
+
openfisca_core/periods/tests/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
94
|
+
openfisca_core/periods/tests/helpers/test_helpers.py,sha256=KtbO3ZbjccmNbOy8t4yAZ90O_cggQUHaPkPHZ8MEHMY,1914
|
|
95
|
+
openfisca_core/periods/tests/helpers/test_instant.py,sha256=pRWMUK-UwgH_uTKwyu5Z7SEGcHKj0KnaJT-TLpojGt4,2376
|
|
96
|
+
openfisca_core/periods/tests/helpers/test_period.py,sha256=P6OWYSzzBy2g49d_9txQF0ObogFssDcxi_b3cubTE5s,6149
|
|
97
|
+
openfisca_core/populations/__init__.py,sha256=UJK6rGxO46Bj8ebl13QyVUklzPvxT8mIHx-OAzI-QhQ,1657
|
|
98
|
+
openfisca_core/populations/_core_population.py,sha256=8b3_MkYL-gjvkRS3f8gApihctBL26VP4t-5MBTazX0c,14973
|
|
99
|
+
openfisca_core/populations/_errors.py,sha256=TYkIgWS0abQduJtLOdO0aEMKL1-2GuVGrJ89-OFWg6I,2133
|
|
100
|
+
openfisca_core/populations/group_population.py,sha256=hzknix8NBPmdWnAHsKy57JzbCYNeUcFuTPbb4cqyi2M,12283
|
|
101
|
+
openfisca_core/populations/population.py,sha256=27uC_Xs4b9YL4ETTxeZe89gk9MK864N9K0M8hfKH4Fo,5166
|
|
102
|
+
openfisca_core/populations/types.py,sha256=Slw3CX2r4lqLFYzbcloPvtz7PLdlDd_LbH27iDRPfhs,2241
|
|
103
|
+
openfisca_core/populations/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
104
|
+
openfisca_core/populations/tests/test_members_position.py,sha256=fCKgaci7DWdBMByxJlI953OPHzUbOI3cXbx27lT_pWg,4411
|
|
105
|
+
openfisca_core/projectors/__init__.py,sha256=Tglh2ZV9HZCQWpC7m0NaDVjtLINRj-ff-sLjozW5OXc,1184
|
|
106
|
+
openfisca_core/projectors/entity_to_person_projector.py,sha256=6ZJSjhrqgS7ZGjrvI9Ou3i1A0REb-N6NiUAkfRfYjT4,324
|
|
107
|
+
openfisca_core/projectors/first_person_to_entity_projector.py,sha256=9S1ow_Ny9-a22pULzX56ZOMMZ8Hkh3q5L6BC3jKoaBI,393
|
|
108
|
+
openfisca_core/projectors/helpers.py,sha256=nVcNDr9TsSC20WLWjTs6bXLLLWEfQDI_zz1PZBy9zyM,5009
|
|
109
|
+
openfisca_core/projectors/projector.py,sha256=MjVZTLwOLvCFvmrO0l8E48zvGXNbraWh_aH6882sUNA,1164
|
|
110
|
+
openfisca_core/projectors/typing.py,sha256=mxhW-qy9dCq5eorSrP_EK9qIOpLf-67peJdLM2kbiL8,575
|
|
111
|
+
openfisca_core/projectors/unique_role_to_entity_projector.py,sha256=YH3I0YreiM0Kl0flLuJrTalibZyYx-gQAWJQAt3ng40,435
|
|
112
|
+
openfisca_core/reforms/__init__.py,sha256=vMJld1sN39C5ZMXLkS7vI7y9BGONarg9TwoFC-cbcn4,695
|
|
113
|
+
openfisca_core/reforms/in_yaml_test_reform.py,sha256=ZQ9Z6IHZ283K9-KV5ugSIfQPd_PU7vPBTQo3r1rhI-A,955
|
|
114
|
+
openfisca_core/reforms/reform.py,sha256=gbZm7Vp2rBA8zgeoXWcyP4I2OF8YhUEpGlmzW-QldlE,3355
|
|
115
|
+
openfisca_core/scripts/__init__.py,sha256=baY4pXR1AngAL54e9n6VI84UYfVcfCSN_mSAxASs9FU,3720
|
|
116
|
+
openfisca_core/scripts/find_placeholders.py,sha256=vJb1DMlp5OP8w96Fn8-4rmrSfrYcoPGuvmr3i-mHAhU,1214
|
|
117
|
+
openfisca_core/scripts/measure_numpy_condition_notations.py,sha256=GTVWN52Lqb4caG18C1R5Q7c9QItkFL1p4nD8X_XRydk,3419
|
|
118
|
+
openfisca_core/scripts/measure_performances.py,sha256=4Crjgde8_hhI_ymOjVvjIvpvNXJlQZexSoYo5wI5PGI,7776
|
|
119
|
+
openfisca_core/scripts/measure_performances_fancy_indexing.py,sha256=ELOOId5nqjfF7HIu9KLNsgCrlbDovkXQEhxkfKVQRGU,3546
|
|
120
|
+
openfisca_core/scripts/openfisca_command.py,sha256=1-2vUviLa4lYFeXNZosIhwqJ5jhe0gHgWiRNV6AQhnk,5939
|
|
121
|
+
openfisca_core/scripts/remove_fuzzy.py,sha256=mTOcGmSp0RTudsPierZNR_fdQ2JmA_ciZCLN-EU6aN0,5526
|
|
122
|
+
openfisca_core/scripts/run_test.py,sha256=fZhPjnTbdf1jTjaPgzXn71gcyfB8Psj6tYLTmFHUWgU,1475
|
|
123
|
+
openfisca_core/scripts/simulation_generator.py,sha256=cJ_DcfSh6nbyneFXPltZgt-W7Lx7-syT1xRH3cdQWJ0,3351
|
|
124
|
+
openfisca_core/scripts/__pycache__/__init__.cpython-310-pytest-8.3.3.pyc,sha256=UQqn6ybO5jTECNsqQfWhFWALnY2v2e5iaSJDGvIvIRI,2898
|
|
125
|
+
openfisca_core/scripts/__pycache__/__init__.cpython-310-pytest-8.4.2.pyc,sha256=UQqn6ybO5jTECNsqQfWhFWALnY2v2e5iaSJDGvIvIRI,2898
|
|
126
|
+
openfisca_core/scripts/__pycache__/__init__.cpython-310.pyc,sha256=r8usyMlKsuiiwkOpT2l4nEtmwS_rYmw7VZ75FgYpARw,2789
|
|
127
|
+
openfisca_core/scripts/__pycache__/__init__.cpython-311-pytest-8.3.3.pyc,sha256=kE3hAi-ybJffOvX8v-WCYLuSXDFCXJmILgZNo29kX5c,4665
|
|
128
|
+
openfisca_core/scripts/__pycache__/__init__.cpython-311-pytest-8.4.2.pyc,sha256=kE3hAi-ybJffOvX8v-WCYLuSXDFCXJmILgZNo29kX5c,4665
|
|
129
|
+
openfisca_core/scripts/__pycache__/__init__.cpython-311.pyc,sha256=8V56THPxJM3CEFnmr8GHgEoB5cMU2sZ8pnh9fGvdKLg,4529
|
|
130
|
+
openfisca_core/scripts/__pycache__/__init__.cpython-312-pytest-8.4.2.pyc,sha256=OLqqvxEZn8A20BF9HOIoryG0pUR4kf6bbevrJ1axMIA,4221
|
|
131
|
+
openfisca_core/scripts/__pycache__/__init__.cpython-312.pyc,sha256=zPdf5hVdT037a4L2LYpZbItf87lKkRAOvZpky7YobW8,4107
|
|
132
|
+
openfisca_core/scripts/__pycache__/__init__.cpython-313-pytest-8.3.3.pyc,sha256=vOWyjlmdzSYqeQ_0GnnxdPNV1cssDjN6SdymVAgRAVw,4293
|
|
133
|
+
openfisca_core/scripts/__pycache__/__init__.cpython-313-pytest-8.4.2.pyc,sha256=vOWyjlmdzSYqeQ_0GnnxdPNV1cssDjN6SdymVAgRAVw,4293
|
|
134
|
+
openfisca_core/scripts/__pycache__/__init__.cpython-313.pyc,sha256=MO8P7XeIccMP2Uo7Rc2dpUpM0w4DXwwGgMleoWuTlQg,4147
|
|
135
|
+
openfisca_core/scripts/__pycache__/find_placeholders.cpython-311.pyc,sha256=W7tWlIPZMKblnI2HJXG_An1BrN8IarprtACF6TxS6jI,2675
|
|
136
|
+
openfisca_core/scripts/__pycache__/find_placeholders.cpython-313.pyc,sha256=JerqkMif8AHAUBT6fVUt9jwrVURgGkI2bSdypexUvv4,2294
|
|
137
|
+
openfisca_core/scripts/__pycache__/measure_numpy_condition_notations.cpython-311.pyc,sha256=886ABu7O-BC8XcKSv0q-8wjMakh7uedo-07KH5_WzI4,6213
|
|
138
|
+
openfisca_core/scripts/__pycache__/measure_numpy_condition_notations.cpython-313.pyc,sha256=2FKXr2U5JpSVQ07Tfk9PBQELxwsctPBkP2DMGl_PPoQ,5266
|
|
139
|
+
openfisca_core/scripts/__pycache__/measure_performances.cpython-311.pyc,sha256=00kIx-xm7hnm9rln7qqXRg6DMLv_VmZsDkDJv1TuptM,12470
|
|
140
|
+
openfisca_core/scripts/__pycache__/measure_performances.cpython-313.pyc,sha256=dhWRV1P2Hltj0Az5Hk6CTFYZwWH5ZzbYlNZGt8zkKA8,11359
|
|
141
|
+
openfisca_core/scripts/__pycache__/measure_performances_fancy_indexing.cpython-311.pyc,sha256=ua9p1Vnuj37lMEXqh5X0oFrAfe1j2a0Moz5qR2_Qnlk,4726
|
|
142
|
+
openfisca_core/scripts/__pycache__/measure_performances_fancy_indexing.cpython-313.pyc,sha256=pWYFCmM0nMCQqfaEQuNedr-NljSYMtEqAmfk67JaZIk,4862
|
|
143
|
+
openfisca_core/scripts/__pycache__/openfisca_command.cpython-310.pyc,sha256=m1qo4pyIeLjDU7OMWjxeukyWcnprpqFRaQi6rs-g46A,4228
|
|
144
|
+
openfisca_core/scripts/__pycache__/openfisca_command.cpython-311.pyc,sha256=j9xa3x6SgIkxeuNdfFZveLQPjhtQjMJn3BH9dnFZWYg,6700
|
|
145
|
+
openfisca_core/scripts/__pycache__/openfisca_command.cpython-312.pyc,sha256=2ZBMVhMt0MlZHputCKSd77I5EPro4jLaGaY0kxBiXQ0,6052
|
|
146
|
+
openfisca_core/scripts/__pycache__/openfisca_command.cpython-313.pyc,sha256=1kvWe6eZKxjt_w8bNEZIwuiwcRyTD8QyNH3hneYsDdE,5897
|
|
147
|
+
openfisca_core/scripts/__pycache__/remove_fuzzy.cpython-311.pyc,sha256=uEknHW_MUCtslBu2w_QloumWkFLBSgsJqTh553UoPAk,10800
|
|
148
|
+
openfisca_core/scripts/__pycache__/remove_fuzzy.cpython-313.pyc,sha256=v1Z_bx14rpqrWTBoXqLJEEJi6fo9jNYnq8XnA6FHGEM,8101
|
|
149
|
+
openfisca_core/scripts/__pycache__/run_test.cpython-310.pyc,sha256=heGc28ZKCU5n3kj1V_6BgIZH2z1O3Si2g5_IInp1I_A,1330
|
|
150
|
+
openfisca_core/scripts/__pycache__/run_test.cpython-311.pyc,sha256=f1w0wi4bGFmHxjynRsvDPtwNd0swG23T52VtZ9B09So,2184
|
|
151
|
+
openfisca_core/scripts/__pycache__/run_test.cpython-312.pyc,sha256=CX1j0HaeXTFSV3v6r_BIwOVZoxXbkXCQ9y2x4f5Uw8c,2174
|
|
152
|
+
openfisca_core/scripts/__pycache__/run_test.cpython-313.pyc,sha256=X5royra39xvCFWw_bC6jXvhx5LVyEi-mOK9riZq09Ds,2158
|
|
153
|
+
openfisca_core/scripts/__pycache__/simulation_generator.cpython-311.pyc,sha256=n-qACQ-bm1WsXPP3bTjjx1NobnDvI__BuNETnCAcCBg,3978
|
|
154
|
+
openfisca_core/scripts/__pycache__/simulation_generator.cpython-313.pyc,sha256=s5CjWLZX9m5YARq-RWC8DdrBtOfjMoENRqr00ztUE1I,3762
|
|
155
|
+
openfisca_core/scripts/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
156
|
+
openfisca_core/scripts/assets/index.html,sha256=nt2DH81vNSmRhMz4JqzFQRK0r4p3c5a9Cz4iOmFNOQM,4080
|
|
157
|
+
openfisca_core/scripts/assets/__pycache__/__init__.cpython-311.pyc,sha256=WXbAMKx9fcpoEZE3NNm8haWXSUbNYa5aAn4RU8RSXYA,152
|
|
158
|
+
openfisca_core/scripts/assets/__pycache__/__init__.cpython-313.pyc,sha256=pZIBZ_mbQA1e4zQ09yM-0ewi3_c8hmVd0FShg98ItX4,140
|
|
159
|
+
openfisca_core/scripts/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
160
|
+
openfisca_core/scripts/migrations/v24_to_25.py,sha256=K8GkLcS9vFyhf8bF9iuZ0x4_VINs56nWtaSEbOTW6cY,4769
|
|
161
|
+
openfisca_core/scripts/migrations/__pycache__/__init__.cpython-311.pyc,sha256=okYQIHxYe8oTHUqVLMldYaqfz-W4EDsB3FPaNg3PaWo,156
|
|
162
|
+
openfisca_core/scripts/migrations/__pycache__/__init__.cpython-313.pyc,sha256=IdlhhSIGeIvDdpgZaeXyppvtFVQh4uB8jjlrhj1Pyv0,144
|
|
163
|
+
openfisca_core/scripts/migrations/__pycache__/v24_to_25.cpython-311.pyc,sha256=j0DG4XvACOJY88-xTzYdmVCdOTaUhokpLehzBNF8U1o,8910
|
|
164
|
+
openfisca_core/scripts/migrations/__pycache__/v24_to_25.cpython-313.pyc,sha256=BAusDGx4DXV0OhdzOVyDcJgi92QaTfGx_gWqEQE2Lug,7518
|
|
165
|
+
openfisca_core/scripts/migrations/v16_2_to_v17/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
166
|
+
openfisca_core/scripts/migrations/v16_2_to_v17/legislation.xsd,sha256=0oN2jPXgOypTkXQcFSfukxP6ysPMsqztgUiH8pMgC2c,4045
|
|
167
|
+
openfisca_core/scripts/migrations/v16_2_to_v17/xml_to_yaml_country_template.py,sha256=geIuGUw66gu0ZOaiTyENY3slLzd1_pu3n9EqSNRU5oY,875
|
|
168
|
+
openfisca_core/scripts/migrations/v16_2_to_v17/xml_to_yaml_extension_template.py,sha256=aM-u7eZDAAL3XvS3k7KfBGoGOXbnFrBp-aeyQCHzUa0,776
|
|
169
|
+
openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/__init__.cpython-311.pyc,sha256=Muanb_aBLAHar_C6jRsXs7O2zJKPuMHPpi9--Fmjdeo,169
|
|
170
|
+
openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/__init__.cpython-313.pyc,sha256=Lq8Aa1VCWU4aPvasjx6Z5RUAW6XiLkr0I6djHdm51Ig,157
|
|
171
|
+
openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/xml_to_yaml_country_template.cpython-311.pyc,sha256=hA2hcm9jPQrvjH556sto-z8ZUddsZD2pyeDSQVE9iEY,1565
|
|
172
|
+
openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/xml_to_yaml_country_template.cpython-313.pyc,sha256=5vpI146U3n5vKsRJ1bmTc_bhIFNTY_VGdhO7xFXUZyw,1344
|
|
173
|
+
openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/xml_to_yaml_extension_template.cpython-311.pyc,sha256=SoiRs2xLDcbNfVoFhnd96iLsQYl7XLzR-UxI-6ws3Ak,1431
|
|
174
|
+
openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/xml_to_yaml_extension_template.cpython-313.pyc,sha256=BtHs-kC1Ws6QQUYX-a1tMdI0ig6aHmOYDne5wJJxZ_I,1262
|
|
175
|
+
openfisca_core/simulations/__init__.py,sha256=OMuwQI0KYF1wlnIVFL83R1whhtN4Ro8LSODTKT93ER4,1174
|
|
176
|
+
openfisca_core/simulations/_build_default_simulation.py,sha256=gYJU_zbLFMPVKCGgPXdwKFK2RCjRi93zIydNZgaU2oU,5213
|
|
177
|
+
openfisca_core/simulations/_build_from_variables.py,sha256=DLZOnzzmfTEFj8Mp3wKDky8BiXsBrlg4mM-mmaDy-es,8297
|
|
178
|
+
openfisca_core/simulations/_type_guards.py,sha256=1oQQP7x4OXzFY9KlSH2NoNLgXbTUd6Wj1vfx4w1ggeU,7671
|
|
179
|
+
openfisca_core/simulations/helpers.py,sha256=_40r9AguxjWUT9ivJlgzMpbzcLBY1xm3K9KHT1LXUUw,3370
|
|
180
|
+
openfisca_core/simulations/simulation.py,sha256=WOI64C79r3m8Coh3nsSjVQ37Nfs5OXCRM4C8LYIuLE0,23516
|
|
181
|
+
openfisca_core/simulations/simulation_builder.py,sha256=cgCXiwhXKXHShrjE2UWmTtV5UgmrYNqlzQs52sDpqGE,34344
|
|
182
|
+
openfisca_core/simulations/typing.py,sha256=ZlZ-Wfn8VZBHIIAJ770oO2h11LXYGCxPj_J63Cxbww4,5884
|
|
183
|
+
openfisca_core/taxbenefitsystems/__init__.py,sha256=7ZKmpBKdfktlQfoc6gvMK87YRcsT4TkQLF_hV2LXG4M,805
|
|
184
|
+
openfisca_core/taxbenefitsystems/tax_benefit_system.py,sha256=4Lo_vCYxsRMmn44q4lj93FnRIzwQZBPHbXhMsz3sEkM,21694
|
|
185
|
+
openfisca_core/taxscales/__init__.py,sha256=hw_xrjGrs393fFjdkFXdhcNagME01WHS7abFzjvtg_w,1401
|
|
186
|
+
openfisca_core/taxscales/abstract_rate_tax_scale.py,sha256=lImZQjlIxbp6RC0d5sILysKCSxjBGU-ETz31zf6UcaY,1062
|
|
187
|
+
openfisca_core/taxscales/abstract_tax_scale.py,sha256=1BE1i3tAofv_EdVhUGjSVbzwJpQAgIxJsXkOrcjvyD0,1421
|
|
188
|
+
openfisca_core/taxscales/amount_tax_scale_like.py,sha256=_woYIia6Z3PnkLRH8ZdkXAzbH3mhEy60kuQ7jjhhIHg,1403
|
|
189
|
+
openfisca_core/taxscales/helpers.py,sha256=vVgyHo_u1axRAPH64eNyOvA5hNhY59tY92ibUTJTgio,1145
|
|
190
|
+
openfisca_core/taxscales/linear_average_rate_tax_scale.py,sha256=dJPhPEf03msW-dSmZ7PxlKlMWEMmC-PMHSNtH0T-evU,2340
|
|
191
|
+
openfisca_core/taxscales/marginal_amount_tax_scale.py,sha256=UDsSVUsoE0u84vyg8EiHhTrP7IrrDPISOP4GFxDtI4o,907
|
|
192
|
+
openfisca_core/taxscales/marginal_rate_tax_scale.py,sha256=sCuWwP3hGz_XIirsaGWVMdXks01GYK-GQlc_WEOsGJU,9433
|
|
193
|
+
openfisca_core/taxscales/rate_tax_scale_like.py,sha256=eRy1WkW1bhmMoRjiCEQ9SAnaPhnABAelvZXP6d27qrA,6165
|
|
194
|
+
openfisca_core/taxscales/single_amount_tax_scale.py,sha256=3TJmlJKuY0GhwaE7Nx08qIV_Qu9NM-zv8yBPlD_4U-k,834
|
|
195
|
+
openfisca_core/taxscales/tax_scale_like.py,sha256=i6kXFFN0raleXgSJBwPXqhI1_a_wxMk0ClOveLN5_r4,1543
|
|
196
|
+
openfisca_core/tools/__init__.py,sha256=qMR49rkW_q-hID77FQtmMjxRujShUpSQwyRTGEIO-G8,3106
|
|
197
|
+
openfisca_core/tools/parallel_plugin.py,sha256=zIZZ3mfRNSvbrjqfVEuaN00uNDfgZBEbHoj0GhXtbAk,2351
|
|
198
|
+
openfisca_core/tools/simulation_dumper.py,sha256=Rl3Ii3umngH_T3ttBwA4ODWD7kCZFvYguGW4itHtFMY,4600
|
|
199
|
+
openfisca_core/tools/test_runner.py,sha256=5Hhl6VmmZkKA9WN9bdFNpVwtclixJ6Q3-us_yav6318,27500
|
|
200
|
+
openfisca_core/tracers/__init__.py,sha256=-sH_vxDBbxpe-y0BQgUwEm4un8flsNTFutGciSyDjso,1131
|
|
201
|
+
openfisca_core/tracers/computation_log.py,sha256=80eouyVS5Pi5l70t4jACkuyl8zJUqNoqc5HwXr1pNWY,6520
|
|
202
|
+
openfisca_core/tracers/flat_trace.py,sha256=lIDX5vLvc1ksi7chAYfVmtniMII2_aUBqHHuFwNQO6s,2459
|
|
203
|
+
openfisca_core/tracers/full_tracer.py,sha256=rrw9wACdP9MjT_gtJcWJ8L6OTguxT7cfPzkAA6xkTdM,4993
|
|
204
|
+
openfisca_core/tracers/performance_log.py,sha256=XldurJzJFT_XduUbDGMQse0uwkNZGfgAgtVJVg4aXSI,4125
|
|
205
|
+
openfisca_core/tracers/simple_tracer.py,sha256=jEnV95I6BmRUyAzqRDg1Q6ORRjEf77zYy1oUkao3x-s,1758
|
|
206
|
+
openfisca_core/tracers/trace_node.py,sha256=WlcZY2OH2pdEeOmJQKVtDlzqMFDIdJfVQnM0-UKqkPs,3000
|
|
207
|
+
openfisca_core/tracers/tracing_parameter_node_at_instant.py,sha256=SFxlo3XLyC5nvoJcSSg0cQFXgRQOgWFr7xL_5MRVWDs,2332
|
|
208
|
+
openfisca_core/variables/__init__.py,sha256=ZiuRlEQdepBuG16iLd3nWi-wrnf3IeqhuGgfwj3t0Dc,851
|
|
209
|
+
openfisca_core/variables/config.py,sha256=F5tJjn8cLymScOQE8r-zTh1a-9dXfFgt2yxL67SDk5w,1357
|
|
210
|
+
openfisca_core/variables/helpers.py,sha256=UFGnFcv8VAmhuhYAhmOFWr930lODj03RGJAPv0SYwFc,2109
|
|
211
|
+
openfisca_core/variables/variable.py,sha256=XZgD8ierb3G2Y0UOLG8aS4kKUsw8JpDT3k7RewkcEPk,17323
|
|
212
|
+
openfisca_core/variables/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
213
|
+
openfisca_core/variables/tests/test_definition_period.py,sha256=qRoJTjvbDONd-L45nmI9MQQTmhdqaN2TjFhc3m9HV3o,934
|
|
214
|
+
openfisca_core/warnings/__init__.py,sha256=fqpb-6vLMkvpOQG2WnivBq8vscmtK3IJ8QmECOlUBGM,772
|
|
215
|
+
openfisca_core/warnings/libyaml_warning.py,sha256=gvLN_kd4xqW1Qa1tPaG44Ult43M81kzMqjBcWyfWOQ0,87
|
|
216
|
+
openfisca_core/warnings/tempfile_warning.py,sha256=yI6LgXicCkBLzzCf8q8u1dTOYeiEfbFEd2Nx4_eTatU,92
|
|
217
|
+
openfisca_core_test-46.0.0.data/data/share/openfisca/openfisca-core/CHANGELOG.md,sha256=kPwJ9pFbPwbOE5vPEYqks3KpeqjlWf65Mlk7_Tnz4Ik,150831
|
|
218
|
+
openfisca_core_test-46.0.0.data/data/share/openfisca/openfisca-core/README.md,sha256=eQzoFuibDvnt7ErmCWLN2cAbJ17-UlEX0prVHad7ogA,8653
|
|
219
|
+
openfisca_core_test-46.0.0.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
|
220
|
+
openfisca_web_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
221
|
+
openfisca_web_api/app.py,sha256=DoYsLiHHI2Z9dnJTirG0ioD_omuxjkGBXvm1iAvCUKQ,7493
|
|
222
|
+
openfisca_web_api/errors.py,sha256=p13jJ_vg6xQK9cpkK3JkT5DySOhs-SPcHBTODpu171w,317
|
|
223
|
+
openfisca_web_api/handlers.py,sha256=ErEgR3P6Dz1tTxeyByIj7ZUXcYIKJ6TGoDJKsKhuSrc,3687
|
|
224
|
+
openfisca_web_api/openAPI.yml,sha256=KX8YtuaPs6rAxFAakxXgYcgInjMCPd47GcfQrP3BLrM,13719
|
|
225
|
+
openfisca_web_api/loader/__init__.py,sha256=iDgpmPNGWF898KoVNBdjHAALodTZS66EqyAsiYwFkXA,913
|
|
226
|
+
openfisca_web_api/loader/entities.py,sha256=HuqOvEIgy2mcRWxAs0wH0Os6UVR-6XzPWNQcKwD8ZIE,759
|
|
227
|
+
openfisca_web_api/loader/parameters.py,sha256=Z-iZjP422Xqi9tVVo1zj-hqcwS2z-kKhp26FrlIGqwI,4133
|
|
228
|
+
openfisca_web_api/loader/spec.py,sha256=KhIChtbiqwneE_BvMAv4O7_0VpbtO213ZDPg3dZu6wg,5617
|
|
229
|
+
openfisca_web_api/loader/tax_benefit_system.py,sha256=rJ0Mrzy8SmzCn-4CdiIaQ3eW8Fy35zcyPqUVDNDFynU,955
|
|
230
|
+
openfisca_web_api/loader/variables.py,sha256=ObHF4bS85RJdPkQtu54CoaezUeg0v2MPAPeLmwFIGSM,3307
|
|
231
|
+
openfisca_web_api/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
232
|
+
openfisca_web_api/scripts/serve.py,sha256=li9z9y16Dz3qS0iSnRFxk7iJjTedRt1K2ao6hBFNb8c,2950
|
|
233
|
+
openfisca_core_test-46.0.0.dist-info/METADATA,sha256=V8RiqXywB9yMGXsUR6DCyylVhOn4q7hly45Whsm8OoY,10495
|
|
234
|
+
openfisca_core_test-46.0.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
235
|
+
openfisca_core_test-46.0.0.dist-info/entry_points.txt,sha256=9HTdOVssT9-L6fcJnDTzwVPcHmXTW9AiY3wIi9DTIvc,143
|
|
236
|
+
openfisca_core_test-46.0.0.dist-info/top_level.txt,sha256=chT1q_Ft4gQeaxmGlFWou2mBT6hnj9bup93xXeZTFGE,33
|
|
237
|
+
openfisca_core_test-46.0.0.dist-info/RECORD,,
|