@leximpact/socio-fiscal-openfisca-json
Version:
JSON & YAML data extracted from OpenFisca-France with Indirect Taxation source code (parameters, variables, etc)
948 lines (947 loc) • 31.1 kB
JSON
{
"default_value": false,
"definition_period": "month",
"dtype": "bool_",
"entity": "famille",
"file_path": "openfisca_france/model/prestations/logement_social.py",
"formulas": {
"2017-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "famille",
"ast_class": "arg",
"col_offset": 17,
"end_col_offset": 24,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 26,
"end_col_offset": 32,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 34,
"end_col_offset": 44,
"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": 89,
"end_lineno": 2,
"lineno": 2,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 2,
"id": "parent_majeur",
"lineno": 2
}
],
"value": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 48,
"end_col_offset": 56,
"end_lineno": 2,
"lineno": 2,
"value": "majeur"
},
{
"ast_class": "Name",
"col_offset": 58,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 2,
"id": "period",
"lineno": 2
}
],
"ast_class": "Call",
"col_offset": 32,
"end_col_offset": 65,
"end_lineno": 2,
"func": {
"ast_class": "Attribute",
"attr": "members",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 47,
"end_lineno": 2,
"lineno": 2,
"value": {
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 2,
"id": "famille",
"lineno": 2
}
},
"keywords": [],
"lineno": 2
}
],
"ast_class": "Call",
"col_offset": 20,
"end_col_offset": 89,
"end_lineno": 2,
"func": {
"ast_class": "Attribute",
"attr": "any",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 31,
"end_lineno": 2,
"lineno": 2,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 2,
"id": "famille",
"lineno": 2
}
},
"keywords": [
{
"arg": "role",
"ast_class": "keyword",
"col_offset": 67,
"end_col_offset": 88,
"end_lineno": 2,
"lineno": 2,
"value": {
"ast_class": "Attribute",
"attr": "PARENT",
"col_offset": 74,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 88,
"end_lineno": 2,
"lineno": 2,
"value": {
"ast_class": "Name",
"col_offset": 74,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 2,
"id": "Famille",
"lineno": 2
}
}
}
],
"lineno": 2
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 94,
"end_lineno": 3,
"lineno": 3,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 38,
"end_lineno": 3,
"id": "logement_social_plafond_ressources",
"lineno": 3
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 49,
"end_col_offset": 85,
"end_lineno": 3,
"lineno": 3,
"value": "logement_social_plafond_ressources"
},
{
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 93,
"end_lineno": 3,
"id": "period",
"lineno": 3
}
],
"ast_class": "Call",
"col_offset": 41,
"end_col_offset": 94,
"end_lineno": 3,
"func": {
"ast_class": "Name",
"col_offset": 41,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 3,
"id": "famille",
"lineno": 3
},
"keywords": [],
"lineno": 3
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 112,
"end_lineno": 4,
"lineno": 4,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 4,
"id": "rfr_n0",
"lineno": 4
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 44,
"end_col_offset": 49,
"end_lineno": 4,
"lineno": 4,
"value": "rfr"
},
{
"args": [
{
"ast_class": "Tuple",
"col_offset": 58,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 59,
"end_col_offset": 65,
"end_lineno": 4,
"lineno": 4,
"value": "year"
},
{
"args": [
{
"ast_class": "Constant",
"col_offset": 87,
"end_col_offset": 97,
"end_lineno": 4,
"lineno": 4,
"value": "first-of"
},
{
"ast_class": "Constant",
"col_offset": 99,
"end_col_offset": 105,
"end_lineno": 4,
"lineno": 4,
"value": "year"
}
],
"ast_class": "Call",
"col_offset": 67,
"end_col_offset": 106,
"end_lineno": 4,
"func": {
"ast_class": "Attribute",
"attr": "offset",
"col_offset": 67,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 86,
"end_lineno": 4,
"lineno": 4,
"value": {
"ast_class": "Attribute",
"attr": "start",
"col_offset": 67,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 4,
"lineno": 4,
"value": {
"ast_class": "Name",
"col_offset": 67,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 73,
"end_lineno": 4,
"id": "period",
"lineno": 4
}
}
},
"keywords": [],
"lineno": 4
},
{
"ast_class": "Constant",
"col_offset": 108,
"end_col_offset": 109,
"end_lineno": 4,
"lineno": 4,
"value": 1
}
],
"end_col_offset": 110,
"end_lineno": 4,
"lineno": 4
}
],
"ast_class": "Call",
"col_offset": 51,
"end_col_offset": 111,
"end_lineno": 4,
"func": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 57,
"end_lineno": 4,
"id": "Period",
"lineno": 4
},
"keywords": [],
"lineno": 4
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 112,
"end_lineno": 4,
"func": {
"ast_class": "Attribute",
"attr": "foyer_fiscal",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 4,
"lineno": 4,
"value": {
"ast_class": "Attribute",
"attr": "demandeur",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 4,
"lineno": 4,
"value": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 20,
"end_lineno": 4,
"id": "famille",
"lineno": 4
}
}
},
"keywords": [],
"lineno": 4
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 68,
"end_lineno": 5,
"lineno": 5,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 5,
"id": "rfr_n1",
"lineno": 5
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 44,
"end_col_offset": 49,
"end_lineno": 5,
"lineno": 5,
"value": "rfr"
},
{
"ast_class": "Attribute",
"attr": "last_year",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 67,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 57,
"end_lineno": 5,
"id": "period",
"lineno": 5
}
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 68,
"end_lineno": 5,
"func": {
"ast_class": "Attribute",
"attr": "foyer_fiscal",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "demandeur",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 20,
"end_lineno": 5,
"id": "famille",
"lineno": 5
}
}
},
"keywords": [],
"lineno": 5
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 62,
"end_lineno": 6,
"lineno": 6,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 6,
"id": "rfr_n2",
"lineno": 6
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 44,
"end_col_offset": 49,
"end_lineno": 6,
"lineno": 6,
"value": "rfr"
},
{
"ast_class": "Attribute",
"attr": "n_2",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 61,
"end_lineno": 6,
"lineno": 6,
"value": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 57,
"end_lineno": 6,
"id": "period",
"lineno": 6
}
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 62,
"end_lineno": 6,
"func": {
"ast_class": "Attribute",
"attr": "foyer_fiscal",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 6,
"lineno": 6,
"value": {
"ast_class": "Attribute",
"attr": "demandeur",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 6,
"lineno": 6,
"value": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 20,
"end_lineno": 6,
"id": "famille",
"lineno": 6
}
}
},
"keywords": [],
"lineno": 6
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 209,
"end_lineno": 8,
"lineno": 8,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 8,
"id": "elig",
"lineno": 8
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 209,
"end_lineno": 8,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 133,
"end_lineno": 8,
"left": {
"ast_class": "Compare",
"col_offset": 12,
"comparators": [
{
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 8,
"id": "logement_social_plafond_ressources",
"lineno": 8
}
],
"end_col_offset": 56,
"end_lineno": 8,
"left": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 18,
"end_lineno": 8,
"id": "rfr_n2",
"lineno": 8
},
"lineno": 8,
"ops": [
{
"ast_class": "LtE"
}
]
},
"lineno": 8,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 61,
"end_col_offset": 132,
"end_lineno": 8,
"left": {
"ast_class": "Compare",
"col_offset": 62,
"comparators": [
{
"ast_class": "BinOp",
"col_offset": 71,
"end_col_offset": 83,
"end_lineno": 8,
"left": {
"ast_class": "Constant",
"col_offset": 71,
"end_col_offset": 74,
"end_lineno": 8,
"lineno": 8,
"value": 0.9
},
"lineno": 8,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 77,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 83,
"end_lineno": 8,
"id": "rfr_n2",
"lineno": 8
}
}
],
"end_col_offset": 83,
"end_lineno": 8,
"left": {
"ast_class": "Name",
"col_offset": 62,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 68,
"end_lineno": 8,
"id": "rfr_n1",
"lineno": 8
},
"lineno": 8,
"ops": [
{
"ast_class": "Lt"
}
]
},
"lineno": 8,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Compare",
"col_offset": 88,
"comparators": [
{
"ast_class": "Name",
"col_offset": 97,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 131,
"end_lineno": 8,
"id": "logement_social_plafond_ressources",
"lineno": 8
}
],
"end_col_offset": 131,
"end_lineno": 8,
"left": {
"ast_class": "Name",
"col_offset": 88,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 94,
"end_lineno": 8,
"id": "rfr_n1",
"lineno": 8
},
"lineno": 8,
"ops": [
{
"ast_class": "Lt"
}
]
}
}
},
"lineno": 8,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 137,
"end_col_offset": 208,
"end_lineno": 8,
"left": {
"ast_class": "Compare",
"col_offset": 138,
"comparators": [
{
"ast_class": "BinOp",
"col_offset": 147,
"end_col_offset": 159,
"end_lineno": 8,
"left": {
"ast_class": "Constant",
"col_offset": 147,
"end_col_offset": 150,
"end_lineno": 8,
"lineno": 8,
"value": 0.9
},
"lineno": 8,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 153,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 159,
"end_lineno": 8,
"id": "rfr_n2",
"lineno": 8
}
}
],
"end_col_offset": 159,
"end_lineno": 8,
"left": {
"ast_class": "Name",
"col_offset": 138,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 144,
"end_lineno": 8,
"id": "rfr_n0",
"lineno": 8
},
"lineno": 8,
"ops": [
{
"ast_class": "Lt"
}
]
},
"lineno": 8,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Compare",
"col_offset": 164,
"comparators": [
{
"ast_class": "Name",
"col_offset": 173,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 207,
"end_lineno": 8,
"id": "logement_social_plafond_ressources",
"lineno": 8
}
],
"end_col_offset": 207,
"end_lineno": 8,
"left": {
"ast_class": "Name",
"col_offset": 164,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 170,
"end_lineno": 8,
"id": "rfr_n0",
"lineno": 8
},
"lineno": 8,
"ops": [
{
"ast_class": "Lt"
}
]
}
}
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 31,
"end_lineno": 10,
"lineno": 10,
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 31,
"end_lineno": 10,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 10,
"id": "parent_majeur",
"lineno": 10
},
"lineno": 10,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 31,
"end_lineno": 10,
"id": "elig",
"lineno": 10
}
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 31,
"end_lineno": 10,
"lineno": 1,
"name": "formula_2017"
},
"file_path": "openfisca_france/model/prestations/logement_social.py",
"source_code": "def formula_2017(famille, period, parameters):\n parent_majeur = famille.any(famille.members('majeur', period), role = Famille.PARENT)\n logement_social_plafond_ressources = famille('logement_social_plafond_ressources', period)\n rfr_n0 = famille.demandeur.foyer_fiscal('rfr', Period(('year', period.start.offset('first-of', 'year'), 1)))\n rfr_n1 = famille.demandeur.foyer_fiscal('rfr', period.last_year)\n rfr_n2 = famille.demandeur.foyer_fiscal('rfr', period.n_2)\n\n elig = (rfr_n2 <= logement_social_plafond_ressources) + ((rfr_n1 < 0.9 * rfr_n2) * (rfr_n1 < logement_social_plafond_ressources)) + ((rfr_n0 < 0.9 * rfr_n2) * (rfr_n0 < logement_social_plafond_ressources))\n\n return parent_majeur * elig\n",
"start_line_number": 172,
"stop_line_number": 182,
"variables": [
"logement_social_plafond_ressources",
"majeur",
"rfr"
]
}
},
"is_period_size_independent": true,
"json_type": "boolean",
"label": "Logement social - Éligibilité",
"last_value_still_valid_on": "2017-01-01",
"name": "logement_social_eligible",
"set_input": "set_input_dispatch_by_period",
"start_line_number": 162,
"stop_line_number": 182,
"value_type": "bool"
}