# For testing
import json
Prepare reform
Prépare la réforme
Il faut interpréter le JSON reçu du site web pour en faire une réforme Open Fisca.
On hérite de la class Reform d’OpenFisca et on lui applique la réforme reçue.
CustomReform
CustomReform (tbs:<function <lambda>>, payload:leximpact_socio_fisca_simu_etat.schema.ReformeSocio Fiscale, period:str)
Override the OpenFisca Reform class
Tests
# json_str = '{"base":2021,"output_variables":["assiette_csg_abattue","assiette_csg_non_abattue","csg_imposable_salaire","csg_deductible_salaire","csg_imposable_retraite","csg_deductible_retraite"],"quantile_nb":10,"quantile_base_variable":["assiette_csg_abattue","assiette_csg_non_abattue"],"quantile_compare_variables":["csg_imposable_salaire","csg_deductible_salaire","csg_imposable_retraite","csg_deductible_retraite"],"plf":2022}'
= '{"base":2020,"output_variables":["assiette_csg_abattue","assiette_csg_non_abattue","csg_imposable_salaire","csg_deductible_salaire"],"quantile_nb":10,"quantile_base_variable":["assiette_csg_abattue","assiette_csg_non_abattue"],"quantile_compare_variables":["csg_imposable_salaire","csg_deductible_salaire"],"amendement":{"prelevements_sociaux.contributions_sociales.csg.activite.deductible.taux":{"start":"2020-01-01","type":"parameter","value":0.68},"prelevements_sociaux.contributions_sociales.csg.activite.imposable.taux":{"start":"2020-01-01","type":"parameter","value":0.24}}}'
json_str
= ReformeSocioFiscale.parse_obj(json.loads(json_str))
reform_retraite # resultat_retraite = compute_all_simulation(reform_retraite)