@openfisca/france-json
Version:
JSON & YAML data extracted from OpenFisca-France source code (parameters, variables, etc)
400 lines (399 loc) • 13.8 kB
JSON
{
"default_value": 0,
"definition_period": "year",
"dtype": "float32",
"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": 27,
"end_lineno": 2,
"id": "revenu_assimile_pension",
"lineno": 2
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 39,
"end_col_offset": 64,
"end_lineno": 2,
"lineno": 2,
"value": "revenu_assimile_pension"
},
{
"ast_class": "Name",
"col_offset": 66,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 72,
"end_lineno": 2,
"id": "period",
"lineno": 2
}
],
"ast_class": "Call",
"col_offset": 30,
"end_col_offset": 73,
"end_lineno": 2,
"func": {
"ast_class": "Name",
"col_offset": 30,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 2,
"id": "individu",
"lineno": 2
},
"keywords": [],
"lineno": 2
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 84,
"end_lineno": 3,
"lineno": 3,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 11,
"end_lineno": 3,
"id": "abatpen",
"lineno": 3
}
],
"value": {
"ast_class": "Attribute",
"attr": "abatpen",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 3,
"lineno": 3,
"value": {
"ast_class": "Attribute",
"attr": "tspr",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 3,
"lineno": 3,
"value": {
"ast_class": "Attribute",
"attr": "calcul_revenus_imposables",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 71,
"end_lineno": 3,
"lineno": 3,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 3,
"lineno": 3,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 31,
"end_lineno": 3,
"id": "period",
"lineno": 3
}
],
"ast_class": "Call",
"col_offset": 14,
"end_col_offset": 32,
"end_lineno": 3,
"func": {
"ast_class": "Name",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 3,
"id": "parameters",
"lineno": 3
},
"keywords": [],
"lineno": 3
}
}
}
}
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 111,
"end_lineno": 10,
"lineno": 10,
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 16,
"end_col_offset": 17,
"end_lineno": 10,
"lineno": 10,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 110,
"end_lineno": 10,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 42,
"end_lineno": 10,
"id": "revenu_assimile_pension",
"lineno": 10
},
"lineno": 10,
"op": {
"ast_class": "Sub"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "BinOp",
"col_offset": 57,
"end_col_offset": 95,
"end_lineno": 10,
"left": {
"ast_class": "Attribute",
"attr": "taux",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 69,
"end_lineno": 10,
"lineno": 10,
"value": {
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 10,
"id": "abatpen",
"lineno": 10
}
},
"lineno": 10,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 72,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 95,
"end_lineno": 10,
"id": "revenu_assimile_pension",
"lineno": 10
}
},
{
"ast_class": "Attribute",
"attr": "min",
"col_offset": 97,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 108,
"end_lineno": 10,
"lineno": 10,
"value": {
"ast_class": "Name",
"col_offset": 97,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 10,
"id": "abatpen",
"lineno": 10
}
}
],
"ast_class": "Call",
"col_offset": 52,
"end_col_offset": 109,
"end_lineno": 10,
"func": {
"ast_class": "Name",
"col_offset": 52,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 10,
"id": "max_",
"lineno": 10
},
"keywords": [],
"lineno": 10
}
],
"ast_class": "Call",
"col_offset": 45,
"end_col_offset": 110,
"end_lineno": 10,
"func": {
"ast_class": "Name",
"col_offset": 45,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 10,
"id": "round_",
"lineno": 10
},
"keywords": [],
"lineno": 10
}
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 111,
"end_lineno": 10,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 15,
"end_lineno": 10,
"id": "max_",
"lineno": 10
},
"keywords": [],
"lineno": 10
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 111,
"end_lineno": 10,
"lineno": 1,
"name": "formula"
},
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/ir.py",
"parameters": [
"impot_revenu.calcul_revenus_imposables.tspr.abatpen.min",
"impot_revenu.calcul_revenus_imposables.tspr.abatpen.taux"
],
"source_code": "def formula(individu, period, parameters):\n revenu_assimile_pension = individu('revenu_assimile_pension', period)\n abatpen = parameters(period).impot_revenu.calcul_revenus_imposables.tspr.abatpen\n\n # TODO: problème car les pensions sont majorées au niveau du foyer\n# d11 = ( AS + BS + CS + DS + ES +\n# AO + BO + CO + DO + EO )\n# penv2 = (d11-f11> abatpen.max)*(penv + (d11-f11-abatpen.max)) + (d11-f11<= abatpen.max)*penv\n# Plus d'abatement de 20% en 2006\n return max_(0, revenu_assimile_pension - round_(max_(abatpen.taux * revenu_assimile_pension, abatpen.min)))\n",
"start_line_number": 452,
"stop_line_number": 462,
"variables": [
"revenu_assimile_pension"
]
}
},
"json_type": "number",
"label": "Pensions après abattements",
"name": "revenu_assimile_pension_apres_abattements",
"referring_variables": [
"abattement_salaires_pensions",
"aide_logement_base_ressources_individu",
"indu_plaf_abat_pen",
"revenus_et_produits_plafonnement_isf_ifi",
"traitements_salaires_pensions_rentes"
],
"start_line_number": 446,
"stop_line_number": 462,
"value_type": "float"
}