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.
Files changed (237) hide show
  1. openfisca_core/__init__.py +0 -0
  2. openfisca_core/commons/__init__.py +18 -0
  3. openfisca_core/commons/dummy.py +25 -0
  4. openfisca_core/commons/formulas.py +121 -0
  5. openfisca_core/commons/misc.py +109 -0
  6. openfisca_core/commons/py.typed +0 -0
  7. openfisca_core/commons/rates.py +114 -0
  8. openfisca_core/commons/tests/__init__.py +0 -0
  9. openfisca_core/commons/tests/test_dummy.py +9 -0
  10. openfisca_core/commons/tests/test_formulas.py +75 -0
  11. openfisca_core/commons/tests/test_rates.py +26 -0
  12. openfisca_core/data_storage/__init__.py +7 -0
  13. openfisca_core/data_storage/in_memory_storage.py +198 -0
  14. openfisca_core/data_storage/on_disk_storage.py +307 -0
  15. openfisca_core/data_storage/types.py +14 -0
  16. openfisca_core/entities/__init__.py +23 -0
  17. openfisca_core/entities/_core_entity.py +217 -0
  18. openfisca_core/entities/_description.py +55 -0
  19. openfisca_core/entities/entity.py +60 -0
  20. openfisca_core/entities/group_entity.py +123 -0
  21. openfisca_core/entities/helpers.py +165 -0
  22. openfisca_core/entities/py.typed +0 -0
  23. openfisca_core/entities/role.py +92 -0
  24. openfisca_core/entities/tests/__init__.py +0 -0
  25. openfisca_core/entities/tests/test_entity.py +10 -0
  26. openfisca_core/entities/tests/test_group_entity.py +70 -0
  27. openfisca_core/entities/tests/test_role.py +11 -0
  28. openfisca_core/entities/types.py +44 -0
  29. openfisca_core/errors/__init__.py +64 -0
  30. openfisca_core/errors/cycle_error.py +2 -0
  31. openfisca_core/errors/empty_argument_error.py +39 -0
  32. openfisca_core/errors/nan_creation_error.py +2 -0
  33. openfisca_core/errors/parameter_not_found_error.py +16 -0
  34. openfisca_core/errors/parameter_parsing_error.py +18 -0
  35. openfisca_core/errors/period_mismatch_error.py +9 -0
  36. openfisca_core/errors/situation_parsing_error.py +26 -0
  37. openfisca_core/errors/spiral_error.py +2 -0
  38. openfisca_core/errors/variable_name_config_error.py +2 -0
  39. openfisca_core/errors/variable_not_found_error.py +29 -0
  40. openfisca_core/experimental/__init__.py +9 -0
  41. openfisca_core/experimental/_errors.py +5 -0
  42. openfisca_core/experimental/_memory_config.py +41 -0
  43. openfisca_core/formula_helpers.py +9 -0
  44. openfisca_core/holders/__init__.py +33 -0
  45. openfisca_core/holders/helpers.py +93 -0
  46. openfisca_core/holders/holder.py +328 -0
  47. openfisca_core/holders/tests/__init__.py +0 -0
  48. openfisca_core/holders/tests/test_helpers.py +134 -0
  49. openfisca_core/holders/types.py +3 -0
  50. openfisca_core/indexed_enums/__init__.py +18 -0
  51. openfisca_core/indexed_enums/_enum_type.py +79 -0
  52. openfisca_core/indexed_enums/_errors.py +35 -0
  53. openfisca_core/indexed_enums/_guards.py +209 -0
  54. openfisca_core/indexed_enums/_utils.py +180 -0
  55. openfisca_core/indexed_enums/config.py +6 -0
  56. openfisca_core/indexed_enums/enum.py +218 -0
  57. openfisca_core/indexed_enums/enum_array.py +316 -0
  58. openfisca_core/indexed_enums/py.typed +0 -0
  59. openfisca_core/indexed_enums/tests/__init__.py +0 -0
  60. openfisca_core/indexed_enums/tests/test_enum.py +135 -0
  61. openfisca_core/indexed_enums/tests/test_enum_array.py +30 -0
  62. openfisca_core/indexed_enums/types.py +49 -0
  63. openfisca_core/memory_config.py +9 -0
  64. openfisca_core/model_api.py +71 -0
  65. openfisca_core/parameters/__init__.py +71 -0
  66. openfisca_core/parameters/at_instant_like.py +17 -0
  67. openfisca_core/parameters/config.py +55 -0
  68. openfisca_core/parameters/helpers.py +106 -0
  69. openfisca_core/parameters/parameter.py +217 -0
  70. openfisca_core/parameters/parameter_at_instant.py +75 -0
  71. openfisca_core/parameters/parameter_node.py +176 -0
  72. openfisca_core/parameters/parameter_node_at_instant.py +57 -0
  73. openfisca_core/parameters/parameter_scale.py +121 -0
  74. openfisca_core/parameters/parameter_scale_bracket.py +7 -0
  75. openfisca_core/parameters/values_history.py +5 -0
  76. openfisca_core/parameters/vectorial_parameter_node_at_instant.py +179 -0
  77. openfisca_core/periods/__init__.py +77 -0
  78. openfisca_core/periods/_errors.py +28 -0
  79. openfisca_core/periods/_parsers.py +122 -0
  80. openfisca_core/periods/config.py +20 -0
  81. openfisca_core/periods/date_unit.py +110 -0
  82. openfisca_core/periods/helpers.py +314 -0
  83. openfisca_core/periods/instant_.py +226 -0
  84. openfisca_core/periods/period_.py +919 -0
  85. openfisca_core/periods/py.typed +0 -0
  86. openfisca_core/periods/tests/__init__.py +0 -0
  87. openfisca_core/periods/tests/helpers/__init__.py +0 -0
  88. openfisca_core/periods/tests/helpers/test_helpers.py +65 -0
  89. openfisca_core/periods/tests/helpers/test_instant.py +73 -0
  90. openfisca_core/periods/tests/helpers/test_period.py +134 -0
  91. openfisca_core/periods/tests/test_instant.py +32 -0
  92. openfisca_core/periods/tests/test_parsers.py +129 -0
  93. openfisca_core/periods/tests/test_period.py +283 -0
  94. openfisca_core/populations/__init__.py +64 -0
  95. openfisca_core/populations/_core_population.py +454 -0
  96. openfisca_core/populations/_errors.py +65 -0
  97. openfisca_core/populations/group_population.py +326 -0
  98. openfisca_core/populations/population.py +142 -0
  99. openfisca_core/populations/tests/__init__.py +0 -0
  100. openfisca_core/populations/tests/test_members_position.py +116 -0
  101. openfisca_core/populations/types.py +110 -0
  102. openfisca_core/projectors/__init__.py +39 -0
  103. openfisca_core/projectors/entity_to_person_projector.py +12 -0
  104. openfisca_core/projectors/first_person_to_entity_projector.py +13 -0
  105. openfisca_core/projectors/helpers.py +139 -0
  106. openfisca_core/projectors/projector.py +38 -0
  107. openfisca_core/projectors/typing.py +27 -0
  108. openfisca_core/projectors/unique_role_to_entity_projector.py +14 -0
  109. openfisca_core/rates.py +9 -0
  110. openfisca_core/reforms/__init__.py +24 -0
  111. openfisca_core/reforms/in_yaml_test_reform.py +28 -0
  112. openfisca_core/reforms/reform.py +86 -0
  113. openfisca_core/scripts/__init__.py +106 -0
  114. openfisca_core/scripts/__pycache__/__init__.cpython-310-pytest-8.3.3.pyc +0 -0
  115. openfisca_core/scripts/__pycache__/__init__.cpython-310-pytest-8.4.2.pyc +0 -0
  116. openfisca_core/scripts/__pycache__/__init__.cpython-310.pyc +0 -0
  117. openfisca_core/scripts/__pycache__/__init__.cpython-311-pytest-8.3.3.pyc +0 -0
  118. openfisca_core/scripts/__pycache__/__init__.cpython-311-pytest-8.4.2.pyc +0 -0
  119. openfisca_core/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  120. openfisca_core/scripts/__pycache__/__init__.cpython-312-pytest-8.4.2.pyc +0 -0
  121. openfisca_core/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
  122. openfisca_core/scripts/__pycache__/__init__.cpython-313-pytest-8.3.3.pyc +0 -0
  123. openfisca_core/scripts/__pycache__/__init__.cpython-313-pytest-8.4.2.pyc +0 -0
  124. openfisca_core/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
  125. openfisca_core/scripts/__pycache__/find_placeholders.cpython-311.pyc +0 -0
  126. openfisca_core/scripts/__pycache__/find_placeholders.cpython-313.pyc +0 -0
  127. openfisca_core/scripts/__pycache__/measure_numpy_condition_notations.cpython-311.pyc +0 -0
  128. openfisca_core/scripts/__pycache__/measure_numpy_condition_notations.cpython-313.pyc +0 -0
  129. openfisca_core/scripts/__pycache__/measure_performances.cpython-311.pyc +0 -0
  130. openfisca_core/scripts/__pycache__/measure_performances.cpython-313.pyc +0 -0
  131. openfisca_core/scripts/__pycache__/measure_performances_fancy_indexing.cpython-311.pyc +0 -0
  132. openfisca_core/scripts/__pycache__/measure_performances_fancy_indexing.cpython-313.pyc +0 -0
  133. openfisca_core/scripts/__pycache__/openfisca_command.cpython-310.pyc +0 -0
  134. openfisca_core/scripts/__pycache__/openfisca_command.cpython-311.pyc +0 -0
  135. openfisca_core/scripts/__pycache__/openfisca_command.cpython-312.pyc +0 -0
  136. openfisca_core/scripts/__pycache__/openfisca_command.cpython-313.pyc +0 -0
  137. openfisca_core/scripts/__pycache__/remove_fuzzy.cpython-311.pyc +0 -0
  138. openfisca_core/scripts/__pycache__/remove_fuzzy.cpython-313.pyc +0 -0
  139. openfisca_core/scripts/__pycache__/run_test.cpython-310.pyc +0 -0
  140. openfisca_core/scripts/__pycache__/run_test.cpython-311.pyc +0 -0
  141. openfisca_core/scripts/__pycache__/run_test.cpython-312.pyc +0 -0
  142. openfisca_core/scripts/__pycache__/run_test.cpython-313.pyc +0 -0
  143. openfisca_core/scripts/__pycache__/simulation_generator.cpython-311.pyc +0 -0
  144. openfisca_core/scripts/__pycache__/simulation_generator.cpython-313.pyc +0 -0
  145. openfisca_core/scripts/assets/__init__.py +0 -0
  146. openfisca_core/scripts/assets/__pycache__/__init__.cpython-311.pyc +0 -0
  147. openfisca_core/scripts/assets/__pycache__/__init__.cpython-313.pyc +0 -0
  148. openfisca_core/scripts/assets/index.html +140 -0
  149. openfisca_core/scripts/find_placeholders.py +51 -0
  150. openfisca_core/scripts/measure_numpy_condition_notations.py +137 -0
  151. openfisca_core/scripts/measure_performances.py +291 -0
  152. openfisca_core/scripts/measure_performances_fancy_indexing.py +89 -0
  153. openfisca_core/scripts/migrations/__init__.py +0 -0
  154. openfisca_core/scripts/migrations/__pycache__/__init__.cpython-311.pyc +0 -0
  155. openfisca_core/scripts/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
  156. openfisca_core/scripts/migrations/__pycache__/v24_to_25.cpython-311.pyc +0 -0
  157. openfisca_core/scripts/migrations/__pycache__/v24_to_25.cpython-313.pyc +0 -0
  158. openfisca_core/scripts/migrations/v16_2_to_v17/__init__.py +0 -0
  159. openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/__init__.cpython-311.pyc +0 -0
  160. openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/__init__.cpython-313.pyc +0 -0
  161. openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/xml_to_yaml_country_template.cpython-311.pyc +0 -0
  162. openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/xml_to_yaml_country_template.cpython-313.pyc +0 -0
  163. openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/xml_to_yaml_extension_template.cpython-311.pyc +0 -0
  164. openfisca_core/scripts/migrations/v16_2_to_v17/__pycache__/xml_to_yaml_extension_template.cpython-313.pyc +0 -0
  165. openfisca_core/scripts/migrations/v16_2_to_v17/legislation.xsd +102 -0
  166. openfisca_core/scripts/migrations/v16_2_to_v17/xml_to_yaml_country_template.py +30 -0
  167. openfisca_core/scripts/migrations/v16_2_to_v17/xml_to_yaml_extension_template.py +26 -0
  168. openfisca_core/scripts/migrations/v24_to_25.py +156 -0
  169. openfisca_core/scripts/openfisca_command.py +192 -0
  170. openfisca_core/scripts/remove_fuzzy.py +213 -0
  171. openfisca_core/scripts/run_test.py +51 -0
  172. openfisca_core/scripts/simulation_generator.py +90 -0
  173. openfisca_core/simulation_builder.py +16 -0
  174. openfisca_core/simulations/__init__.py +45 -0
  175. openfisca_core/simulations/_build_default_simulation.py +158 -0
  176. openfisca_core/simulations/_build_from_variables.py +230 -0
  177. openfisca_core/simulations/_type_guards.py +298 -0
  178. openfisca_core/simulations/helpers.py +111 -0
  179. openfisca_core/simulations/simulation.py +618 -0
  180. openfisca_core/simulations/simulation_builder.py +855 -0
  181. openfisca_core/simulations/typing.py +203 -0
  182. openfisca_core/taxbenefitsystems/__init__.py +26 -0
  183. openfisca_core/taxbenefitsystems/tax_benefit_system.py +584 -0
  184. openfisca_core/taxscales/__init__.py +35 -0
  185. openfisca_core/taxscales/abstract_rate_tax_scale.py +41 -0
  186. openfisca_core/taxscales/abstract_tax_scale.py +53 -0
  187. openfisca_core/taxscales/amount_tax_scale_like.py +55 -0
  188. openfisca_core/taxscales/helpers.py +44 -0
  189. openfisca_core/taxscales/linear_average_rate_tax_scale.py +76 -0
  190. openfisca_core/taxscales/marginal_amount_tax_scale.py +34 -0
  191. openfisca_core/taxscales/marginal_rate_tax_scale.py +286 -0
  192. openfisca_core/taxscales/rate_tax_scale_like.py +214 -0
  193. openfisca_core/taxscales/single_amount_tax_scale.py +32 -0
  194. openfisca_core/taxscales/tax_scale_like.py +65 -0
  195. openfisca_core/tools/__init__.py +94 -0
  196. openfisca_core/tools/parallel_plugin.py +55 -0
  197. openfisca_core/tools/simulation_dumper.py +137 -0
  198. openfisca_core/tools/test_runner.py +802 -0
  199. openfisca_core/tracers/__init__.py +40 -0
  200. openfisca_core/tracers/computation_log.py +196 -0
  201. openfisca_core/tracers/flat_trace.py +87 -0
  202. openfisca_core/tracers/full_tracer.py +172 -0
  203. openfisca_core/tracers/performance_log.py +133 -0
  204. openfisca_core/tracers/simple_tracer.py +64 -0
  205. openfisca_core/tracers/trace_node.py +121 -0
  206. openfisca_core/tracers/tracing_parameter_node_at_instant.py +81 -0
  207. openfisca_core/types.py +548 -0
  208. openfisca_core/variables/__init__.py +26 -0
  209. openfisca_core/variables/config.py +53 -0
  210. openfisca_core/variables/helpers.py +67 -0
  211. openfisca_core/variables/tests/__init__.py +0 -0
  212. openfisca_core/variables/tests/test_definition_period.py +43 -0
  213. openfisca_core/variables/variable.py +474 -0
  214. openfisca_core/warnings/__init__.py +25 -0
  215. openfisca_core/warnings/libyaml_warning.py +2 -0
  216. openfisca_core/warnings/tempfile_warning.py +2 -0
  217. openfisca_core_test-46.0.0.data/data/share/openfisca/openfisca-core/CHANGELOG.md +4209 -0
  218. openfisca_core_test-46.0.0.data/data/share/openfisca/openfisca-core/README.md +152 -0
  219. openfisca_core_test-46.0.0.dist-info/METADATA +194 -0
  220. openfisca_core_test-46.0.0.dist-info/RECORD +237 -0
  221. openfisca_core_test-46.0.0.dist-info/WHEEL +5 -0
  222. openfisca_core_test-46.0.0.dist-info/entry_points.txt +3 -0
  223. openfisca_core_test-46.0.0.dist-info/licenses/LICENSE +661 -0
  224. openfisca_core_test-46.0.0.dist-info/top_level.txt +2 -0
  225. openfisca_web_api/__init__.py +0 -0
  226. openfisca_web_api/app.py +226 -0
  227. openfisca_web_api/errors.py +11 -0
  228. openfisca_web_api/handlers.py +90 -0
  229. openfisca_web_api/loader/__init__.py +22 -0
  230. openfisca_web_api/loader/entities.py +28 -0
  231. openfisca_web_api/loader/parameters.py +122 -0
  232. openfisca_web_api/loader/spec.py +168 -0
  233. openfisca_web_api/loader/tax_benefit_system.py +27 -0
  234. openfisca_web_api/loader/variables.py +121 -0
  235. openfisca_web_api/openAPI.yml +434 -0
  236. openfisca_web_api/scripts/__init__.py +0 -0
  237. openfisca_web_api/scripts/serve.py +99 -0
