UNPKG

@openfisca/france-json

Version:

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

1,271 lines (1,270 loc) 48.1 kB
{ "default_value": -9999, "definition_period": "month", "dtype": "int32", "entity": "individu", "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/ir.py", "formulas": { "0001-01-01": { "ast": { "args": { "args": [ { "arg": "individu", "ast_class": "arg", "col_offset": 12, "end_col_offset": 20, "end_lineno": 1, "lineno": 1 }, { "arg": "period", "ast_class": "arg", "col_offset": 22, "end_col_offset": 28, "end_lineno": 1, "lineno": 1 }, { "arg": "parameters", "ast_class": "arg", "col_offset": 30, "end_col_offset": 40, "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": 73, "end_lineno": 2, "lineno": 2, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 13, "end_lineno": 2, "id": "has_birth", "lineno": 2 } ], "value": { "args": [], "ast_class": "Call", "col_offset": 16, "end_col_offset": 73, "end_lineno": 2, "func": { "ast_class": "Attribute", "attr": "get_known_periods", "col_offset": 16, "ctx": { "ast_class": "Load" }, "end_col_offset": 71, "end_lineno": 2, "lineno": 2, "value": { "args": [ { "ast_class": "Constant", "col_offset": 36, "end_col_offset": 52, "end_lineno": 2, "lineno": 2, "value": "date_naissance" } ], "ast_class": "Call", "col_offset": 16, "end_col_offset": 53, "end_lineno": 2, "func": { "ast_class": "Attribute", "attr": "get_holder", "col_offset": 16, "ctx": { "ast_class": "Load" }, "end_col_offset": 35, "end_lineno": 2, "lineno": 2, "value": { "ast_class": "Name", "col_offset": 16, "ctx": { "ast_class": "Load" }, "end_col_offset": 24, "end_lineno": 2, "id": "individu", "lineno": 2 } }, "keywords": [], "lineno": 2 } }, "keywords": [], "lineno": 2 } }, { "ast_class": "If", "body": [ { "ast_class": "Assign", "col_offset": 8, "end_col_offset": 86, "end_lineno": 4, "lineno": 4, "targets": [ { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Store" }, "end_col_offset": 23, "end_lineno": 4, "id": "has_age_en_mois", "lineno": 4 } ], "value": { "args": [ { "args": [], "ast_class": "Call", "col_offset": 31, "end_col_offset": 85, "end_lineno": 4, "func": { "ast_class": "Attribute", "attr": "get_known_periods", "col_offset": 31, "ctx": { "ast_class": "Load" }, "end_col_offset": 83, "end_lineno": 4, "lineno": 4, "value": { "args": [ { "ast_class": "Constant", "col_offset": 51, "end_col_offset": 64, "end_lineno": 4, "lineno": 4, "value": "age_en_mois" } ], "ast_class": "Call", "col_offset": 31, "end_col_offset": 65, "end_lineno": 4, "func": { "ast_class": "Attribute", "attr": "get_holder", "col_offset": 31, "ctx": { "ast_class": "Load" }, "end_col_offset": 50, "end_lineno": 4, "lineno": 4, "value": { "ast_class": "Name", "col_offset": 31, "ctx": { "ast_class": "Load" }, "end_col_offset": 39, "end_lineno": 4, "id": "individu", "lineno": 4 } }, "keywords": [], "lineno": 4 } }, "keywords": [], "lineno": 4 } ], "ast_class": "Call", "col_offset": 26, "end_col_offset": 86, "end_lineno": 4, "func": { "ast_class": "Name", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 30, "end_lineno": 4, "id": "bool", "lineno": 4 }, "keywords": [], "lineno": 4 } }, { "ast_class": "If", "body": [ { "ast_class": "Return", "col_offset": 12, "end_col_offset": 56, "end_lineno": 6, "lineno": 6, "value": { "ast_class": "BinOp", "col_offset": 19, "end_col_offset": 56, "end_lineno": 6, "left": { "args": [ { "ast_class": "Constant", "col_offset": 28, "end_col_offset": 41, "end_lineno": 6, "lineno": 6, "value": "age_en_mois" }, { "ast_class": "Name", "col_offset": 43, "ctx": { "ast_class": "Load" }, "end_col_offset": 49, "end_lineno": 6, "id": "period", "lineno": 6 } ], "ast_class": "Call", "col_offset": 19, "end_col_offset": 50, "end_lineno": 6, "func": { "ast_class": "Name", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 27, "end_lineno": 6, "id": "individu", "lineno": 6 }, "keywords": [], "lineno": 6 }, "lineno": 6, "op": { "ast_class": "FloorDiv" }, "right": { "ast_class": "Constant", "col_offset": 54, "end_col_offset": 56, "end_lineno": 6, "lineno": 6, "value": 12 } } } ], "col_offset": 8, "end_col_offset": 56, "end_lineno": 6, "lineno": 5, "orelse": [], "test": { "ast_class": "Name", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 26, "end_lineno": 5, "id": "has_age_en_mois", "lineno": 5 } }, { "ast_class": "Assign", "col_offset": 8, "end_col_offset": 43, "end_lineno": 9, "lineno": 9, "targets": [ { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Store" }, "end_col_offset": 14, "end_lineno": 9, "id": "holder", "lineno": 9 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 37, "end_col_offset": 42, "end_lineno": 9, "lineno": 9, "value": "age" } ], "ast_class": "Call", "col_offset": 17, "end_col_offset": 43, "end_lineno": 9, "func": { "ast_class": "Attribute", "attr": "get_holder", "col_offset": 17, "ctx": { "ast_class": "Load" }, "end_col_offset": 36, "end_lineno": 9, "lineno": 9, "value": { "ast_class": "Name", "col_offset": 17, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 9, "id": "individu", "lineno": 9 } }, "keywords": [], "lineno": 9 } }, { "ast_class": "Assign", "col_offset": 8, "end_col_offset": 28, "end_lineno": 10, "lineno": 10, "targets": [ { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Store" }, "end_col_offset": 13, "end_lineno": 10, "id": "start", "lineno": 10 } ], "value": { "ast_class": "Attribute", "attr": "start", "col_offset": 16, "ctx": { "ast_class": "Load" }, "end_col_offset": 28, "end_lineno": 10, "lineno": 10, "value": { "ast_class": "Name", "col_offset": 16, "ctx": { "ast_class": "Load" }, "end_col_offset": 22, "end_lineno": 10, "id": "period", "lineno": 10 } } }, { "ast_class": "Assign", "col_offset": 8, "end_col_offset": 50, "end_lineno": 11, "lineno": 11, "targets": [ { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Store" }, "end_col_offset": 21, "end_lineno": 11, "id": "known_periods", "lineno": 11 } ], "value": { "args": [], "ast_class": "Call", "col_offset": 24, "end_col_offset": 50, "end_lineno": 11, "func": { "ast_class": "Attribute", "attr": "get_known_periods", "col_offset": 24, "ctx": { "ast_class": "Load" }, "end_col_offset": 48, "end_lineno": 11, "lineno": 11, "value": { "ast_class": "Name", "col_offset": 24, "ctx": { "ast_class": "Load" }, "end_col_offset": 30, "end_lineno": 11, "id": "holder", "lineno": 11 } }, "keywords": [], "lineno": 11 } }, { "ast_class": "If", "body": [ { "ast_class": "For", "body": [ { "ast_class": "Assign", "col_offset": 16, "end_col_offset": 46, "end_lineno": 14, "lineno": 14, "targets": [ { "ast_class": "Name", "col_offset": 16, "ctx": { "ast_class": "Store" }, "end_col_offset": 26, "end_lineno": 14, "id": "last_start", "lineno": 14 } ], "value": { "ast_class": "Attribute", "attr": "start", "col_offset": 29, "ctx": { "ast_class": "Load" }, "end_col_offset": 46, "end_lineno": 14, "lineno": 14, "value": { "ast_class": "Name", "col_offset": 29, "ctx": { "ast_class": "Load" }, "end_col_offset": 40, "end_lineno": 14, "id": "last_period", "lineno": 14 } } }, { "ast_class": "If", "body": [ { "ast_class": "Assign", "col_offset": 20, "end_col_offset": 62, "end_lineno": 16, "lineno": 16, "targets": [ { "ast_class": "Name", "col_offset": 20, "ctx": { "ast_class": "Store" }, "end_col_offset": 30, "end_lineno": 16, "id": "last_array", "lineno": 16 } ], "value": { "args": [ { "ast_class": "Name", "col_offset": 50, "ctx": { "ast_class": "Load" }, "end_col_offset": 61, "end_lineno": 16, "id": "last_period", "lineno": 16 } ], "ast_class": "Call", "col_offset": 33, "end_col_offset": 62, "end_lineno": 16, "func": { "ast_class": "Attribute", "attr": "get_array", "col_offset": 33, "ctx": { "ast_class": "Load" }, "end_col_offset": 49, "end_lineno": 16, "lineno": 16, "value": { "ast_class": "Name", "col_offset": 33, "ctx": { "ast_class": "Load" }, "end_col_offset": 39, "end_lineno": 16, "id": "holder", "lineno": 16 } }, "keywords": [], "lineno": 16 } }, { "ast_class": "Return", "col_offset": 20, "end_col_offset": 25, "end_lineno": 24, "lineno": 17, "value": { "ast_class": "BinOp", "col_offset": 24, "end_col_offset": 29, "end_lineno": 23, "left": { "ast_class": "Name", "col_offset": 24, "ctx": { "ast_class": "Load" }, "end_col_offset": 34, "end_lineno": 18, "id": "last_array", "lineno": 18 }, "lineno": 18, "op": { "ast_class": "Add" }, "right": { "args": [ { "ast_class": "BinOp", "col_offset": 28, "end_col_offset": 67, "end_lineno": 22, "left": { "ast_class": "BinOp", "col_offset": 28, "end_col_offset": 45, "end_lineno": 21, "left": { "ast_class": "Attribute", "attr": "year", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 38, "end_lineno": 20, "lineno": 20, "value": { "ast_class": "Name", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 33, "end_lineno": 20, "id": "start", "lineno": 20 } }, "lineno": 20, "op": { "ast_class": "Sub" }, "right": { "ast_class": "Attribute", "attr": "year", "col_offset": 30, "ctx": { "ast_class": "Load" }, "end_col_offset": 45, "end_lineno": 21, "lineno": 21, "value": { "ast_class": "Name", "col_offset": 30, "ctx": { "ast_class": "Load" }, "end_col_offset": 40, "end_lineno": 21, "id": "last_start", "lineno": 21 } } }, "lineno": 20, "op": { "ast_class": "Add" }, "right": { "ast_class": "BinOp", "col_offset": 30, "end_col_offset": 67, "end_lineno": 22, "left": { "ast_class": "BinOp", "col_offset": 31, "end_col_offset": 61, "end_lineno": 22, "left": { "ast_class": "Attribute", "attr": "month", "col_offset": 31, "ctx": { "ast_class": "Load" }, "end_col_offset": 42, "end_lineno": 22, "lineno": 22, "value": { "ast_class": "Name", "col_offset": 31, "ctx": { "ast_class": "Load" }, "end_col_offset": 36, "end_lineno": 22, "id": "start", "lineno": 22 } }, "lineno": 22, "op": { "ast_class": "Sub" }, "right": { "ast_class": "Attribute", "attr": "month", "col_offset": 45, "ctx": { "ast_class": "Load" }, "end_col_offset": 61, "end_lineno": 22, "lineno": 22, "value": { "ast_class": "Name", "col_offset": 45, "ctx": { "ast_class": "Load" }, "end_col_offset": 55, "end_lineno": 22, "id": "last_start", "lineno": 22 } } }, "lineno": 22, "op": { "ast_class": "Div" }, "right": { "ast_class": "Constant", "col_offset": 65, "end_col_offset": 67, "end_lineno": 22, "lineno": 22, "value": 12 } } } ], "ast_class": "Call", "col_offset": 26, "end_col_offset": 29, "end_lineno": 23, "func": { "ast_class": "Name", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 29, "end_lineno": 19, "id": "int", "lineno": 19 }, "keywords": [], "lineno": 19 } } } ], "col_offset": 16, "end_col_offset": 25, "end_lineno": 24, "lineno": 15, "orelse": [], "test": { "ast_class": "Compare", "col_offset": 19, "comparators": [ { "ast_class": "Attribute", "attr": "day", "col_offset": 37, "ctx": { "ast_class": "Load" }, "end_col_offset": 46, "end_lineno": 15, "lineno": 15, "value": { "ast_class": "Name", "col_offset": 37, "ctx": { "ast_class": "Load" }, "end_col_offset": 42, "end_lineno": 15, "id": "start", "lineno": 15 } } ], "end_col_offset": 46, "end_lineno": 15, "left": { "ast_class": "Attribute", "attr": "day", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 33, "end_lineno": 15, "lineno": 15, "value": { "ast_class": "Name", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 29, "end_lineno": 15, "id": "last_start", "lineno": 15 } }, "lineno": 15, "ops": [ { "ast_class": "Eq" } ] } } ], "col_offset": 12, "end_col_offset": 25, "end_lineno": 24, "iter": { "args": [ { "ast_class": "Name", "col_offset": 38, "ctx": { "ast_class": "Load" }, "end_col_offset": 51, "end_lineno": 13, "id": "known_periods", "lineno": 13 } ], "ast_class": "Call", "col_offset": 31, "end_col_offset": 68, "end_lineno": 13, "func": { "ast_class": "Name", "col_offset": 31, "ctx": { "ast_class": "Load" }, "end_col_offset": 37, "end_lineno": 13, "id": "sorted", "lineno": 13 }, "keywords": [ { "arg": "reverse", "ast_class": "keyword", "col_offset": 53, "end_col_offset": 67, "end_lineno": 13, "lineno": 13, "value": { "ast_class": "Constant", "col_offset": 63, "end_col_offset": 67, "end_lineno": 13, "lineno": 13, "value": true } } ], "lineno": 13 }, "lineno": 13, "orelse": [], "target": { "ast_class": "Name", "col_offset": 16, "ctx": { "ast_class": "Store" }, "end_col_offset": 27, "end_lineno": 13, "id": "last_period", "lineno": 13 } } ], "col_offset": 8, "end_col_offset": 25, "end_lineno": 24, "lineno": 12, "orelse": [], "test": { "ast_class": "Name", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 24, "end_lineno": 12, "id": "known_periods", "lineno": 12 } } ], "col_offset": 4, "end_col_offset": 25, "end_lineno": 24, "lineno": 3, "orelse": [], "test": { "ast_class": "UnaryOp", "col_offset": 7, "end_col_offset": 20, "end_lineno": 3, "lineno": 3, "op": { "ast_class": "Not" }, "operand": { "ast_class": "Name", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 20, "end_lineno": 3, "id": "has_birth", "lineno": 3 } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 55, "end_lineno": 26, "lineno": 26, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 18, "end_lineno": 26, "id": "date_naissance", "lineno": 26 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 30, "end_col_offset": 46, "end_lineno": 26, "lineno": 26, "value": "date_naissance" }, { "ast_class": "Name", "col_offset": 48, "ctx": { "ast_class": "Load" }, "end_col_offset": 54, "end_lineno": 26, "id": "period", "lineno": 26 } ], "ast_class": "Call", "col_offset": 21, "end_col_offset": 55, "end_lineno": 26, "func": { "ast_class": "Name", "col_offset": 21, "ctx": { "ast_class": "Load" }, "end_col_offset": 29, "end_lineno": 26, "id": "individu", "lineno": 26 }, "keywords": [], "lineno": 26 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 28, "end_lineno": 27, "lineno": 27, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 11, "end_lineno": 27, "id": "epsilon", "lineno": 27 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 26, "end_col_offset": 27, "end_lineno": 27, "lineno": 27, "value": 1 } ], "ast_class": "Call", "col_offset": 14, "end_col_offset": 28, "end_lineno": 27, "func": { "ast_class": "Name", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 27, "id": "timedelta64", "lineno": 27 }, "keywords": [], "lineno": 27 } }, { "ast_class": "Return", "col_offset": 4, "end_col_offset": 89, "end_lineno": 28, "lineno": 28, "value": { "args": [ { "ast_class": "Constant", "col_offset": 72, "end_col_offset": 88, "end_lineno": 28, "lineno": 28, "value": "timedelta64[Y]" } ], "ast_class": "Call", "col_offset": 11, "end_col_offset": 89, "end_lineno": 28, "func": { "ast_class": "Attribute", "attr": "astype", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 71, "end_lineno": 28, "lineno": 28, "value": { "ast_class": "BinOp", "col_offset": 12, "end_col_offset": 63, "end_lineno": 28, "left": { "ast_class": "BinOp", "col_offset": 12, "end_col_offset": 53, "end_lineno": 28, "left": { "args": [ { "ast_class": "Attribute", "attr": "start", "col_offset": 23, "ctx": { "ast_class": "Load" }, "end_col_offset": 35, "end_lineno": 28, "lineno": 28, "value": { "ast_class": "Name", "col_offset": 23, "ctx": { "ast_class": "Load" }, "end_col_offset": 29, "end_lineno": 28, "id": "period", "lineno": 28 } } ], "ast_class": "Call", "col_offset": 12, "end_col_offset": 36, "end_lineno": 28, "func": { "ast_class": "Name", "col_offset": 12, "ctx": { "ast_class": "Load" }, "end_col_offset": 22, "end_lineno": 28, "id": "datetime64", "lineno": 28 }, "keywords": [], "lineno": 28 }, "lineno": 28, "op": { "ast_class": "Sub" }, "right": { "ast_class": "Name", "col_offset": 39, "ctx": { "ast_class": "Load" }, "end_col_offset": 53, "end_lineno": 28, "id": "date_naissance", "lineno": 28 } }, "lineno": 28, "op": { "ast_class": "Add" }, "right": { "ast_class": "Name", "col_offset": 56, "ctx": { "ast_class": "Load" }, "end_col_offset": 63, "end_lineno": 28, "id": "epsilon", "lineno": 28 } } }, "keywords": [], "lineno": 28 } } ], "col_offset": 0, "decorator_list": [], "end_col_offset": 89, "end_lineno": 28, "lineno": 1, "name": "formula" }, "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/ir.py", "source_code": "def formula(individu, period, parameters):\n has_birth = individu.get_holder('date_naissance').get_known_periods()\n if not has_birth:\n has_age_en_mois = bool(individu.get_holder('age_en_mois').get_known_periods())\n if has_age_en_mois:\n return individu('age_en_mois', period) // 12\n\n # If age is known at the same day of another year, compute the new age from it.\n holder = individu.get_holder('age')\n start = period.start\n known_periods = holder.get_known_periods()\n if known_periods:\n for last_period in sorted(known_periods, reverse = True):\n last_start = last_period.start\n if last_start.day == start.day:\n last_array = holder.get_array(last_period)\n return (\n last_array\n + int(\n start.year\n - last_start.year\n + (start.month - last_start.month) / 12\n )\n )\n\n date_naissance = individu('date_naissance', period)\n epsilon = timedelta64(1)\n return (datetime64(period.start) - date_naissance + epsilon).astype('timedelta64[Y]')\n", "start_line_number": 65, "stop_line_number": 93, "variables": [ "age_en_mois", "date_naissance" ] } }, "is_period_size_independent": true, "json_type": "integer", "label": "Âge (en années) au premier jour du mois", "name": "age", "referring_variables": [ "aah_eligible", "abat_spe", "abattements_speciaux_prestations_familiales", "acs_montant_i", "aeeh", "aes", "af_age_aine", "af_majoration_enfant", "af_nbenf_fonc", "age_en_mois", "agepi_nbenf", "aide_financement_permis_apprenti_eligibilite", "aide_jeunes_diplomes_anciens_boursiers_eligibilite", "aide_logement_base_ressources", "aide_permis_pro_btp", "aides_logement_foyer_personne_agee_eligibilite", "al_nb_personnes_a_charge", "apa_eligibilite", "apprenti", "asf_elig_enfant", "aspa_eligibilite", "bourse_college_echelon", "bourse_criteres_sociaux_eligibilite_age", "bourse_lycee_echelon", "bourse_lycee_points_de_charge", "carte_sncf_eleve_apprenti_eligibilite", "cf_dom_enfant_eligible", "cf_dom_enfant_trop_jeune", "cf_enfant_a_charge", "cf_enfant_eligible", "cheque_energie", "cmu_acs_eligibilite", "cmu_base_ressources", "cmu_nb_pac", "contrat_engagement_jeune_eligibilite_age", "contrat_engagement_jeune_montant", "covid_aide_exceptionnelle_famille_montant", "css_participation_forfaitaire_montant_i", "depart1825_eligibilite", "detention_carte_des_metiers", "enfant_eligible_paje", "enfant_majeur_celibataire_sans_enfant", "exoneration_cotisations_employeur_professionnalisation", "exonere_taxe_habitation", "garantie_jeunes_eligibilite_age", "garantie_pret_etudiant_eligibilite", "gratuite_musees_monuments", "jeunes_ind", "locapass_eligibilite_jeunes", "logement_social_categorie_menage", "majeur", "mobili_jeune_eligibilite", "mon_job_mon_logement_eligibilite_jeunes_actifs", "pass_culture", "ppa_eligibilite", "prestations_familiales_enfant_a_charge", "pret_formation_permis_eligibilite", "professionnalisation", "remuneration_apprenti", "remuneration_professionnalisation", "rente_accident_travail_apres_rachat", "rente_accident_travail_rachat", "rsa_eligibilite", "rsa_enfant_a_charge", "unites_consommation", "visale_eligibilite" ], "set_input": "set_input_dispatch_by_period", "start_line_number": 55, "stop_line_number": 93, "unit": "years", "value_type": "int" }