@leximpact/socio-fiscal-openfisca-json
Version:
JSON & YAML data extracted from OpenFisca-France with Indirect Taxation source code (parameters, variables, etc)
1,487 lines • 584 kB
JSON
{
"default_value": 0,
"definition_period": "year",
"dtype": "float32",
"entity": "foyer_fiscal",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"formulas": {
"2013-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": 4,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": "\n Duflot\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 5,
"id": "duflot_pinel_denormandie",
"lineno": 5
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 5,
"lineno": 5,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 5,
"id": "period",
"lineno": 5
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 5,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 5,
"id": "parameters",
"lineno": 5
},
"keywords": [],
"lineno": 5
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 8,
"lineno": 8,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 8,
"id": "f7gi",
"lineno": 8
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 8,
"lineno": 8,
"value": "f7gi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 8,
"id": "period",
"lineno": 8
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 8,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 8,
"id": "foyer_fiscal",
"lineno": 8
},
"keywords": [],
"lineno": 8
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 57,
"end_lineno": 10,
"lineno": 10,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 10,
"id": "inv_om",
"lineno": 10
}
],
"value": {
"args": [
{
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 50,
"end_lineno": 10,
"lineno": 10,
"value": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 42,
"end_lineno": 10,
"id": "duflot_pinel_denormandie",
"lineno": 10
}
},
{
"ast_class": "Name",
"col_offset": 52,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 10,
"id": "f7gi",
"lineno": 10
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 57,
"end_lineno": 10,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 17,
"end_lineno": 10,
"id": "min_",
"lineno": 10
},
"keywords": [],
"lineno": 10
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 80,
"end_lineno": 12,
"lineno": 12,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 9,
"end_lineno": 12,
"id": "ri_om",
"lineno": 12
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 79,
"end_lineno": 12,
"left": {
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 75,
"end_lineno": 12,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 12,
"id": "inv_om",
"lineno": 12
},
"lineno": 12,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 75,
"end_lineno": 12,
"lineno": 12,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 67,
"end_lineno": 12,
"lineno": 12,
"value": {
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 52,
"end_lineno": 12,
"id": "duflot_pinel_denormandie",
"lineno": 12
}
}
}
},
"lineno": 12,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 78,
"end_col_offset": 79,
"end_lineno": 12,
"lineno": 12,
"value": 9
}
}
],
"ast_class": "Call",
"col_offset": 12,
"end_col_offset": 80,
"end_lineno": 12,
"func": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 18,
"end_lineno": 12,
"id": "around",
"lineno": 12
},
"keywords": [],
"lineno": 12
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 16,
"end_lineno": 14,
"lineno": 14,
"value": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 14,
"id": "ri_om",
"lineno": 14
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 16,
"end_lineno": 14,
"lineno": 1,
"name": "formula_2013_01_01"
},
"documentation": "\nDuflot\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond"
],
"source_code": "def formula_2013_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n # Duflot année N, 2013\n f7gi = foyer_fiscal('f7gi', period) # Outre-Mer\n\n inv_om = min_(duflot_pinel_denormandie.plafond, f7gi)\n\n ri_om = around(inv_om * duflot_pinel_denormandie.location_9_ans.taux_om / 9)\n\n return ri_om\n",
"start_line_number": 601,
"stop_line_number": 615,
"variables": [
"f7gi"
]
},
"2014-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": 7,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 7,
"lineno": 2,
"value": "\n Duflot + Pinel\n NB: I count the reports of past Duflot investments towards Métropole,\n even though they may contain OM investments as well (only relevant after 2015,\n but since there are no separate cases, nothing one can potentially do).\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 8,
"lineno": 8,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 8,
"id": "duflot_pinel_denormandie",
"lineno": 8
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 8,
"lineno": 8,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 8,
"lineno": 8,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 8,
"lineno": 8,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 8,
"lineno": 8,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 8,
"id": "period",
"lineno": 8
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 8,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 8,
"id": "parameters",
"lineno": 8
},
"keywords": [],
"lineno": 8
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 11,
"lineno": 11,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 11,
"id": "f7gi",
"lineno": 11
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 11,
"lineno": 11,
"value": "f7gi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 11,
"id": "period",
"lineno": 11
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 11,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 11,
"id": "foyer_fiscal",
"lineno": 11
},
"keywords": [],
"lineno": 11
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 14,
"lineno": 14,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 14,
"id": "f7el",
"lineno": 14
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 14,
"lineno": 14,
"value": "f7el"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 14,
"id": "period",
"lineno": 14
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 14,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 14,
"id": "foyer_fiscal",
"lineno": 14
},
"keywords": [],
"lineno": 14
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 17,
"lineno": 17,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 17,
"id": "f7qc",
"lineno": 17
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 17,
"lineno": 17,
"value": "f7qc_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 17,
"id": "period",
"lineno": 17
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 17,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 17,
"id": "foyer_fiscal",
"lineno": 17
},
"keywords": [],
"lineno": 17
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 18,
"lineno": 18,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 18,
"id": "f7qd",
"lineno": 18
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 18,
"lineno": 18,
"value": "f7qd_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 18,
"id": "period",
"lineno": 18
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 18,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 18,
"id": "foyer_fiscal",
"lineno": 18
},
"keywords": [],
"lineno": 18
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 123,
"end_lineno": 21,
"lineno": 21,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 21,
"id": "reduc_2013",
"lineno": 21
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 24,
"end_col_offset": 122,
"end_lineno": 21,
"left": {
"ast_class": "BinOp",
"col_offset": 24,
"end_col_offset": 118,
"end_lineno": 21,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 71,
"end_lineno": 21,
"lineno": 21,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 63,
"end_lineno": 21,
"lineno": 21,
"value": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 21,
"id": "duflot_pinel_denormandie",
"lineno": 21
}
}
},
"lineno": 21,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 79,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 111,
"end_lineno": 21,
"lineno": 21,
"value": {
"ast_class": "Name",
"col_offset": 79,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 103,
"end_lineno": 21,
"id": "duflot_pinel_denormandie",
"lineno": 21
}
},
{
"ast_class": "Name",
"col_offset": 113,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 117,
"end_lineno": 21,
"id": "f7gi",
"lineno": 21
}
],
"ast_class": "Call",
"col_offset": 74,
"end_col_offset": 118,
"end_lineno": 21,
"func": {
"ast_class": "Name",
"col_offset": 74,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 78,
"end_lineno": 21,
"id": "min_",
"lineno": 21
},
"keywords": [],
"lineno": 21
}
},
"lineno": 21,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 121,
"end_col_offset": 122,
"end_lineno": 21,
"lineno": 21,
"value": 9
}
}
],
"ast_class": "Call",
"col_offset": 17,
"end_col_offset": 123,
"end_lineno": 21,
"func": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 21,
"id": "around",
"lineno": 21
},
"keywords": [],
"lineno": 21
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 67,
"end_lineno": 24,
"lineno": 24,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 13,
"end_lineno": 24,
"id": "inv_29_om",
"lineno": 24
}
],
"value": {
"args": [
{
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 24,
"lineno": 24,
"value": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 24,
"id": "duflot_pinel_denormandie",
"lineno": 24
}
},
{
"ast_class": "BinOp",
"col_offset": 55,
"end_col_offset": 66,
"end_lineno": 24,
"left": {
"ast_class": "Name",
"col_offset": 55,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 59,
"end_lineno": 24,
"id": "f7el",
"lineno": 24
},
"lineno": 24,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 62,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 66,
"end_lineno": 24,
"id": "f7qd",
"lineno": 24
}
}
],
"ast_class": "Call",
"col_offset": 16,
"end_col_offset": 67,
"end_lineno": 24,
"func": {
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 20,
"end_lineno": 24,
"id": "min_",
"lineno": 24
},
"keywords": [],
"lineno": 24
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 72,
"end_lineno": 25,
"lineno": 25,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 13,
"end_lineno": 25,
"id": "inv_23_om",
"lineno": 25
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 21,
"end_col_offset": 65,
"end_lineno": 25,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 25,
"lineno": 25,
"value": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 25,
"id": "duflot_pinel_denormandie",
"lineno": 25
}
},
"lineno": 25,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 56,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 65,
"end_lineno": 25,
"id": "inv_29_om",
"lineno": 25
}
},
{
"ast_class": "Name",
"col_offset": 67,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 71,
"end_lineno": 25,
"id": "f7qc",
"lineno": 25
}
],
"ast_class": "Call",
"col_offset": 16,
"end_col_offset": 72,
"end_lineno": 25,
"func": {
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 20,
"end_lineno": 25,
"id": "min_",
"lineno": 25
},
"keywords": [],
"lineno": 25
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 96,
"end_lineno": 28,
"lineno": 27,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 9,
"end_lineno": 27,
"id": "reduc",
"lineno": 27
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 12,
"end_col_offset": 96,
"end_lineno": 28,
"left": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 20,
"end_col_offset": 81,
"end_lineno": 28,
"left": {
"ast_class": "BinOp",
"col_offset": 21,
"end_col_offset": 84,
"end_lineno": 27,
"left": {
"ast_class": "BinOp",
"col_offset": 21,
"end_col_offset": 80,
"end_lineno": 27,
"left": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 27,
"id": "inv_29_om",
"lineno": 27
},
"lineno": 27,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 80,
"end_lineno": 27,
"lineno": 27,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 72,
"end_lineno": 27,
"lineno": 27,
"value": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 57,
"end_lineno": 27,
"id": "duflot_pinel_denormandie",
"lineno": 27
}
}
}
},
"lineno": 27,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 83,
"end_col_offset": 84,
"end_lineno": 27,
"lineno": 27,
"value": 9
}
},
"lineno": 27,
"op": {
"ast_class": "Add"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 80,
"end_lineno": 28,
"left": {
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 76,
"end_lineno": 28,
"left": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 28,
"id": "inv_23_om",
"lineno": 28
},
"lineno": 28,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 28,
"lineno": 28,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 68,
"end_lineno": 28,
"lineno": 28,
"value": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 28,
"id": "duflot_pinel_denormandie",
"lineno": 28
}
}
}
},
"lineno": 28,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 79,
"end_col_offset": 80,
"end_lineno": 28,
"lineno": 28,
"value": 6
}
}
],
"ast_class": "Call",
"col_offset": 10,
"end_col_offset": 81,
"end_lineno": 28,
"func": {
"ast_class": "Name",
"col_offset": 10,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 28,
"id": "around",
"lineno": 28
},
"keywords": [],
"lineno": 28
}
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 82,
"end_lineno": 28,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 19,
"end_lineno": 27,
"id": "around",
"lineno": 27
},
"keywords": [],
"lineno": 27
},
"lineno": 27,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 86,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 96,
"end_lineno": 28,
"id": "reduc_2013",
"lineno": 28
}
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 16,
"end_lineno": 30,
"lineno": 30,
"value": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 30,
"id": "reduc",
"lineno": 30
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 16,
"end_lineno": 30,
"lineno": 1,
"name": "formula_2014_01_01"
},
"documentation": "\nDuflot + Pinel\nNB: I count the reports of past Duflot investments towards Métropole,\neven though they may contain OM investments as well (only relevant after 2015,\nbut since there are no separate cases, nothing one can potentially do).\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_6_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond"
],
"source_code": "def formula_2014_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot + Pinel\n NB: I count the reports of past Duflot investments towards Métropole,\n even though they may contain OM investments as well (only relevant after 2015,\n but since there are no separate cases, nothing one can potentially do).\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n # Duflot année N, 2013\n f7gi = foyer_fiscal('f7gi', period) # Outre-Mer\n\n # Duflot année N, 2014\n f7el = foyer_fiscal('f7el', period) # Outre-Mer\n\n # Pinel année N, 2014\n f7qc = foyer_fiscal('f7qc_2018', period) # Outre-Mer, 6 ans\n f7qd = foyer_fiscal('f7qd_2018', period) # Outre-Mer, 9 ans\n\n # Duflot 2013\n reduc_2013 = around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(duflot_pinel_denormandie.plafond, f7gi) / 9)\n\n # Duflot et Pinel 2014\n inv_29_om = min_(duflot_pinel_denormandie.plafond, f7el + f7qd)\n inv_23_om = min_(duflot_pinel_denormandie.plafond - inv_29_om, f7qc)\n\n reduc = (around((inv_29_om * duflot_pinel_denormandie.location_9_ans.taux_om / 9)\n + around(inv_23_om * duflot_pinel_denormandie.location_6_ans.taux_om / 6))) + reduc_2013\n\n return reduc\n",
"start_line_number": 616,
"stop_line_number": 646,
"variables": [
"f7el",
"f7gi",
"f7qc_2018",
"f7qd_2018"
]
},
"2015-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": [],
"k