@@ -0,0 +1,152 @@
1
+ # OpenFisca Core
2
+
3
+ [![PyPi Downloads](https://img.shields.io/pypi/dm/openfisca-core?label=pypi%2Fdownloads&style=for-the-badge)](https://pepy.tech/project/openfisca-core)
4
+ [![PyPi Version](https://img.shields.io/pypi/v/openfisca-core.svg?label=pypi%2Fversion&style=for-the-badge)](https://pypi.python.org/pypi/openfisca-core)
5
+
6
+ [![Python](https://img.shields.io/pypi/pyversions/openfisca-core.svg?label=python&style=for-the-badge)](https://pypi.python.org/pypi/openfisca-core)
7
+ [![Contributors](https://img.shields.io/github/contributors/openfisca/openfisca-core.svg?style=for-the-badge)](https://github.com/openfisca/openfisca-core/graphs/contributors)
8
+
9
+ [![Newsletter](https://img.shields.io/badge/newsletter-subscribe!-informational.svg?style=for-the-badge)](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
+ [![Twitter](https://img.shields.io/badge/twitter-follow%20us!-9cf.svg?style=for-the-badge)](https://twitter.com/intent/follow?screen_name=openfisca)
11
+ [![Slack](https://img.shields.io/badge/slack-join%20us!-blueviolet.svg?style=for-the-badge)](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
+ [![PyPi Downloads](https://img.shields.io/pypi/dm/openfisca-core?label=pypi%2Fdownloads&style=for-the-badge)](https://pepy.tech/project/openfisca-core)
46
+ [![PyPi Version](https://img.shields.io/pypi/v/openfisca-core.svg?label=pypi%2Fversion&style=for-the-badge)](https://pypi.python.org/pypi/openfisca-core)
47
+
48
+ [![Python](https://img.shields.io/pypi/pyversions/openfisca-core.svg?label=python&style=for-the-badge)](https://pypi.python.org/pypi/openfisca-core)
49
+ [![Contributors](https://img.shields.io/github/contributors/openfisca/openfisca-core.svg?style=for-the-badge)](https://github.com/openfisca/openfisca-core/graphs/contributors)
50
+
51
+ [![Newsletter](https://img.shields.io/badge/newsletter-subscribe!-informational.svg?style=for-the-badge)](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
+ [![Twitter](https://img.shields.io/badge/twitter-follow%20us!-9cf.svg?style=for-the-badge)](https://twitter.com/intent/follow?screen_name=openfisca)
53
+ [![Slack](https://img.shields.io/badge/slack-join%20us!-blueviolet.svg?style=for-the-badge)](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,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ openfisca = openfisca_core.scripts.openfisca_command:main
3
+ openfisca-run-test = openfisca_core.scripts.openfisca_command:main