UNPKG

@leximpact/socio-fiscal-openfisca-json

Version:

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

1,205 lines (1,204 loc) 42.4 kB
{ "default_value": 0, "definition_period": "month", "dtype": "float32", "entity": "menage", "file_path": "openfisca_france/model/prestations/bail_reel_solidaire.py", "formulas": { "0001-01-01": { "ast": { "args": { "args": [ { "arg": "menage", "ast_class": "arg", "col_offset": 12, "end_col_offset": 18, "end_lineno": 1, "lineno": 1 }, { "arg": "period", "ast_class": "arg", "col_offset": 20, "end_col_offset": 26, "end_lineno": 1, "lineno": 1 }, { "arg": "parameters", "ast_class": "arg", "col_offset": 28, "end_col_offset": 38, "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": 72, "end_lineno": 2, "lineno": 2, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 10, "end_lineno": 2, "id": "params", "lineno": 2 } ], "value": { "ast_class": "Attribute", "attr": "bail_reel_solidaire", "col_offset": 13, "ctx": { "ast_class": "Load" }, "end_col_offset": 72, "end_lineno": 2, "lineno": 2, "value": { "ast_class": "Attribute", "attr": "prestations_sociales", "col_offset": 13, "ctx": { "ast_class": "Load" }, "end_col_offset": 52, "end_lineno": 2, "lineno": 2, "value": { "args": [ { "ast_class": "Name", "col_offset": 24, "ctx": { "ast_class": "Load" }, "end_col_offset": 30, "end_lineno": 2, "id": "period", "lineno": 2 } ], "ast_class": "Call", "col_offset": 13, "end_col_offset": 31, "end_lineno": 2, "func": { "ast_class": "Name", "col_offset": 13, "ctx": { "ast_class": "Load" }, "end_col_offset": 23, "end_lineno": 2, "id": "parameters", "lineno": 2 }, "keywords": [], "lineno": 2 } } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 72, "end_lineno": 3, "lineno": 3, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 23, "end_lineno": 3, "id": "zones_abc_eligibles", "lineno": 3 } ], "value": { "ast_class": "Attribute", "attr": "zones_abc_eligibles", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 72, "end_lineno": 3, "lineno": 3, "value": { "ast_class": "Attribute", "attr": "parametres_generaux", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 52, "end_lineno": 3, "lineno": 3, "value": { "ast_class": "Name", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 32, "end_lineno": 3, "id": "params", "lineno": 3 } } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 50, "end_lineno": 4, "lineno": 4, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 22, "end_lineno": 4, "id": "plafonds_par_zones", "lineno": 4 } ], "value": { "ast_class": "Attribute", "attr": "plafonds_par_zones", "col_offset": 25, "ctx": { "ast_class": "Load" }, "end_col_offset": 50, "end_lineno": 4, "lineno": 4, "value": { "ast_class": "Name", "col_offset": 25, "ctx": { "ast_class": "Load" }, "end_col_offset": 31, "end_lineno": 4, "id": "params", "lineno": 4 } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 69, "end_lineno": 5, "lineno": 5, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 16, "end_lineno": 5, "id": "zones_menage", "lineno": 5 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 26, "end_col_offset": 60, "end_lineno": 5, "lineno": 5, "value": "bail_reel_solidaire_zones_menage" }, { "ast_class": "Name", "col_offset": 62, "ctx": { "ast_class": "Load" }, "end_col_offset": 68, "end_lineno": 5, "id": "period", "lineno": 5 } ], "ast_class": "Call", "col_offset": 19, "end_col_offset": 69, "end_lineno": 5, "func": { "ast_class": "Name", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 5, "id": "menage", "lineno": 5 }, "keywords": [], "lineno": 5 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 38, "end_lineno": 6, "lineno": 6, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 16, "end_lineno": 6, "id": "nb_personnes", "lineno": 6 } ], "value": { "args": [], "ast_class": "Call", "col_offset": 19, "end_col_offset": 38, "end_lineno": 6, "func": { "ast_class": "Attribute", "attr": "nb_persons", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 36, "end_lineno": 6, "lineno": 6, "value": { "ast_class": "Name", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 6, "id": "menage", "lineno": 6 } }, "keywords": [], "lineno": 6 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 74, "end_lineno": 7, "lineno": 7, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 20, "end_lineno": 7, "id": "nb_personnes_max", "lineno": 7 } ], "value": { "ast_class": "Attribute", "attr": "nombre_personnes_maximum", "col_offset": 23, "ctx": { "ast_class": "Load" }, "end_col_offset": 74, "end_lineno": 7, "lineno": 7, "value": { "ast_class": "Attribute", "attr": "parametres_generaux", "col_offset": 23, "ctx": { "ast_class": "Load" }, "end_col_offset": 49, "end_lineno": 7, "lineno": 7, "value": { "ast_class": "Name", "col_offset": 23, "ctx": { "ast_class": "Load" }, "end_col_offset": 29, "end_lineno": 7, "id": "params", "lineno": 7 } } } }, { "args": { "args": [ { "arg": "zone", "ast_class": "arg", "col_offset": 29, "end_col_offset": 33, "end_lineno": 9, "lineno": 9 } ], "ast_class": "arguments", "defaults": [], "kw_defaults": [], "kwonlyargs": [], "posonlyargs": [] }, "ast_class": "FunctionDef", "body": [ { "ast_class": "Assign", "col_offset": 8, "end_col_offset": 57, "end_lineno": 10, "lineno": 10, "targets": [ { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Store" }, "end_col_offset": 20, "end_lineno": 10, "id": "plafond_zone", "lineno": 10 } ], "value": { "ast_class": "Subscript", "col_offset": 23, "ctx": { "ast_class": "Load" }, "end_col_offset": 57, "end_lineno": 10, "lineno": 10, "slice": { "ast_class": "JoinedStr", "col_offset": 42, "end_col_offset": 56, "end_lineno": 10, "lineno": 10, "values": [ { "ast_class": "Constant", "col_offset": 42, "end_col_offset": 56, "end_lineno": 10, "lineno": 10, "value": "zone_" }, { "ast_class": "FormattedValue", "col_offset": 42, "conversion": -1, "end_col_offset": 56, "end_lineno": 10, "lineno": 10, "value": { "ast_class": "Name", "col_offset": 50, "ctx": { "ast_class": "Load" }, "end_col_offset": 54, "end_lineno": 10, "id": "zone", "lineno": 10 } } ] }, "value": { "ast_class": "Name", "col_offset": 23, "ctx": { "ast_class": "Load" }, "end_col_offset": 41, "end_lineno": 10, "id": "plafonds_par_zones", "lineno": 10 } } }, { "ast_class": "Assign", "col_offset": 8, "end_col_offset": 13, "end_lineno": 14, "lineno": 11, "targets": [ { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Store" }, "end_col_offset": 20, "end_lineno": 11, "id": "plafond_base", "lineno": 11 } ], "value": { "args": [ { "ast_class": "ListComp", "col_offset": 12, "elt": { "ast_class": "IfExp", "body": { "ast_class": "Compare", "col_offset": 13, "comparators": [ { "ast_class": "Name", "col_offset": 29, "ctx": { "ast_class": "Load" }, "end_col_offset": 30, "end_lineno": 12, "id": "i", "lineno": 12 } ], "end_col_offset": 30, "end_lineno": 12, "left": { "ast_class": "Name", "col_offset": 13, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 12, "id": "nb_personnes", "lineno": 12 }, "lineno": 12, "ops": [ { "ast_class": "Eq" } ] }, "col_offset": 13, "end_col_offset": 62, "end_lineno": 12, "lineno": 12, "orelse": { "ast_class": "Compare", "col_offset": 45, "comparators": [ { "ast_class": "Name", "col_offset": 61, "ctx": { "ast_class": "Load" }, "end_col_offset": 62, "end_lineno": 12, "id": "i", "lineno": 12 } ], "end_col_offset": 62, "end_lineno": 12, "left": { "ast_class": "Name", "col_offset": 45, "ctx": { "ast_class": "Load" }, "end_col_offset": 57, "end_lineno": 12, "id": "nb_personnes", "lineno": 12 }, "lineno": 12, "ops": [ { "ast_class": "GtE" } ] }, "test": { "ast_class": "Compare", "col_offset": 34, "comparators": [ { "ast_class": "Constant", "col_offset": 38, "end_col_offset": 39, "end_lineno": 12, "lineno": 12, "value": 6 } ], "end_col_offset": 39, "end_lineno": 12, "left": { "ast_class": "Name", "col_offset": 34, "ctx": { "ast_class": "Load" }, "end_col_offset": 35, "end_lineno": 12, "id": "i", "lineno": 12 }, "lineno": 12, "ops": [ { "ast_class": "Lt" } ] } }, "end_col_offset": 84, "end_lineno": 12, "generators": [ { "ast_class": "comprehension", "ifs": [], "is_async": 0, "iter": { "args": [ { "ast_class": "Constant", "col_offset": 78, "end_col_offset": 79, "end_lineno": 12, "lineno": 12, "value": 1 }, { "ast_class": "Constant", "col_offset": 81, "end_col_offset": 82, "end_lineno": 12, "lineno": 12, "value": 7 } ], "ast_class": "Call", "col_offset": 72, "end_col_offset": 83, "end_lineno": 12, "func": { "ast_class": "Name", "col_offset": 72, "ctx": { "ast_class": "Load" }, "end_col_offset": 77, "end_lineno": 12, "id": "range", "lineno": 12 }, "keywords": [], "lineno": 12 }, "target": { "ast_class": "Name", "col_offset": 67, "ctx": { "ast_class": "Store" }, "end_col_offset": 68, "end_lineno": 12, "id": "i", "lineno": 12 } } ], "lineno": 12 }, { "ast_class": "ListComp", "col_offset": 12, "elt": { "ast_class": "Subscript", "col_offset": 13, "ctx": { "ast_class": "Load" }, "end_col_offset": 46, "end_lineno": 13, "lineno": 13, "slice": { "ast_class": "JoinedStr", "col_offset": 26, "end_col_offset": 45, "end_lineno": 13, "lineno": 13, "values": [ { "ast_class": "Constant", "col_offset": 26, "end_col_offset": 45, "end_lineno": 13, "lineno": 13, "value": "nb_personnes_" }, { "ast_class": "FormattedValue", "col_offset": 26, "conversion": -1, "end_col_offset": 45, "end_lineno": 13, "lineno": 13, "value": { "ast_class": "Name", "col_offset": 42, "ctx": { "ast_class": "Load" }, "end_col_offset": 43, "end_lineno": 13, "id": "i", "lineno": 13 } } ] }, "value": { "ast_class": "Name", "col_offset": 13, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 13, "id": "plafond_zone", "lineno": 13 } }, "end_col_offset": 68, "end_lineno": 13, "generators": [ { "ast_class": "comprehension", "ifs": [], "is_async": 0, "iter": { "args": [ { "ast_class": "Constant", "col_offset": 62, "end_col_offset": 63, "end_lineno": 13, "lineno": 13, "value": 1 }, { "ast_class": "Constant", "col_offset": 65, "end_col_offset": 66, "end_lineno": 13, "lineno": 13, "value": 7 } ], "ast_class": "Call", "col_offset": 56, "end_col_offset": 67, "end_lineno": 13, "func": { "ast_class": "Name", "col_offset": 56, "ctx": { "ast_class": "Load" }, "end_col_offset": 61, "end_lineno": 13, "id": "range", "lineno": 13 }, "keywords": [], "lineno": 13 }, "target": { "ast_class": "Name", "col_offset": 51, "ctx": { "ast_class": "Store" }, "end_col_offset": 52, "end_lineno": 13, "id": "i", "lineno": 13 } } ], "lineno": 13 } ], "ast_class": "Call", "col_offset": 23, "end_col_offset": 13, "end_lineno": 14, "func": { "ast_class": "Name", "col_offset": 23, "ctx": { "ast_class": "Load" }, "end_col_offset": 29, "end_lineno": 11, "id": "select", "lineno": 11 }, "keywords": [], "lineno": 11 } }, { "ast_class": "Assign", "col_offset": 8, "end_col_offset": 13, "end_lineno": 19, "lineno": 15, "targets": [ { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Store" }, "end_col_offset": 20, "end_lineno": 15, "id": "plafond_supp", "lineno": 15 } ], "value": { "args": [ { "ast_class": "Compare", "col_offset": 12, "comparators": [ { "ast_class": "Name", "col_offset": 27, "ctx": { "ast_class": "Load" }, "end_col_offset": 43, "end_lineno": 16, "id": "nb_personnes_max", "lineno": 16 } ], "end_col_offset": 43, "end_lineno": 16, "left": { "ast_class": "Name", "col_offset": 12, "ctx": { "ast_class": "Load" }, "end_col_offset": 24, "end_lineno": 16, "id": "nb_personnes", "lineno": 16 }, "lineno": 16, "ops": [ { "ast_class": "Gt" } ] }, { "ast_class": "BinOp", "col_offset": 12, "end_col_offset": 89, "end_lineno": 17, "left": { "ast_class": "BinOp", "col_offset": 13, "end_col_offset": 44, "end_lineno": 17, "left": { "ast_class": "Name", "col_offset": 13, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 17, "id": "nb_personnes", "lineno": 17 }, "lineno": 17, "op": { "ast_class": "Sub" }, "right": { "ast_class": "Name", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 44, "end_lineno": 17, "id": "nb_personnes_max", "lineno": 17 } }, "lineno": 17, "op": { "ast_class": "Mult" }, "right": { "ast_class": "Attribute", "attr": "nb_personnes_supplementaires", "col_offset": 48, "ctx": { "ast_class": "Load" }, "end_col_offset": 89, "end_lineno": 17, "lineno": 17, "value": { "ast_class": "Name", "col_offset": 48, "ctx": { "ast_class": "Load" }, "end_col_offset": 60, "end_lineno": 17, "id": "plafond_zone", "lineno": 17 } } }, { "ast_class": "Constant", "col_offset": 12, "end_col_offset": 13, "end_lineno": 18, "lineno": 18, "value": 0 } ], "ast_class": "Call", "col_offset": 23, "end_col_offset": 13, "end_lineno": 19, "func": { "ast_class": "Name", "col_offset": 23, "ctx": { "ast_class": "Load" }, "end_col_offset": 28, "end_lineno": 15, "id": "where", "lineno": 15 }, "keywords": [], "lineno": 15 } }, { "ast_class": "Return", "col_offset": 8, "end_col_offset": 42, "end_lineno": 20, "lineno": 20, "value": { "ast_class": "BinOp", "col_offset": 15, "end_col_offset": 42, "end_lineno": 20, "left": { "ast_class": "Name", "col_offset": 15, "ctx": { "ast_class": "Load" }, "end_col_offset": 27, "end_lineno": 20, "id": "plafond_base", "lineno": 20 }, "lineno": 20, "op": { "ast_class": "Add" }, "right": { "ast_class": "Name", "col_offset": 30, "ctx": { "ast_class": "Load" }, "end_col_offset": 42, "end_lineno": 20, "id": "plafond_supp", "lineno": 20 } } } ], "col_offset": 4, "decorator_list": [], "end_col_offset": 42, "end_lineno": 20, "lineno": 9, "name": "calcul_plafonds_zone" }, { "ast_class": "Return", "col_offset": 4, "end_col_offset": 9, "end_lineno": 25, "lineno": 22, "value": { "args": [ { "ast_class": "ListComp", "col_offset": 8, "elt": { "ast_class": "Compare", "col_offset": 9, "comparators": [ { "ast_class": "Name", "col_offset": 25, "ctx": { "ast_class": "Load" }, "end_col_offset": 29, "end_lineno": 23, "id": "zone", "lineno": 23 } ], "end_col_offset": 29, "end_lineno": 23, "left": { "ast_class": "Name", "col_offset": 9, "ctx": { "ast_class": "Load" }, "end_col_offset": 21, "end_lineno": 23, "id": "zones_menage", "lineno": 23 }, "lineno": 23, "ops": [ { "ast_class": "Eq" } ] }, "end_col_offset": 62, "end_lineno": 23, "generators": [ { "ast_class": "comprehension", "ifs": [], "is_async": 0, "iter": { "ast_class": "Name", "col_offset": 42, "ctx": { "ast_class": "Load" }, "end_col_offset": 61, "end_lineno": 23, "id": "zones_abc_eligibles", "lineno": 23 }, "target": { "ast_class": "Name", "col_offset": 34, "ctx": { "ast_class": "Store" }, "end_col_offset": 38, "end_lineno": 23, "id": "zone", "lineno": 23 } } ], "lineno": 23 }, { "ast_class": "ListComp", "col_offset": 8, "elt": { "args": [ { "ast_class": "Name", "col_offset": 30, "ctx": { "ast_class": "Load" }, "end_col_offset": 34, "end_lineno": 24, "id": "zone", "lineno": 24 } ], "ast_class": "Call", "col_offset": 9, "end_col_offset": 35, "end_lineno": 24, "func": { "ast_class": "Name", "col_offset": 9, "ctx": { "ast_class": "Load" }, "end_col_offset": 29, "end_lineno": 24, "id": "calcul_plafonds_zone", "lineno": 24 }, "keywords": [], "lineno": 24 }, "end_col_offset": 68, "end_lineno": 24, "generators": [ { "ast_class": "comprehension", "ifs": [], "is_async": 0, "iter": { "ast_class": "Name", "col_offset": 48, "ctx": { "ast_class": "Load" }, "end_col_offset": 67, "end_lineno": 24, "id": "zones_abc_eligibles", "lineno": 24 }, "target": { "ast_class": "Name", "col_offset": 40, "ctx": { "ast_class": "Store" }, "end_col_offset": 44, "end_lineno": 24, "id": "zone", "lineno": 24 } } ], "lineno": 24 } ], "ast_class": "Call", "col_offset": 11, "end_col_offset": 9, "end_lineno": 25, "func": { "ast_class": "Name", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 17, "end_lineno": 22, "id": "select", "lineno": 22 }, "keywords": [], "lineno": 22 } } ], "col_offset": 0, "decorator_list": [], "end_col_offset": 9, "end_lineno": 25, "lineno": 1, "name": "formula" }, "file_path": "openfisca_france/model/prestations/bail_reel_solidaire.py", "parameters": [ "prestations_sociales.bail_reel_solidaire.parametres_generaux.nombre_personnes_maximum", "prestations_sociales.bail_reel_solidaire.parametres_generaux.zones_abc_eligibles", "prestations_sociales.bail_reel_solidaire.plafonds_par_zones" ], "source_code": "def formula(menage, period, parameters):\n params = parameters(period).prestations_sociales.bail_reel_solidaire\n zones_abc_eligibles = params.parametres_generaux.zones_abc_eligibles\n plafonds_par_zones = params.plafonds_par_zones\n zones_menage = menage('bail_reel_solidaire_zones_menage', period)\n nb_personnes = menage.nb_persons()\n nb_personnes_max = params.parametres_generaux.nombre_personnes_maximum\n\n def calcul_plafonds_zone(zone):\n plafond_zone = plafonds_par_zones[f'zone_{zone}']\n plafond_base = select(\n [nb_personnes == i if i < 6 else nb_personnes >= i for i in range(1, 7)],\n [plafond_zone[f'nb_personnes_{i}'] for i in range(1, 7)]\n )\n plafond_supp = where(\n nb_personnes > nb_personnes_max,\n (nb_personnes - nb_personnes_max) * plafond_zone.nb_personnes_supplementaires,\n 0\n )\n return plafond_base + plafond_supp\n\n return select(\n [zones_menage == zone for zone in zones_abc_eligibles],\n [calcul_plafonds_zone(zone) for zone in zones_abc_eligibles]\n )\n", "start_line_number": 45, "stop_line_number": 70, "variables": [ "bail_reel_solidaire_zones_menage" ] } }, "json_type": "number", "label": "Plafond de ressources total du Bail Réel Solidaire", "name": "bail_reel_solidaire_plafond_total", "referring_variables": [ "bail_reel_solidaire" ], "start_line_number": 39, "stop_line_number": 70, "value_type": "float" }