UNPKG

@openfisca/france-json

Version:

JSON & YAML data extracted from OpenFisca-France source code (parameters, variables, etc)

995 lines (994 loc) 32.2 kB
{ "default_value": 0, "definition_period": "month", "dtype": "float32", "entity": "famille", "file_path": "openfisca_france/model/prestations/reduction_loyer_solidarite.py", "formulas": { "0001-01-01": { "ast": { "args": { "args": [ { "arg": "famille", "ast_class": "arg", "col_offset": 12, "end_col_offset": 19, "end_lineno": 1, "lineno": 1 }, { "arg": "period", "ast_class": "arg", "col_offset": 21, "end_col_offset": 27, "end_lineno": 1, "lineno": 1 }, { "arg": "parameters", "ast_class": "arg", "col_offset": 29, "end_col_offset": 39, "end_lineno": 1, "lineno": 1 } ], "ast_class": "arguments", "defaults": [], "kw_defaults": [], "kwonlyargs": [], "posonlyargs": [] }, "ast_class": "FunctionDef", "body": [ { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 91, "end_lineno": 2, "lineno": 2, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 7, "end_lineno": 2, "id": "rls", "lineno": 2 } ], "value": { "ast_class": "Attribute", "attr": "reduction_loyer_solidarite", "col_offset": 10, "ctx": { "ast_class": "Load" }, "end_col_offset": 91, "end_lineno": 2, "lineno": 2, "value": { "ast_class": "Attribute", "attr": "aides_logement", "col_offset": 10, "ctx": { "ast_class": "Load" }, "end_col_offset": 64, "end_lineno": 2, "lineno": 2, "value": { "ast_class": "Attribute", "attr": "prestations_sociales", "col_offset": 10, "ctx": { "ast_class": "Load" }, "end_col_offset": 49, "end_lineno": 2, "lineno": 2, "value": { "args": [ { "ast_class": "Name", "col_offset": 21, "ctx": { "ast_class": "Load" }, "end_col_offset": 27, "end_lineno": 2, "id": "period", "lineno": 2 } ], "ast_class": "Call", "col_offset": 10, "end_col_offset": 28, "end_lineno": 2, "func": { "ast_class": "Name", "col_offset": 10, "ctx": { "ast_class": "Load" }, "end_col_offset": 20, "end_lineno": 2, "id": "parameters", "lineno": 2 }, "keywords": [], "lineno": 2 } } } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 71, "end_lineno": 3, "lineno": 3, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 25, "end_lineno": 3, "id": "personnes_a_charge_al", "lineno": 3 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 36, "end_col_offset": 62, "end_lineno": 3, "lineno": 3, "value": "al_nb_personnes_a_charge" }, { "ast_class": "Name", "col_offset": 64, "ctx": { "ast_class": "Load" }, "end_col_offset": 70, "end_lineno": 3, "id": "period", "lineno": 3 } ], "ast_class": "Call", "col_offset": 28, "end_col_offset": 71, "end_lineno": 3, "func": { "ast_class": "Name", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 35, "end_lineno": 3, "id": "famille", "lineno": 3 }, "keywords": [], "lineno": 3 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 41, "end_lineno": 4, "lineno": 4, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 10, "end_lineno": 4, "id": "couple", "lineno": 4 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 21, "end_col_offset": 32, "end_lineno": 4, "lineno": 4, "value": "al_couple" }, { "ast_class": "Name", "col_offset": 34, "ctx": { "ast_class": "Load" }, "end_col_offset": 40, "end_lineno": 4, "id": "period", "lineno": 4 } ], "ast_class": "Call", "col_offset": 13, "end_col_offset": 41, "end_lineno": 4, "func": { "ast_class": "Name", "col_offset": 13, "ctx": { "ast_class": "Load" }, "end_col_offset": 20, "end_lineno": 4, "id": "famille", "lineno": 4 }, "keywords": [], "lineno": 4 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 59, "end_lineno": 5, "lineno": 5, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 12, "end_lineno": 5, "id": "zone_apl", "lineno": 5 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 40, "end_col_offset": 50, "end_lineno": 5, "lineno": 5, "value": "zone_apl" }, { "ast_class": "Name", "col_offset": 52, "ctx": { "ast_class": "Load" }, "end_col_offset": 58, "end_lineno": 5, "id": "period", "lineno": 5 } ], "ast_class": "Call", "col_offset": 15, "end_col_offset": 59, "end_lineno": 5, "func": { "ast_class": "Attribute", "attr": "menage", "col_offset": 15, "ctx": { "ast_class": "Load" }, "end_col_offset": 39, "end_lineno": 5, "lineno": 5, "value": { "ast_class": "Attribute", "attr": "demandeur", "col_offset": 15, "ctx": { "ast_class": "Load" }, "end_col_offset": 32, "end_lineno": 5, "lineno": 5, "value": { "ast_class": "Name", "col_offset": 15, "ctx": { "ast_class": "Load" }, "end_col_offset": 22, "end_lineno": 5, "id": "famille", "lineno": 5 } } }, "keywords": [], "lineno": 5 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 44, "end_lineno": 7, "lineno": 7, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 11, "end_lineno": 7, "id": "montant", "lineno": 7 } ], "value": { "ast_class": "Subscript", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 44, "end_lineno": 7, "lineno": 7, "slice": { "ast_class": "Name", "col_offset": 35, "ctx": { "ast_class": "Load" }, "end_col_offset": 43, "end_lineno": 7, "id": "zone_apl", "lineno": 7 }, "value": { "ast_class": "Attribute", "attr": "par_zone", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 34, "end_lineno": 7, "lineno": 7, "value": { "ast_class": "Attribute", "attr": "montant", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 7, "lineno": 7, "value": { "ast_class": "Name", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 17, "end_lineno": 7, "id": "rls", "lineno": 7 } } } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 53, "end_lineno": 9, "lineno": 9, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 26, "end_lineno": 9, "id": "montant_personne_seule", "lineno": 9 } ], "value": { "ast_class": "Attribute", "attr": "personnes_seules", "col_offset": 29, "ctx": { "ast_class": "Load" }, "end_col_offset": 53, "end_lineno": 9, "lineno": 9, "value": { "ast_class": "Name", "col_offset": 29, "ctx": { "ast_class": "Load" }, "end_col_offset": 36, "end_lineno": 9, "id": "montant", "lineno": 9 } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 36, "end_lineno": 10, "lineno": 10, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 18, "end_lineno": 10, "id": "montant_couple", "lineno": 10 } ], "value": { "ast_class": "Attribute", "attr": "couples", "col_offset": 21, "ctx": { "ast_class": "Load" }, "end_col_offset": 36, "end_lineno": 10, "lineno": 10, "value": { "ast_class": "Name", "col_offset": 21, "ctx": { "ast_class": "Load" }, "end_col_offset": 28, "end_lineno": 10, "id": "montant", "lineno": 10 } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 39, "end_lineno": 11, "lineno": 11, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 16, "end_lineno": 11, "id": "montant_1pac", "lineno": 11 } ], "value": { "ast_class": "Attribute", "attr": "famille_1pac", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 39, "end_lineno": 11, "lineno": 11, "value": { "ast_class": "Name", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 26, "end_lineno": 11, "id": "montant", "lineno": 11 } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 136, "end_lineno": 12, "lineno": 12, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 19, "end_lineno": 12, "id": "montant_famille", "lineno": 12 } ], "value": { "ast_class": "BinOp", "col_offset": 22, "end_col_offset": 136, "end_lineno": 12, "left": { "ast_class": "Attribute", "attr": "famille_1pac", "col_offset": 22, "ctx": { "ast_class": "Load" }, "end_col_offset": 42, "end_lineno": 12, "lineno": 12, "value": { "ast_class": "Name", "col_offset": 22, "ctx": { "ast_class": "Load" }, "end_col_offset": 29, "end_lineno": 12, "id": "montant", "lineno": 12 } }, "lineno": 12, "op": { "ast_class": "Add" }, "right": { "ast_class": "BinOp", "col_offset": 45, "end_col_offset": 136, "end_lineno": 12, "left": { "ast_class": "BinOp", "col_offset": 45, "end_col_offset": 102, "end_lineno": 12, "left": { "ast_class": "Compare", "col_offset": 46, "comparators": [ { "ast_class": "Constant", "col_offset": 70, "end_col_offset": 71, "end_lineno": 12, "lineno": 12, "value": 1 } ], "end_col_offset": 71, "end_lineno": 12, "left": { "ast_class": "Name", "col_offset": 46, "ctx": { "ast_class": "Load" }, "end_col_offset": 67, "end_lineno": 12, "id": "personnes_a_charge_al", "lineno": 12 }, "lineno": 12, "ops": [ { "ast_class": "Gt" } ] }, "lineno": 12, "op": { "ast_class": "Mult" }, "right": { "ast_class": "BinOp", "col_offset": 76, "end_col_offset": 101, "end_lineno": 12, "left": { "ast_class": "Name", "col_offset": 76, "ctx": { "ast_class": "Load" }, "end_col_offset": 97, "end_lineno": 12, "id": "personnes_a_charge_al", "lineno": 12 }, "lineno": 12, "op": { "ast_class": "Sub" }, "right": { "ast_class": "Constant", "col_offset": 100, "end_col_offset": 101, "end_lineno": 12, "lineno": 12, "value": 1 } } }, "lineno": 12, "op": { "ast_class": "Mult" }, "right": { "ast_class": "Attribute", "attr": "majoration_par_pac_supp", "col_offset": 105, "ctx": { "ast_class": "Load" }, "end_col_offset": 136, "end_lineno": 12, "lineno": 12, "value": { "ast_class": "Name", "col_offset": 105, "ctx": { "ast_class": "Load" }, "end_col_offset": 112, "end_lineno": 12, "id": "montant", "lineno": 12 } } } } }, { "ast_class": "Return", "col_offset": 4, "end_col_offset": 9, "end_lineno": 26, "lineno": 14, "value": { "args": [ { "ast_class": "List", "col_offset": 8, "ctx": { "ast_class": "Load" }, "elts": [ { "ast_class": "BinOp", "col_offset": 12, "end_col_offset": 55, "end_lineno": 16, "left": { "args": [ { "ast_class": "Name", "col_offset": 17, "ctx": { "ast_class": "Load" }, "end_col_offset": 23, "end_lineno": 16, "id": "couple", "lineno": 16 } ], "ast_class": "Call", "col_offset": 12, "end_col_offset": 24, "end_lineno": 16, "func": { "ast_class": "Name", "col_offset": 12, "ctx": { "ast_class": "Load" }, "end_col_offset": 16, "end_lineno": 16, "id": "not_", "lineno": 16 }, "keywords": [], "lineno": 16 }, "lineno": 16, "op": { "ast_class": "Mult" }, "right": { "ast_class": "Compare", "col_offset": 28, "comparators": [ { "ast_class": "Constant", "col_offset": 53, "end_col_offset": 54, "end_lineno": 16, "lineno": 16, "value": 0 } ], "end_col_offset": 54, "end_lineno": 16, "left": { "ast_class": "Name", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 49, "end_lineno": 16, "id": "personnes_a_charge_al", "lineno": 16 }, "lineno": 16, "ops": [ { "ast_class": "Eq" } ] } }, { "ast_class": "BinOp", "col_offset": 12, "end_col_offset": 49, "end_lineno": 17, "left": { "ast_class": "Name", "col_offset": 12, "ctx": { "ast_class": "Load" }, "end_col_offset": 18, "end_lineno": 17, "id": "couple", "lineno": 17 }, "lineno": 17, "op": { "ast_class": "Mult" }, "right": { "ast_class": "Compare", "col_offset": 22, "comparators": [ { "ast_class": "Constant", "col_offset": 47, "end_col_offset": 48, "end_lineno": 17, "lineno": 17, "value": 0 } ], "end_col_offset": 48, "end_lineno": 17, "left": { "ast_class": "Name", "col_offset": 22, "ctx": { "ast_class": "Load" }, "end_col_offset": 43, "end_lineno": 17, "id": "personnes_a_charge_al", "lineno": 17 }, "lineno": 17, "ops": [ { "ast_class": "Eq" } ] } }, { "ast_class": "Compare", "col_offset": 12, "comparators": [ { "ast_class": "Constant", "col_offset": 37, "end_col_offset": 38, "end_lineno": 18, "lineno": 18, "value": 1 } ], "end_col_offset": 38, "end_lineno": 18, "left": { "ast_class": "Name", "col_offset": 12, "ctx": { "ast_class": "Load" }, "end_col_offset": 33, "end_lineno": 18, "id": "personnes_a_charge_al", "lineno": 18 }, "lineno": 18, "ops": [ { "ast_class": "Eq" } ] } ], "end_col_offset": 13, "end_lineno": 19, "lineno": 15 }, { "ast_class": "List", "col_offset": 8, "ctx": { "ast_class": "Load" }, "elts": [ { "ast_class": "Name", "col_offset": 12, "ctx": { "ast_class": "Load" }, "end_col_offset": 34, "end_lineno": 21, "id": "montant_personne_seule", "lineno": 21 }, { "ast_class": "Name", "col_offset": 12, "ctx": { "ast_class": "Load" }, "end_col_offset": 26, "end_lineno": 22, "id": "montant_couple", "lineno": 22 }, { "ast_class": "Name", "col_offset": 12, "ctx": { "ast_class": "Load" }, "end_col_offset": 24, "end_lineno": 23, "id": "montant_1pac", "lineno": 23 } ], "end_col_offset": 13, "end_lineno": 24, "lineno": 20 } ], "ast_class": "Call", "col_offset": 11, "end_col_offset": 9, "end_lineno": 26, "func": { "ast_class": "Name", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 17, "end_lineno": 14, "id": "select", "lineno": 14 }, "keywords": [ { "arg": "default", "ast_class": "keyword", "col_offset": 8, "end_col_offset": 33, "end_lineno": 25, "lineno": 25, "value": { "ast_class": "Name", "col_offset": 18, "ctx": { "ast_class": "Load" }, "end_col_offset": 33, "end_lineno": 25, "id": "montant_famille", "lineno": 25 } } ], "lineno": 14 } } ], "col_offset": 0, "decorator_list": [], "end_col_offset": 9, "end_lineno": 26, "lineno": 1, "name": "formula" }, "file_path": "openfisca_france/model/prestations/reduction_loyer_solidarite.py", "parameters": [ "prestations_sociales.aides_logement.reduction_loyer_solidarite.montant.par_zone" ], "source_code": "def formula(famille, period, parameters):\n rls = parameters(period).prestations_sociales.aides_logement.reduction_loyer_solidarite\n personnes_a_charge_al = famille('al_nb_personnes_a_charge', period)\n couple = famille('al_couple', period)\n zone_apl = famille.demandeur.menage('zone_apl', period)\n\n montant = rls.montant.par_zone[zone_apl]\n\n montant_personne_seule = montant.personnes_seules\n montant_couple = montant.couples\n montant_1pac = montant.famille_1pac\n montant_famille = montant.famille_1pac + (personnes_a_charge_al > 1) * (personnes_a_charge_al - 1) * montant.majoration_par_pac_supp\n\n return select(\n [\n not_(couple) * (personnes_a_charge_al == 0),\n couple * (personnes_a_charge_al == 0),\n personnes_a_charge_al == 1\n ],\n [\n montant_personne_seule,\n montant_couple,\n montant_1pac\n ],\n default = montant_famille\n )\n", "start_line_number": 66, "stop_line_number": 92, "variables": [ "al_couple", "al_nb_personnes_a_charge", "zone_apl" ] } }, "json_type": "number", "label": "Montant de la réduction du loyer de solidarité", "name": "reduction_loyer_solidarite_montant", "reference": { "0001-01-01": [ { "href": "https://www.legifrance.gouv.fr/eli/arrete/2018/2/27/TERL1801551A/jo/article_2" } ] }, "referring_variables": [ "reduction_loyer_solidarite" ], "set_input": "set_input_divide_by_period", "start_line_number": 58, "stop_line_number": 92, "value_type": "float" }