@openfisca/france-json
Version:
JSON & YAML data extracted from OpenFisca-France source code (parameters, variables, etc)
545 lines (544 loc) • 17.9 kB
JSON
{
"default_value": false,
"definition_period": "year",
"dtype": "bool_",
"entity": "foyer_fiscal",
"file_path": "openfisca_france/model/prelevements_obligatoires/taxe_habitation/taxe_habitation.py",
"formulas": {
"2017-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"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": 6,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 6,
"lineno": 2,
"value": "\n Pour l'exonération de la taxe d'habitation et l'abattement pour condition modeste, en cas de ménages à foyers\n fiscaux multiples, la condition relative au revenu fiscal de référence doit être respectée pour tous les foyers\n fiscaux du ménage, d'où cette variable intermédiaire\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 61,
"end_lineno": 7,
"lineno": 7,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 5,
"end_lineno": 7,
"id": "P",
"lineno": 7
}
],
"value": {
"ast_class": "Attribute",
"attr": "taxe_habitation",
"col_offset": 8,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 61,
"end_lineno": 7,
"lineno": 7,
"value": {
"ast_class": "Attribute",
"attr": "taxation_indirecte",
"col_offset": 8,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 7,
"lineno": 7,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 7,
"id": "period",
"lineno": 7
}
],
"ast_class": "Call",
"col_offset": 8,
"end_col_offset": 26,
"end_lineno": 7,
"func": {
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 18,
"end_lineno": 7,
"id": "parameters",
"lineno": 7
},
"keywords": [],
"lineno": 7
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 47,
"end_lineno": 8,
"lineno": 8,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 7,
"end_lineno": 8,
"id": "rfr",
"lineno": 8
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 28,
"end_lineno": 8,
"lineno": 8,
"value": "rfr"
},
{
"ast_class": "Attribute",
"attr": "last_year",
"col_offset": 30,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 8,
"lineno": 8,
"value": {
"ast_class": "Name",
"col_offset": 30,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 8,
"id": "period",
"lineno": 8
}
}
],
"ast_class": "Call",
"col_offset": 10,
"end_col_offset": 47,
"end_lineno": 8,
"func": {
"ast_class": "Name",
"col_offset": 10,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 22,
"end_lineno": 8,
"id": "foyer_fiscal",
"lineno": 8
},
"keywords": [],
"lineno": 8
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 51,
"end_lineno": 9,
"lineno": 9,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 9,
"end_lineno": 9,
"id": "nbptr",
"lineno": 9
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 25,
"end_col_offset": 32,
"end_lineno": 9,
"lineno": 9,
"value": "nbptr"
},
{
"ast_class": "Attribute",
"attr": "last_year",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 50,
"end_lineno": 9,
"lineno": 9,
"value": {
"ast_class": "Name",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 9,
"id": "period",
"lineno": 9
}
}
],
"ast_class": "Call",
"col_offset": 12,
"end_col_offset": 51,
"end_lineno": 9,
"func": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 9,
"id": "foyer_fiscal",
"lineno": 9
},
"keywords": [],
"lineno": 9
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 104,
"end_lineno": 10,
"lineno": 10,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 12,
"end_lineno": 10,
"id": "seuil_th",
"lineno": 10
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 15,
"end_col_offset": 104,
"end_lineno": 10,
"left": {
"ast_class": "Attribute",
"attr": "premiere_part",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 10,
"lineno": 10,
"value": {
"ast_class": "Attribute",
"attr": "exon_plaf_rfr",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 10,
"lineno": 10,
"value": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 10,
"id": "P",
"lineno": 10
}
}
},
"lineno": 10,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 47,
"end_col_offset": 104,
"end_lineno": 10,
"left": {
"ast_class": "Attribute",
"attr": "demi_part_supp",
"col_offset": 47,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 77,
"end_lineno": 10,
"lineno": 10,
"value": {
"ast_class": "Attribute",
"attr": "exon_plaf_rfr",
"col_offset": 47,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 10,
"lineno": 10,
"value": {
"ast_class": "Name",
"col_offset": 47,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 10,
"id": "P",
"lineno": 10
}
}
},
"lineno": 10,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "Constant",
"col_offset": 85,
"end_col_offset": 86,
"end_lineno": 10,
"lineno": 10,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 88,
"end_col_offset": 103,
"end_lineno": 10,
"left": {
"ast_class": "BinOp",
"col_offset": 89,
"end_col_offset": 98,
"end_lineno": 10,
"left": {
"ast_class": "Name",
"col_offset": 89,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 94,
"end_lineno": 10,
"id": "nbptr",
"lineno": 10
},
"lineno": 10,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Constant",
"col_offset": 97,
"end_col_offset": 98,
"end_lineno": 10,
"lineno": 10,
"value": 1
}
},
"lineno": 10,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Constant",
"col_offset": 102,
"end_col_offset": 103,
"end_lineno": 10,
"lineno": 10,
"value": 2
}
}
],
"ast_class": "Call",
"col_offset": 80,
"end_col_offset": 104,
"end_lineno": 10,
"func": {
"ast_class": "Name",
"col_offset": 80,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 10,
"id": "max_",
"lineno": 10
},
"keywords": [],
"lineno": 10
}
}
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 27,
"end_lineno": 11,
"lineno": 11,
"value": {
"ast_class": "Compare",
"col_offset": 12,
"comparators": [
{
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 11,
"id": "seuil_th",
"lineno": 11
}
],
"end_col_offset": 26,
"end_lineno": 11,
"left": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 15,
"end_lineno": 11,
"id": "rfr",
"lineno": 11
},
"lineno": 11,
"ops": [
{
"ast_class": "Lt"
}
]
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 27,
"end_lineno": 11,
"lineno": 1,
"name": "formula_2017_01_01"
},
"documentation": "\nPour l'exonération de la taxe d'habitation et l'abattement pour condition modeste, en cas de ménages à foyers\nfiscaux multiples, la condition relative au revenu fiscal de référence doit être respectée pour tous les foyers\nfiscaux du ménage, d'où cette variable intermédiaire\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/taxe_habitation/taxe_habitation.py",
"parameters": [
"taxation_indirecte.taxe_habitation.exon_plaf_rfr.demi_part_supp",
"taxation_indirecte.taxe_habitation.exon_plaf_rfr.premiere_part"
],
"source_code": "def formula_2017_01_01(foyer_fiscal, period, parameters):\n '''\n Pour l'exonération de la taxe d'habitation et l'abattement pour condition modeste, en cas de ménages à foyers\n fiscaux multiples, la condition relative au revenu fiscal de référence doit être respectée pour tous les foyers\n fiscaux du ménage, d'où cette variable intermédiaire\n '''\n P = parameters(period).taxation_indirecte.taxe_habitation\n rfr = foyer_fiscal('rfr', period.last_year)\n nbptr = foyer_fiscal('nbptr', period.last_year)\n seuil_th = P.exon_plaf_rfr.premiere_part + P.exon_plaf_rfr.demi_part_supp * max_(0, (nbptr - 1) * 2)\n return (rfr < seuil_th)\n",
"start_line_number": 23,
"stop_line_number": 34,
"variables": [
"nbptr",
"rfr"
]
}
},
"is_period_size_independent": true,
"json_type": "boolean",
"label": "Condition de revenu fiscal de référence pour l'éxonération à l'échelle du foyer fiscal",
"last_review": "2017-01-01",
"name": "condition_rfr_exoneration_th",
"reference": {
"0001-01-01": [
{
"href": "http://bofip.impots.gouv.fr/bofip/5934-PGP.html"
}
]
},
"referring_variables": [
"abattement_personnes_condition_modeste_th_commune",
"abattement_personnes_condition_modeste_th_epci",
"exonere_taxe_habitation"
],
"start_line_number": 15,
"stop_line_number": 34,
"value_type": "bool"
}