From d48fa01aa89af226dcd6c3dd3b72e66614b616cb Mon Sep 17 00:00:00 2001 From: Jeremy PASTOURET Date: Wed, 17 Apr 2024 14:56:53 +0200 Subject: [PATCH 1/4] =?UTF-8?q?ajout=20de=20l'aide=20=C3=A0=20l'achat=20d'?= =?UTF-8?q?une=20voiture=20electrique=20ile=5Fde=5Ffrance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++ .../aide_achat_voiture_electrique.yaml | 52 +++++++++++++++++++ .../aide_achat_voiture_electrique.py | 27 ++++++++++ setup.py | 2 +- .../aide_achat_voiture_electrique.yml | 33 ++++++++++++ 5 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 openfisca_france_local/parameters/regions/ile_de_france/aide_achat_voiture_electrique.yaml create mode 100644 openfisca_france_local/regions/ile_de_france/aide_achat_voiture_electrique.py create mode 100644 tests/regions/ile-de-france/aide_achat_voiture_electrique.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cc6ff1e..23ffe9d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.12.0] - 2024-04-17 + +_Pour les changements détaillés et les discussions associées, référencez la pull request [#209](https://github.com/openfisca/openfisca-france-local/pull/209)_ + ## [6.11.9] - 2024-03-12 _Pour les changements détaillés et les discussions associées, référencez la pull request [#208](https://github.com/openfisca/openfisca-france-local/pull/208)_ diff --git a/openfisca_france_local/parameters/regions/ile_de_france/aide_achat_voiture_electrique.yaml b/openfisca_france_local/parameters/regions/ile_de_france/aide_achat_voiture_electrique.yaml new file mode 100644 index 00000000..7b1317d9 --- /dev/null +++ b/openfisca_france_local/parameters/regions/ile_de_france/aide_achat_voiture_electrique.yaml @@ -0,0 +1,52 @@ +codes_communes_non_eligibles: + 2024-01-01: + value: + - '95018' # Argenteuil + - '91200' # Athis-Mons + - '91260' # Juvisy-sur-Orge + - '91420' # Morangis + - '91479' # Paray-Vieille-Poste + - '91600' # Savigny-sur-Orge + - '91687' # Viry-Châtillon + +departements_eligibles: + 2024-01-01: + value: + - '77' # Seine-et-Marne + - '78' # Yvelines + - '91' # Essonne + - '95' # Val-d’Oise + +montant_en_fonction_du_quotient_familial: + metadata: + type: single_amount + brackets: + - threshold: + 2024-01-01: + value: 0 + amount: + 2024-01-01: + value: 9000 + - threshold: + 2024-01-01: + value: 6358 + amount: + 2024-01-01: + value: 7500 + - threshold: + 2024-01-01: + value: 14090 + amount: + 2024-01-01: + value: 4500 + - threshold: + 2024-01-01: + value: 30508 + amount: + 2024-01-01: + value: 2250 + +metadata: + reference: + 2024-01-01: + href: https://www.iledefrance.fr/aides-et-appels-a-projets/acquisition-de-vehicules-propres-par-les-particuliers \ No newline at end of file diff --git a/openfisca_france_local/regions/ile_de_france/aide_achat_voiture_electrique.py b/openfisca_france_local/regions/ile_de_france/aide_achat_voiture_electrique.py new file mode 100644 index 00000000..46dbf871 --- /dev/null +++ b/openfisca_france_local/regions/ile_de_france/aide_achat_voiture_electrique.py @@ -0,0 +1,27 @@ +from openfisca_france.model.base import Individu, MONTH, Variable +from numpy.core.defchararray import startswith +from numpy import logical_not as not_ + +class ile_de_france_aide_achat_voiture_electrique(Variable): + value_type = float + entity = Individu + label = "Aide à l'acquisition de voitures électriques" + reference = "https://www.iledefrance.fr/aides-et-appels-a-projets/acquisition-de-vehicules-propres-par-les-particuliers" + definition_period = MONTH + + def formula(individu, period, parameters): + depcom = individu.menage('depcom', period) + codes_departements = parameters(period).regions.ile_de_france.aide_achat_voiture_electrique.departements_eligibles + eligibilite_geographique = sum([startswith(depcom, str.encode(code_departement)) for code_departement in codes_departements]) + + codes_communes = parameters(period).regions.ile_de_france.aide_achat_voiture_electrique.codes_communes_non_eligibles + exclusion_geographique = sum([depcom == str.encode(code_commune) for code_commune in codes_communes]) + + rfr = individu.foyer_fiscal('rfr', period.n_2) + nbptr = individu.foyer_fiscal('nbptr', period.n_2) + quotient_familial = rfr / nbptr + + modalites = parameters(period).regions.ile_de_france.aide_achat_voiture_electrique.montant_en_fonction_du_quotient_familial + montant = modalites.calc(quotient_familial) + + return montant * eligibilite_geographique * not_(exclusion_geographique) diff --git a/setup.py b/setup.py index 268582c6..d901db8b 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ setup( name='OpenFisca-France-Local', - version='6.11.9', + version='6.12.0', author='OpenFisca Team', author_email='contact@openfisca.fr', classifiers=[ diff --git a/tests/regions/ile-de-france/aide_achat_voiture_electrique.yml b/tests/regions/ile-de-france/aide_achat_voiture_electrique.yml new file mode 100644 index 00000000..d05cca6d --- /dev/null +++ b/tests/regions/ile-de-france/aide_achat_voiture_electrique.yml @@ -0,0 +1,33 @@ +- period: 2024-01 + input: + region: [ ile_de_france, ile_de_france, ile_de_france, ile_de_france, ile_de_france] + age: [18, 30, 21, 24, 22] + depcom: [77100, 78000, 78370, 78586, 78711] + statut_marital: [celibataire, marie, celibataire, marie, marie] + contrat_de_travail_type: [cdd, cdi, cdi, cdd, non_defini] + rfr: + 2022: + [1, 39000, 6500, 40000, 10000] + nbptr: + 2022: + [1, 2, 1, 3, 2] + activite: [actif, actif, actif, actif, etudiant] + output: + ile_de_france_aide_achat_voiture_electrique: [9000, 4500, 7500, 7500, 9000] + +- period: 2024-01 + input: + region: [ ile_de_france, haut_de_france ] + age: [22, 23] + depcom: [95018, 59000] + statut_marital: [marie, marie] + contrat_de_travail_type: [ cdi, cdi] + rfr: + 2022: + [6500, 6500] + nbptr: + 2022: + [2, 2] + activite: [actif, actif] + output: + ile_de_france_aide_achat_voiture_electrique: [0, 0] \ No newline at end of file From 9454f4a5a216fbcd2363d0697882ce7a3f411010 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20PASTOURET?= Date: Fri, 19 Apr 2024 17:15:31 +0200 Subject: [PATCH 2/4] Update CHANGELOG.md Co-authored-by: Simon Hamery --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23ffe9d2..a8c232ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ _Pour les changements détaillés et les discussions associées, référencez la pull request [#209](https://github.com/openfisca/openfisca-france-local/pull/209)_ +### Added + +- Ajoute la variable `ile_de_france_aide_achat_voiture_electrique` + ## [6.11.9] - 2024-03-12 _Pour les changements détaillés et les discussions associées, référencez la pull request [#208](https://github.com/openfisca/openfisca-france-local/pull/208)_ From af2b100e5e71b26bf59295fa0b539765891ca9f0 Mon Sep 17 00:00:00 2001 From: Jeremy PASTOURET Date: Mon, 22 Apr 2024 09:49:52 +0200 Subject: [PATCH 3/4] ajout d'un saut de ligne --- .../regions/ile_de_france/aide_achat_voiture_electrique.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openfisca_france_local/parameters/regions/ile_de_france/aide_achat_voiture_electrique.yaml b/openfisca_france_local/parameters/regions/ile_de_france/aide_achat_voiture_electrique.yaml index 7b1317d9..2750bfbf 100644 --- a/openfisca_france_local/parameters/regions/ile_de_france/aide_achat_voiture_electrique.yaml +++ b/openfisca_france_local/parameters/regions/ile_de_france/aide_achat_voiture_electrique.yaml @@ -49,4 +49,4 @@ montant_en_fonction_du_quotient_familial: metadata: reference: 2024-01-01: - href: https://www.iledefrance.fr/aides-et-appels-a-projets/acquisition-de-vehicules-propres-par-les-particuliers \ No newline at end of file + href: https://www.iledefrance.fr/aides-et-appels-a-projets/acquisition-de-vehicules-propres-par-les-particuliers From 421e89865e163ce198e115e7b519fcc6eea677fd Mon Sep 17 00:00:00 2001 From: Jeremy PASTOURET Date: Mon, 22 Apr 2024 09:52:04 +0200 Subject: [PATCH 4/4] transforme - en _ ile de france --- .../aide_achat_voiture_electrique.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename tests/regions/{ile-de-france => ile_de_france}/aide_achat_voiture_electrique.yml (94%) diff --git a/tests/regions/ile-de-france/aide_achat_voiture_electrique.yml b/tests/regions/ile_de_france/aide_achat_voiture_electrique.yml similarity index 94% rename from tests/regions/ile-de-france/aide_achat_voiture_electrique.yml rename to tests/regions/ile_de_france/aide_achat_voiture_electrique.yml index d05cca6d..d1dc17cc 100644 --- a/tests/regions/ile-de-france/aide_achat_voiture_electrique.yml +++ b/tests/regions/ile_de_france/aide_achat_voiture_electrique.yml @@ -30,4 +30,4 @@ [2, 2] activite: [actif, actif] output: - ile_de_france_aide_achat_voiture_electrique: [0, 0] \ No newline at end of file + ile_de_france_aide_achat_voiture_electrique: [0, 0]