@openfisca/france-json
Version:
JSON & YAML data extracted from OpenFisca-France source code (parameters, variables, etc)
1,047 lines (1,046 loc) • 33.2 kB
JSON
{
"default_value": 0,
"definition_period": "year",
"dtype": "float32",
"entity": "menage",
"file_path": "openfisca_france/model/prelevements_obligatoires/taxe_habitation/taxe_habitation.py",
"formulas": {
"2017-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "menage",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 31,
"end_col_offset": 37,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 39,
"end_col_offset": 49,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 5,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 5,
"lineno": 2,
"value": "\n Pour le nombre de personnes à charge, on ne prend pas en compte les gardes en résidence alternée qui font\n qu'une personne à charge ne compte que pour 0.5 au lieu de 1.\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 54,
"end_lineno": 6,
"lineno": 6,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 12,
"end_lineno": 6,
"id": "enfant_i",
"lineno": 6
}
],
"value": {
"args": [
{
"ast_class": "Attribute",
"attr": "ENFANT",
"col_offset": 39,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 6,
"lineno": 6,
"value": {
"ast_class": "Name",
"col_offset": 39,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 6,
"id": "Famille",
"lineno": 6
}
}
],
"ast_class": "Call",
"col_offset": 15,
"end_col_offset": 54,
"end_lineno": 6,
"func": {
"ast_class": "Attribute",
"attr": "has_role",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 6,
"lineno": 6,
"value": {
"ast_class": "Attribute",
"attr": "members",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 29,
"end_lineno": 6,
"lineno": 6,
"value": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 21,
"end_lineno": 6,
"id": "menage",
"lineno": 6
}
}
},
"keywords": [],
"lineno": 6
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 37,
"end_lineno": 7,
"lineno": 7,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 7,
"id": "nb_enfants",
"lineno": 7
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 7,
"id": "enfant_i",
"lineno": 7
}
],
"ast_class": "Call",
"col_offset": 17,
"end_col_offset": 37,
"end_lineno": 7,
"func": {
"ast_class": "Attribute",
"attr": "sum",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 7,
"lineno": 7,
"value": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 7,
"id": "menage",
"lineno": 7
}
},
"keywords": [],
"lineno": 7
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 89,
"end_lineno": 8,
"lineno": 8,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 36,
"end_lineno": 8,
"id": "valeur_locative_cadastrale_brute",
"lineno": 8
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 46,
"end_col_offset": 80,
"end_lineno": 8,
"lineno": 8,
"value": "valeur_locative_cadastrale_brute"
},
{
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 88,
"end_lineno": 8,
"id": "period",
"lineno": 8
}
],
"ast_class": "Call",
"col_offset": 39,
"end_col_offset": 89,
"end_lineno": 8,
"func": {
"ast_class": "Name",
"col_offset": 39,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 8,
"id": "menage",
"lineno": 8
},
"keywords": [],
"lineno": 8
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 61,
"end_lineno": 9,
"lineno": 9,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 5,
"end_lineno": 9,
"id": "P",
"lineno": 9
}
],
"value": {
"ast_class": "Attribute",
"attr": "taxe_habitation",
"col_offset": 8,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 61,
"end_lineno": 9,
"lineno": 9,
"value": {
"ast_class": "Attribute",
"attr": "taxation_indirecte",
"col_offset": 8,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 9,
"lineno": 9,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 9,
"id": "period",
"lineno": 9
}
],
"ast_class": "Call",
"col_offset": 8,
"end_col_offset": 26,
"end_lineno": 9,
"func": {
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 18,
"end_lineno": 9,
"id": "parameters",
"lineno": 9
},
"keywords": [],
"lineno": 9
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 83,
"end_lineno": 10,
"lineno": 10,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 33,
"end_lineno": 10,
"id": "abt_condition_modeste_th_epci",
"lineno": 10
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 43,
"end_col_offset": 74,
"end_lineno": 10,
"lineno": 10,
"value": "abt_condition_modeste_th_epci"
},
{
"ast_class": "Name",
"col_offset": 76,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 82,
"end_lineno": 10,
"id": "period",
"lineno": 10
}
],
"ast_class": "Call",
"col_offset": 36,
"end_col_offset": 83,
"end_lineno": 10,
"func": {
"ast_class": "Name",
"col_offset": 36,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 42,
"end_lineno": 10,
"id": "menage",
"lineno": 10
},
"keywords": [],
"lineno": 10
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 87,
"end_lineno": 11,
"lineno": 11,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 35,
"end_lineno": 11,
"id": "valeur_locative_moyenne_th_epci",
"lineno": 11
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 45,
"end_col_offset": 78,
"end_lineno": 11,
"lineno": 11,
"value": "valeur_locative_moyenne_th_epci"
},
{
"ast_class": "Name",
"col_offset": 80,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 86,
"end_lineno": 11,
"id": "period",
"lineno": 11
}
],
"ast_class": "Call",
"col_offset": 38,
"end_col_offset": 87,
"end_lineno": 11,
"func": {
"ast_class": "Name",
"col_offset": 38,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 11,
"id": "menage",
"lineno": 11
},
"keywords": [],
"lineno": 11
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 79,
"end_lineno": 12,
"lineno": 12,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 24,
"end_lineno": 12,
"id": "taux_plafond_general",
"lineno": 12
}
],
"value": {
"ast_class": "Attribute",
"attr": "seuil_valeur_locative_abattement_condition_modeste",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 12,
"lineno": 12,
"value": {
"ast_class": "Name",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 12,
"id": "P",
"lineno": 12
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 87,
"end_lineno": 13,
"lineno": 13,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 13,
"id": "maj_taux_plafond_par_pac",
"lineno": 13
}
],
"value": {
"ast_class": "Attribute",
"attr": "maj_seuil_valeur_locative_abattement_condition_modeste",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 13,
"lineno": 13,
"value": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 13,
"id": "P",
"lineno": 13
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 122,
"end_lineno": 14,
"lineno": 14,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 23,
"end_lineno": 14,
"id": "valeur_locative_max",
"lineno": 14
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 26,
"end_col_offset": 122,
"end_lineno": 14,
"left": {
"ast_class": "BinOp",
"col_offset": 27,
"end_col_offset": 87,
"end_lineno": 14,
"left": {
"ast_class": "Name",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 47,
"end_lineno": 14,
"id": "taux_plafond_general",
"lineno": 14
},
"lineno": 14,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 50,
"end_col_offset": 87,
"end_lineno": 14,
"left": {
"ast_class": "Name",
"col_offset": 50,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 14,
"id": "maj_taux_plafond_par_pac",
"lineno": 14
},
"lineno": 14,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 77,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 14,
"id": "nb_enfants",
"lineno": 14
}
}
},
"lineno": 14,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 91,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 122,
"end_lineno": 14,
"id": "valeur_locative_moyenne_th_epci",
"lineno": 14
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 104,
"end_lineno": 15,
"lineno": 15,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 34,
"end_lineno": 15,
"id": "condition_rfr_exoneration_th_i",
"lineno": 15
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 65,
"end_col_offset": 95,
"end_lineno": 15,
"lineno": 15,
"value": "condition_rfr_exoneration_th"
},
{
"ast_class": "Name",
"col_offset": 97,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 103,
"end_lineno": 15,
"id": "period",
"lineno": 15
}
],
"ast_class": "Call",
"col_offset": 37,
"end_col_offset": 104,
"end_lineno": 15,
"func": {
"ast_class": "Attribute",
"attr": "foyer_fiscal",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 15,
"lineno": 15,
"value": {
"ast_class": "Attribute",
"attr": "members",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 15,
"lineno": 15,
"value": {
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 15,
"id": "menage",
"lineno": 15
}
}
},
"keywords": [],
"lineno": 15
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 77,
"end_lineno": 16,
"lineno": 16,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 32,
"end_lineno": 16,
"id": "condition_rfr_exoneration_th",
"lineno": 16
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 46,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 16,
"id": "condition_rfr_exoneration_th_i",
"lineno": 16
}
],
"ast_class": "Call",
"col_offset": 35,
"end_col_offset": 77,
"end_lineno": 16,
"func": {
"ast_class": "Attribute",
"attr": "all",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 16,
"lineno": 16,
"value": {
"ast_class": "Name",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 16,
"id": "menage",
"lineno": 16
}
},
"keywords": [],
"lineno": 16
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 71,
"end_lineno": 17,
"lineno": 17,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 27,
"end_lineno": 17,
"id": "exonere_taxe_habitation",
"lineno": 17
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 37,
"end_col_offset": 62,
"end_lineno": 17,
"lineno": 17,
"value": "exonere_taxe_habitation"
},
{
"ast_class": "Name",
"col_offset": 64,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 70,
"end_lineno": 17,
"id": "period",
"lineno": 17
}
],
"ast_class": "Call",
"col_offset": 30,
"end_col_offset": 71,
"end_lineno": 17,
"func": {
"ast_class": "Name",
"col_offset": 30,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 17,
"id": "menage",
"lineno": 17
},
"keywords": [],
"lineno": 17
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 131,
"end_lineno": 18,
"lineno": 18,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 18,
"id": "elig",
"lineno": 18
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 131,
"end_lineno": 18,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 71,
"end_lineno": 18,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 18,
"id": "condition_rfr_exoneration_th",
"lineno": 18
},
"lineno": 18,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "Name",
"col_offset": 47,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 70,
"end_lineno": 18,
"id": "exonere_taxe_habitation",
"lineno": 18
}
],
"ast_class": "Call",
"col_offset": 42,
"end_col_offset": 71,
"end_lineno": 18,
"func": {
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 18,
"id": "not_",
"lineno": 18
},
"keywords": [],
"lineno": 18
}
},
"lineno": 18,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Compare",
"col_offset": 75,
"comparators": [
{
"ast_class": "Name",
"col_offset": 111,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 130,
"end_lineno": 18,
"id": "valeur_locative_max",
"lineno": 18
}
],
"end_col_offset": 130,
"end_lineno": 18,
"left": {
"ast_class": "Name",
"col_offset": 75,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 107,
"end_lineno": 18,
"id": "valeur_locative_cadastrale_brute",
"lineno": 18
},
"lineno": 18,
"ops": [
{
"ast_class": "LtE"
}
]
}
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 47,
"end_lineno": 20,
"lineno": 20,
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 47,
"end_lineno": 20,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 15,
"end_lineno": 20,
"id": "elig",
"lineno": 20
},
"lineno": 20,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 47,
"end_lineno": 20,
"id": "abt_condition_modeste_th_epci",
"lineno": 20
}
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 47,
"end_lineno": 20,
"lineno": 1,
"name": "formula_2017_01_01"
},
"documentation": "\nPour le nombre de personnes à charge, on ne prend pas en compte les gardes en résidence alternée qui font\nqu'une personne à charge ne compte que pour 0.5 au lieu de 1.\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/taxe_habitation/taxe_habitation.py",
"parameters": [
"taxation_indirecte.taxe_habitation.maj_seuil_valeur_locative_abattement_condition_modeste",
"taxation_indirecte.taxe_habitation.seuil_valeur_locative_abattement_condition_modeste"
],
"source_code": "def formula_2017_01_01(menage, period, parameters):\n '''\n Pour le nombre de personnes à charge, on ne prend pas en compte les gardes en résidence alternée qui font\n qu'une personne à charge ne compte que pour 0.5 au lieu de 1.\n '''\n enfant_i = menage.members.has_role(Famille.ENFANT)\n nb_enfants = menage.sum(enfant_i)\n valeur_locative_cadastrale_brute = menage('valeur_locative_cadastrale_brute', period)\n P = parameters(period).taxation_indirecte.taxe_habitation\n abt_condition_modeste_th_epci = menage('abt_condition_modeste_th_epci', period)\n valeur_locative_moyenne_th_epci = menage('valeur_locative_moyenne_th_epci', period)\n taux_plafond_general = P.seuil_valeur_locative_abattement_condition_modeste\n maj_taux_plafond_par_pac = P.maj_seuil_valeur_locative_abattement_condition_modeste\n valeur_locative_max = (taux_plafond_general + maj_taux_plafond_par_pac * nb_enfants) * valeur_locative_moyenne_th_epci\n condition_rfr_exoneration_th_i = menage.members.foyer_fiscal('condition_rfr_exoneration_th', period)\n condition_rfr_exoneration_th = menage.all(condition_rfr_exoneration_th_i)\n exonere_taxe_habitation = menage('exonere_taxe_habitation', period)\n elig = condition_rfr_exoneration_th * not_(exonere_taxe_habitation) * (valeur_locative_cadastrale_brute <= valeur_locative_max)\n\n return elig * abt_condition_modeste_th_epci\n",
"start_line_number": 166,
"stop_line_number": 186,
"variables": [
"abt_condition_modeste_th_epci",
"condition_rfr_exoneration_th",
"exonere_taxe_habitation",
"valeur_locative_cadastrale_brute",
"valeur_locative_moyenne_th_epci"
]
}
},
"json_type": "number",
"label": "Abattement pour personnes de condition modeste - TH de l'EPCI",
"last_review": "2017-01-01",
"name": "abattement_personnes_condition_modeste_th_epci",
"reference": {
"0001-01-01": [
{
"href": "https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006069577&idArticle=LEGIARTI000033220348&dateTexte=&categorieLien=id"
}
]
},
"referring_variables": [
"base_nette_th_epci"
],
"start_line_number": 159,
"stop_line_number": 186,
"value_type": "float"
}