Prepare reform

# For testing
import json

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}'
json_str = '{"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}}}'

reform_retraite = ReformeSocioFiscale.parse_obj(json.loads(json_str))
# resultat_retraite = compute_all_simulation(reform_retraite)