# OpenFisca-France
[](mailto:contact%40openfisca.org?subject=Subscribe%20to%20your%20newsletter%20%7C%20S'inscrire%20%C3%A0%20votre%20newsletter&body=%5BEnglish%20version%20below%5D%0A%0ABonjour%2C%0A%0AVotre%C2%A0pr%C3%A9sence%C2%A0ici%C2%A0nous%C2%A0ravit%C2%A0!%20%F0%9F%98%83%0A%0AEnvoyez-nous%20cet%20email%20pour%20que%20l'on%20puisse%20vous%20inscrire%20%C3%A0%20la%20newsletter.%20%0A%0AAh%C2%A0!%20Et%20si%20vous%20pouviez%20remplir%20ce%20petit%20questionnaire%2C%20%C3%A7a%20serait%20encore%20mieux%C2%A0!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2F45M0VR1TYKD1RGzX2%0A%0AAmiti%C3%A9%2C%0AL%E2%80%99%C3%A9quipe%20OpenFisca%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20ENGLISH%20VERSION%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0AHi%2C%20%0A%0AWe're%20glad%20to%20see%20you%20here!%20%F0%9F%98%83%0A%0APlease%20send%20us%20this%20email%2C%20so%20we%20can%20subscribe%20you%20to%20the%20newsletter.%0A%0AAlso%2C%20if%20you%20can%20fill%20out%20this%20short%20survey%2C%20even%20better!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2FsOg8K1abhhm441LG2%0A%0ACheers%2C%0AThe%20OpenFisca%20Team)
[](https://twitter.com/intent/follow?screen_name=openfisca)
[](mailto:contact%40openfisca.org?subject=Join%20you%20on%20Slack%20%7C%20Nous%20rejoindre%20sur%20Slack&body=%5BEnglish%20version%20below%5D%0A%0ABonjour%2C%0A%0AVotre%C2%A0pr%C3%A9sence%C2%A0ici%C2%A0nous%C2%A0ravit%C2%A0!%20%F0%9F%98%83%0A%0ARacontez-nous%20un%20peu%20de%20vous%2C%20et%20du%20pourquoi%20de%20votre%20int%C3%A9r%C3%AAt%20de%20rejoindre%20la%20communaut%C3%A9%20OpenFisca%20sur%20Slack.%0A%0AAh%C2%A0!%20Et%20si%20vous%20pouviez%20remplir%20ce%20petit%20questionnaire%2C%20%C3%A7a%20serait%20encore%20mieux%C2%A0!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2F45M0VR1TYKD1RGzX2%0A%0AN%E2%80%99oubliez%20pas%20de%20nous%20envoyer%20cet%20email%C2%A0!%20Sinon%2C%20on%20ne%20pourra%20pas%20vous%20contacter%20ni%20vous%20inviter%20sur%20Slack.%0A%0AAmiti%C3%A9%2C%0AL%E2%80%99%C3%A9quipe%20OpenFisca%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20ENGLISH%20VERSION%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0AHi%2C%20%0A%0AWe're%20glad%20to%20see%20you%20here!%20%F0%9F%98%83%0A%0APlease%20tell%20us%20a%20bit%20about%20you%20and%20why%20you%20want%20to%20join%20the%20OpenFisca%20community%20on%20Slack.%0A%0AAlso%2C%20if%20you%20can%20fill%20out%20this%20short%20survey%2C%20even%20better!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2FsOg8K1abhhm441LG2.%0A%0ADon't%20forget%20to%20send%20us%20this%20email!%20Otherwise%20we%20won't%20be%20able%20to%20contact%20you%20back%2C%20nor%20invite%20you%20on%20Slack.%0A%0ACheers%2C%0AThe%20OpenFisca%20Team)
[](https://pypi.python.org/pypi/openfisca-france)
[](https://pypi.python.org/pypi/openfisca-france)
[](https://gitpod-referer.now.sh/api/gitpod-referer-redirect)
## [EN] Introduction
OpenFisca is a versatile microsimulation free software. This repository contains the OpenFisca model of the French tax and benefit system. Therefore, the working language here is French. You can however check the [general OpenFisca documentation](https://openfisca.org/doc/) in English!
> We host a public instance of of the [OpenFisca-France Web API](https://api.fr.openfisca.org/latest/). Learn more about its endpoint in the [Swagger documentation](https://legislation.fr.openfisca.org/swagger).
> If you need to run large amount of calculations, or add extensions, you should [host your own instance](#servez-openfisca-france-avec-lapi-web-openfisca).
## [FR] Introduction
[OpenFisca](https://www.openfisca.fr/) est un logiciel libre de micro-simulation. Ce dépôt contient la modélisation du système social et fiscal français. Pour plus d'information sur les fonctionnalités et la manière d'utiliser OpenFisca, vous pouvez consulter la [documentation générale](https://openfisca.org/doc/).
> Nous mettons à disposition une instance publique de [l'API Web OpenFisca-France](https://api.fr.openfisca.org/latest/). Découvrez ses capacité sur sa [documentation Swagger](https://legislation.fr.openfisca.org/swagger).
> Si vous avez besoin de réaliser un grand nombre de calculs ou d'ajouter des extensions, vous pouvez [servir votre propre instance](#servez-openfisca-france-avec-lapi-web-openfisca).
## API Web publique : interrogez OpenFisca-France sans installation
OpenFisca met à disposition une [API Web publique](https://openfisca.org/doc/openfisca-web-api/endpoints.html) qui ne demande aucune installation.
Utilisez l'API publique si vous souhaitez :
- accéder à un paramètre (Ex : [le montant du Smic horaire brut](https://api.fr.openfisca.org/latest/parameter/marche_travail.salaire_minimum.smic.smic_b_horaire)) ;
- consulter une formule de calcul (Ex : [le calcul de l'allocation de base des allocations familiales](https://api.fr.openfisca.org/latest/variable/af_base)) ;
- faire des calculs sur une situation (Ex : le calcul du coût du travail).
L'ensembles des endpoints sont décrits dans la [documentation Swagger](https://legislation.fr.openfisca.org/swagger).
[L'explorateur de législation](https://legislation.fr.openfisca.org/swagger) contient la liste des paramètres et variables disponibles.
## Installation
Ce paquet requiert [Python 3.9](https://www.python.org/downloads/release/python-390/) et [pip](https://pip.pypa.io/en/stable/installing/) ou [conda](https://www.anaconda.com/products/individual) ou [UV](https://docs.astral.sh/uv/).
Plateformes supportées :
- distributions GNU/Linux (en particulier Debian and Ubuntu) ;
- Mac OS X ;
- Windows : Nous recommandons d'utiliser [UV](https://docs.astral.sh/uv/) car [conda](https://www.anaconda.com/products/individual) ne va surement plus être supporté par la communauté OpenFisca, si vous souhaitez tout de même l'utiliser, voir la procédure ci-dessous [Installez un environnement virtuel avec conda](./README.md#installez-un-environnement-virtuel-avec-conda) ; OpenFisca fonctionne également dans le [sous-système Windows pour Linux (WSL)](https://docs.microsoft.com/fr-fr/windows/wsl/install). Dans ce dernier cas, il suffit de suivre la procédure pour Linux car vous êtes alors dans un environnement Linux.
Pour les autres OS : si vous pouvez exécuter Python et Numpy, l'installation d'OpenFisca devrait fonctionner.
### A. Installation minimale, sans les sources
Suivez cette installation si vous souhaitez :
- procéder à des calculs sur une large population ;
- créer des simulations fiscales ;
- écrire une extension au-dessus de la législation française (exemple : les extensions de [Paris](https://github.com/sgmap/openfisca-paris) et [Rennes](https://github.com/sgmap/openfisca-rennesmetropole) ;
- servir OpenFisca-France avec l'API Web OpenFisca.
Pour pouvoir modifier OpenFisca-France, consultez l'[Installation avancée](#b-installation-avancée-git-clone).
#### Installer OpenFisca-France avec pip install
Placer vous dans le répertoire où vous souhaitez faire vos développements, puis :
```sh
uv init
```
Ensuite, installez OpenFisca-France :
```sh
uv add openfisca-france
uv add openfisca-core[web-api]
```
> _Note: La deuxième commande est optionnelle. Elle vous permet d'installer l'API Web d'OpenFisca._
Félicitations :tada: OpenFisca-France est prêt à être utilisé !
Vous pouvez vous assurer que votre installation s'est bien passée en exécutant :
```sh
uv run openfisca -h
```
#### Prochaines étapes
- Apprenez à utiliser OpenFisca avec nos [tutoriels](https://openfisca.org/doc/) (en anglais).
- Hébergez et servez votre instance d'OpenFisca-France avec l'[API Web OpenFisca](#servez-openfisca-france-avec-lapi-web-openfisca).
En fonction de vos projets, vous pourriez bénéficier de l'installation des paquets suivants dans votre _virtualenv_ :
- pour installer une extension ou écrire une législation au-dessus d'OpenFisca-France, consultez la [documentation sur les extensions](https://openfisca.org/doc/contribute/extensions.html) (en anglais) ;
- pour représenter graphiquement vos résultats, essayez la bibliothèque [matplotlib](http://matplotlib.org/) ;
- pour gérer vos données, découvrez la bibliothèque [pandas](http://pandas.pydata.org/).
### B. Installation avancée (Git Clone)
Suivez cette installation si vous souhaitez :
- enrichir ou modifier la législation d'OpenFisca-France ;
- contribuer au code source d'OpenFisca-France.
#### Cloner OpenFisca-France avec Git
Premièrement, assurez-vous que [Git](https://www.git-scm.com/) est bien installé sur votre machine.
Assurez-vous que vous êtes dans le répertoire où vous souhaitez cloner OpenFisca-France.
Clonez OpenFisca-France sur votre machine :
```sh
git clone https://github.com/openfisca/openfisca-france.git
cd openfisca-france
```
Vous pouvez vous assurer que votre installation s'est bien passée en exécutant :
```sh
uv run pytest tests/test_basics.py # Ces test peuvent prendre jusqu'à 60 secondes.
```
:tada: OpenFisca-France est prêt à être utilisé !
### Installez un environnement virtuel avec conda
Nous ne conseillons plus cette procédure, même pour les personnes utilisant Windows, il est préférable d'utiliser `uv`. En effet, nous pensons arrêter de supporter `conda` dans OpenFisca. Si vous en avez besoin, n'hésitez pas à ouvrir une issue sur le dépôt GitHub d'OpenFisca-France et nous expliquer votre cas d'utilisation.
Ceci vous permet d'obtenir en une seule installation :
- Python
- Le gestionnaire de paquets [Anaconda.org](https://docs.anaconda.com/anacondaorg/user-guide/)
- Le gestionnaire d'environnement Python virtuel : [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html)
Voici les étapes à suivre :
- Installer la version communautaire/gratuite en suivant la procédure décrite sur [le site Anaconda](https://www.anaconda.com/products/individual). A noter que Anaconda occupe beaucoup d'espace disque (>2 Go), vous pouvez installer à la place [Miniconda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/windows.html) qui occupe beaucoup moins d'espace disque. Cependant vous n'aurez pas l'interface graphique [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/index.html) qui vous permet de gérer vos environnements. Si vous êtes habituée à gérer les choses en ligne de commande, préfèrez Miniconda.
- Depuis le menu démarrer, exécuter `Anaconda Powershell Prompt`. Ou utiliser votre shell préféré avec Miniconda, il vous faudra peut-être utiliser la commande `conda init`, mais conda vous le dira.
- Exécuter les commandes suivantes dans le shell:
- Ajouter `conda-forge` comme channel par défaut : `conda config --add channels conda-forge && conda config --set channel_priority strict `
- Créer un environnement virtuel dédié : `conda create --name openfisca python=3.9`
- Activer l'environnement : `conda activate openfisca`
- Installer OpenFisca : `conda install openfisca-france`
:tada: OpenFisca-France est prêt à être utilisé !
Ensuite, pour quitter l'environnement OpenFisca : `conda deactivate`
Pour y revenir : `conda activate openfisca`
A noter que OpenFisca-France est présent sur [conda-forge](https://anaconda.org/conda-forge/openfisca-france) et sur un _channel_ dédié [openfisca](https://anaconda.org/openfisca/openfisca-france). C'est conda-forge qui est mis en avant dans cette documentation, car accessible par défaut dans les installations Anaconda.
A noter que l'installation d'Openfisca-France peut lever une erreur sur certaines machines Windows à cause de la longueur des chemins de certains fichiers de paramètres et des restrictions de longueur de chemin sous Windows. Une option possible pour résoudre ce problème est de lever cette limite (voir cette documentation pour [Windows >=10](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later))
#### Prochaines étapes
- Pour enrichir ou faire évoluer la législation d'OpenFisca-France, lisez _[Coding the Legislation](https://openfisca.org/doc/coding-the-legislation/index.html)_ (en anglais).
- Pour contribuer au code, lisez le _[Contribution Guidebook](https://openfisca.org/doc/contribute/index.html)_ (en anglais).
## Testing
Pour faire tourner les tests d'OpenFisca-France, exécutez la commande suivante :
```sh
uv run make test
```
Pour utiliser une version spécifique de Python :
```sh
uv run --python 3.12.3 make test
```
## Style
Ce dépôt adhère à un style de code précis, et on vous invite à le suivre pour que vos contributions soient intégrées au plus vite.
L'analyse de style est déjà exécutée avec `uv run make test`. Pour le faire tourner de façon indépendante :
```sh
uv run make check-style
```
Pour corriger les erreurs de style de façon automatique:
```sh
uv run make format-style
```
Pour corriger les erreurs de style de façon automatique à chaque fois que vous faites un _commit_ :
```sh
touch .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
tee -a .git/hooks/pre-commit << END
#!/bin/sh
#
# Automatically format your code before committing.
exec make format-style
END
```
## Mettre à jour les dépendances
Pour mettre à jour les dépendances, exécutez la commande suivante :
```sh
uv lock --upgrade
```
## Servez OpenFisca-France avec l'API Web OpenFisca
Il est possible de servir l'API Web d'OpenFisca-France sur votre propre serveur :
```sh
uv run openfisca serve
```
Pour en savoir plus sur la commande `uv run openfisca serve` et ses options, consultez la [documentation de référence](https://openfisca.org/doc/openfisca-python-api/openfisca_serve.html).
Testez votre installation en requêtant la commande suivante :
```sh
curl "http://localhost:5000/parameter/marche_travail.salaire_minimum.smic.smic_b_horaire"
```
Vous devriez avoir le resultat suivant :
```JSON
{
"description": "Smic horaire brut",
"id": "marche_travail.salaire_minimum.smic.smic_b_horaire",
"values": {
"2001-08-01": 6.67,
"2002-07-01": 6.83,
"2003-07-01": 7.19,
"2004-07-01": 7.61,
"2005-07-01": 8.03,
"2006-07-01": 8.27,
"2007-07-01": 8.44,
"2008-05-01": 8.63,
"2008-07-01": 8.71,
"2009-07-01": 8.82,
"2010-01-01": 8.86,
"2011-01-01": 9.0,
"2011-12-01": 9.19,
"2012-01-01": 9.22,
"2012-07-01": 9.4,
"2013-01-01": 9.43,
"2014-01-01": 9.53,
"2015-01-01": 9.61,
"2016-01-01": 9.67,
"2017-01-01": 9.76
}
}
```
:tada: Vous servez OpenFisca-France via l'API Web OpenFisca !
Pour en savoir plus, explorez [la documentation de l'API Web](https://legislation.fr.openfisca.org/swagger).
Vous pouvez activer le suivi des visites sur votre instance via Piwik avec _[le Tracker API OpenFisca](https://github.com/openfisca/tracker)_ (en anglais).
## Stratégie de versionnement
Le code d'OpenFisca-France est déployé de manière continue et automatique. Ainsi, à chaque fois que le code de la législation évolue sur la branche principale `master`, une nouvelle version est publiée.
De nouvelles versions sont donc publiées très régulièrement. Cependant, la différence entre deux versions consécutives étant réduite, les efforts d'adaptation pour passer de l'une à l'autre sont en général très limités.
Par ailleurs, OpenFisca-France respecte les règles du [versionnement sémantique](http://semver.org/). Tous les changements qui ne font pas l'objet d'une augmentation du numéro majeur de version sont donc garantis rétro-compatibles.
> Par exemple, si mon application utilise la version `13.1.1`, je sais qu'elle fonctionnera également avec la version `13.2.0`. En revanche, il est possible qu'une adaptation soit nécessaire sur mon client pour pouvoir utiliser la version `14.0.0`.
Enfin, les impacts et périmètres des évolutions sont tous documentés sur le [CHANGELOG](CHANGELOG.md) du package. Ce document permet aux contributeurs de suivre les évolutions et d'établir leur propre stratégie de mise à jour.
## Contributeurs
Voir la [liste des contributeurs](https://github.com/openfisca/openfisca-france/graphs/contributors).
Raw data
{
"_id": null,
"home_page": null,
"name": "OpenFisca-France",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "microsimulation, tax, benefit, rac, rules-as-code, france",
"author": null,
"author_email": "OpenFisca Team <contact@openfisca.fr>",
"download_url": "https://files.pythonhosted.org/packages/b9/7a/5e1b8647e3284a258bca7c45a3212d9df9e9964a06b486232824da1b24dc/openfisca_france-174.2.8.tar.gz",
"platform": null,
"description": "# OpenFisca-France\n\n[](mailto:contact%40openfisca.org?subject=Subscribe%20to%20your%20newsletter%20%7C%20S'inscrire%20%C3%A0%20votre%20newsletter&body=%5BEnglish%20version%20below%5D%0A%0ABonjour%2C%0A%0AVotre%C2%A0pr%C3%A9sence%C2%A0ici%C2%A0nous%C2%A0ravit%C2%A0!%20%F0%9F%98%83%0A%0AEnvoyez-nous%20cet%20email%20pour%20que%20l'on%20puisse%20vous%20inscrire%20%C3%A0%20la%20newsletter.%20%0A%0AAh%C2%A0!%20Et%20si%20vous%20pouviez%20remplir%20ce%20petit%20questionnaire%2C%20%C3%A7a%20serait%20encore%20mieux%C2%A0!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2F45M0VR1TYKD1RGzX2%0A%0AAmiti%C3%A9%2C%0AL%E2%80%99%C3%A9quipe%20OpenFisca%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20ENGLISH%20VERSION%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0AHi%2C%20%0A%0AWe're%20glad%20to%20see%20you%20here!%20%F0%9F%98%83%0A%0APlease%20send%20us%20this%20email%2C%20so%20we%20can%20subscribe%20you%20to%20the%20newsletter.%0A%0AAlso%2C%20if%20you%20can%20fill%20out%20this%20short%20survey%2C%20even%20better!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2FsOg8K1abhhm441LG2%0A%0ACheers%2C%0AThe%20OpenFisca%20Team)\n[](https://twitter.com/intent/follow?screen_name=openfisca)\n[](mailto:contact%40openfisca.org?subject=Join%20you%20on%20Slack%20%7C%20Nous%20rejoindre%20sur%20Slack&body=%5BEnglish%20version%20below%5D%0A%0ABonjour%2C%0A%0AVotre%C2%A0pr%C3%A9sence%C2%A0ici%C2%A0nous%C2%A0ravit%C2%A0!%20%F0%9F%98%83%0A%0ARacontez-nous%20un%20peu%20de%20vous%2C%20et%20du%20pourquoi%20de%20votre%20int%C3%A9r%C3%AAt%20de%20rejoindre%20la%20communaut%C3%A9%20OpenFisca%20sur%20Slack.%0A%0AAh%C2%A0!%20Et%20si%20vous%20pouviez%20remplir%20ce%20petit%20questionnaire%2C%20%C3%A7a%20serait%20encore%20mieux%C2%A0!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2F45M0VR1TYKD1RGzX2%0A%0AN%E2%80%99oubliez%20pas%20de%20nous%20envoyer%20cet%20email%C2%A0!%20Sinon%2C%20on%20ne%20pourra%20pas%20vous%20contacter%20ni%20vous%20inviter%20sur%20Slack.%0A%0AAmiti%C3%A9%2C%0AL%E2%80%99%C3%A9quipe%20OpenFisca%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20ENGLISH%20VERSION%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0AHi%2C%20%0A%0AWe're%20glad%20to%20see%20you%20here!%20%F0%9F%98%83%0A%0APlease%20tell%20us%20a%20bit%20about%20you%20and%20why%20you%20want%20to%20join%20the%20OpenFisca%20community%20on%20Slack.%0A%0AAlso%2C%20if%20you%20can%20fill%20out%20this%20short%20survey%2C%20even%20better!%0Ahttps%3A%2F%2Fgoo.gl%2Fforms%2FsOg8K1abhhm441LG2.%0A%0ADon't%20forget%20to%20send%20us%20this%20email!%20Otherwise%20we%20won't%20be%20able%20to%20contact%20you%20back%2C%20nor%20invite%20you%20on%20Slack.%0A%0ACheers%2C%0AThe%20OpenFisca%20Team)\n[](https://pypi.python.org/pypi/openfisca-france)\n[](https://pypi.python.org/pypi/openfisca-france)\n[](https://gitpod-referer.now.sh/api/gitpod-referer-redirect)\n\n## [EN] Introduction\n\nOpenFisca is a versatile microsimulation free software. This repository contains the OpenFisca model of the French tax and benefit system. Therefore, the working language here is French. You can however check the [general OpenFisca documentation](https://openfisca.org/doc/) in English!\n> We host a public instance of of the [OpenFisca-France Web API](https://api.fr.openfisca.org/latest/). Learn more about its endpoint in the [Swagger documentation](https://legislation.fr.openfisca.org/swagger).\n> If you need to run large amount of calculations, or add extensions, you should [host your own instance](#servez-openfisca-france-avec-lapi-web-openfisca).\n\n## [FR] Introduction\n\n[OpenFisca](https://www.openfisca.fr/) est un logiciel libre de micro-simulation. Ce d\u00e9p\u00f4t contient la mod\u00e9lisation du syst\u00e8me social et fiscal fran\u00e7ais. Pour plus d'information sur les fonctionnalit\u00e9s et la mani\u00e8re d'utiliser OpenFisca, vous pouvez consulter la [documentation g\u00e9n\u00e9rale](https://openfisca.org/doc/).\n> Nous mettons \u00e0 disposition une instance publique de [l'API Web OpenFisca-France](https://api.fr.openfisca.org/latest/). D\u00e9couvrez ses capacit\u00e9 sur sa [documentation Swagger](https://legislation.fr.openfisca.org/swagger).\n> Si vous avez besoin de r\u00e9aliser un grand nombre de calculs ou d'ajouter des extensions, vous pouvez [servir votre propre instance](#servez-openfisca-france-avec-lapi-web-openfisca).\n\n## API Web publique : interrogez OpenFisca-France sans installation\n\nOpenFisca met \u00e0 disposition une [API Web publique](https://openfisca.org/doc/openfisca-web-api/endpoints.html) qui ne demande aucune installation.\nUtilisez l'API publique si vous souhaitez :\n- acc\u00e9der \u00e0 un param\u00e8tre (Ex : [le montant du Smic horaire brut](https://api.fr.openfisca.org/latest/parameter/marche_travail.salaire_minimum.smic.smic_b_horaire)) ;\n- consulter une formule de calcul (Ex : [le calcul de l'allocation de base des allocations familiales](https://api.fr.openfisca.org/latest/variable/af_base)) ;\n- faire des calculs sur une situation (Ex : le calcul du co\u00fbt du travail).\n\nL'ensembles des endpoints sont d\u00e9crits dans la [documentation Swagger](https://legislation.fr.openfisca.org/swagger).\n\n[L'explorateur de l\u00e9gislation](https://legislation.fr.openfisca.org/swagger) contient la liste des param\u00e8tres et variables disponibles.\n\n## Installation\n\nCe paquet requiert [Python 3.9](https://www.python.org/downloads/release/python-390/) et [pip](https://pip.pypa.io/en/stable/installing/) ou [conda](https://www.anaconda.com/products/individual) ou [UV](https://docs.astral.sh/uv/).\n\nPlateformes support\u00e9es :\n- distributions GNU/Linux (en particulier Debian and Ubuntu) ;\n- Mac OS X ;\n- Windows : Nous recommandons d'utiliser [UV](https://docs.astral.sh/uv/) car [conda](https://www.anaconda.com/products/individual) ne va surement plus \u00eatre support\u00e9 par la communaut\u00e9 OpenFisca, si vous souhaitez tout de m\u00eame l'utiliser, voir la proc\u00e9dure ci-dessous [Installez un environnement virtuel avec conda](./README.md#installez-un-environnement-virtuel-avec-conda) ; OpenFisca fonctionne \u00e9galement dans le [sous-syst\u00e8me Windows pour Linux (WSL)](https://docs.microsoft.com/fr-fr/windows/wsl/install). Dans ce dernier cas, il suffit de suivre la proc\u00e9dure pour Linux car vous \u00eates alors dans un environnement Linux.\n\nPour les autres OS : si vous pouvez ex\u00e9cuter Python et Numpy, l'installation d'OpenFisca devrait fonctionner.\n\n### A. Installation minimale, sans les sources\n\nSuivez cette installation si vous souhaitez :\n- proc\u00e9der \u00e0 des calculs sur une large population ;\n- cr\u00e9er des simulations fiscales ;\n- \u00e9crire une extension au-dessus de la l\u00e9gislation fran\u00e7aise (exemple : les extensions de [Paris](https://github.com/sgmap/openfisca-paris) et [Rennes](https://github.com/sgmap/openfisca-rennesmetropole) ;\n- servir OpenFisca-France avec l'API Web OpenFisca.\n\nPour pouvoir modifier OpenFisca-France, consultez l'[Installation avanc\u00e9e](#b-installation-avanc\u00e9e-git-clone).\n\n#### Installer OpenFisca-France avec pip install\n\nPlacer vous dans le r\u00e9pertoire o\u00f9 vous souhaitez faire vos d\u00e9veloppements, puis :\n\n```sh\nuv init\n```\n\nEnsuite, installez OpenFisca-France :\n\n```sh\nuv add openfisca-france\nuv add openfisca-core[web-api]\n```\n> _Note: La deuxi\u00e8me commande est optionnelle. Elle vous permet d'installer l'API Web d'OpenFisca._\n\nF\u00e9licitations :tada: OpenFisca-France est pr\u00eat \u00e0 \u00eatre utilis\u00e9 !\n\nVous pouvez vous assurer que votre installation s'est bien pass\u00e9e en ex\u00e9cutant :\n\n```sh\nuv run openfisca -h\n```\n\n#### Prochaines \u00e9tapes\n\n- Apprenez \u00e0 utiliser OpenFisca avec nos [tutoriels](https://openfisca.org/doc/) (en anglais).\n- H\u00e9bergez et servez votre instance d'OpenFisca-France avec l'[API Web OpenFisca](#servez-openfisca-france-avec-lapi-web-openfisca).\n\nEn fonction de vos projets, vous pourriez b\u00e9n\u00e9ficier de l'installation des paquets suivants dans votre _virtualenv_ :\n- pour installer une extension ou \u00e9crire une l\u00e9gislation au-dessus d'OpenFisca-France, consultez la [documentation sur les extensions](https://openfisca.org/doc/contribute/extensions.html) (en anglais) ;\n- pour repr\u00e9senter graphiquement vos r\u00e9sultats, essayez la biblioth\u00e8que [matplotlib](http://matplotlib.org/) ;\n- pour g\u00e9rer vos donn\u00e9es, d\u00e9couvrez la biblioth\u00e8que [pandas](http://pandas.pydata.org/).\n\n### B. Installation avanc\u00e9e (Git Clone)\n\nSuivez cette installation si vous souhaitez :\n- enrichir ou modifier la l\u00e9gislation d'OpenFisca-France ;\n- contribuer au code source d'OpenFisca-France.\n\n#### Cloner OpenFisca-France avec Git\n\nPremi\u00e8rement, assurez-vous que [Git](https://www.git-scm.com/) est bien install\u00e9 sur votre machine.\n\nAssurez-vous que vous \u00eates dans le r\u00e9pertoire o\u00f9 vous souhaitez cloner OpenFisca-France.\n\nClonez OpenFisca-France sur votre machine :\n\n```sh\ngit clone https://github.com/openfisca/openfisca-france.git\ncd openfisca-france\n```\n\nVous pouvez vous assurer que votre installation s'est bien pass\u00e9e en ex\u00e9cutant :\n\n```sh\nuv run pytest tests/test_basics.py # Ces test peuvent prendre jusqu'\u00e0 60 secondes.\n```\n:tada: OpenFisca-France est pr\u00eat \u00e0 \u00eatre utilis\u00e9 !\n\n### Installez un environnement virtuel avec conda\n\nNous ne conseillons plus cette proc\u00e9dure, m\u00eame pour les personnes utilisant Windows, il est pr\u00e9f\u00e9rable d'utiliser `uv`. En effet, nous pensons arr\u00eater de supporter `conda` dans OpenFisca. Si vous en avez besoin, n'h\u00e9sitez pas \u00e0 ouvrir une issue sur le d\u00e9p\u00f4t GitHub d'OpenFisca-France et nous expliquer votre cas d'utilisation.\n\nCeci vous permet d'obtenir en une seule installation :\n- Python\n- Le gestionnaire de paquets [Anaconda.org](https://docs.anaconda.com/anacondaorg/user-guide/)\n- Le gestionnaire d'environnement Python virtuel : [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html)\n\nVoici les \u00e9tapes \u00e0 suivre :\n\n- Installer la version communautaire/gratuite en suivant la proc\u00e9dure d\u00e9crite sur [le site Anaconda](https://www.anaconda.com/products/individual). A noter que Anaconda occupe beaucoup d'espace disque (>2 Go), vous pouvez installer \u00e0 la place [Miniconda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/windows.html) qui occupe beaucoup moins d'espace disque. Cependant vous n'aurez pas l'interface graphique [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/index.html) qui vous permet de g\u00e9rer vos environnements. Si vous \u00eates habitu\u00e9e \u00e0 g\u00e9rer les choses en ligne de commande, pr\u00e9f\u00e8rez Miniconda.\n- Depuis le menu d\u00e9marrer, ex\u00e9cuter `Anaconda Powershell Prompt`. Ou utiliser votre shell pr\u00e9f\u00e9r\u00e9 avec Miniconda, il vous faudra peut-\u00eatre utiliser la commande `conda init`, mais conda vous le dira.\n- Ex\u00e9cuter les commandes suivantes dans le shell:\n - Ajouter `conda-forge` comme channel par d\u00e9faut : `conda config --add channels conda-forge && conda config --set channel_priority strict `\n - Cr\u00e9er un environnement virtuel d\u00e9di\u00e9 : `conda create --name openfisca python=3.9`\n - Activer l'environnement : `conda activate openfisca`\n - Installer OpenFisca : `conda install openfisca-france`\n\n:tada: OpenFisca-France est pr\u00eat \u00e0 \u00eatre utilis\u00e9 !\n\nEnsuite, pour quitter l'environnement OpenFisca : `conda deactivate`\n\nPour y revenir : `conda activate openfisca`\n\nA noter que OpenFisca-France est pr\u00e9sent sur [conda-forge](https://anaconda.org/conda-forge/openfisca-france) et sur un _channel_ d\u00e9di\u00e9 [openfisca](https://anaconda.org/openfisca/openfisca-france). C'est conda-forge qui est mis en avant dans cette documentation, car accessible par d\u00e9faut dans les installations Anaconda.\n\nA noter que l'installation d'Openfisca-France peut lever une erreur sur certaines machines Windows \u00e0 cause de la longueur des chemins de certains fichiers de param\u00e8tres et des restrictions de longueur de chemin sous Windows. Une option possible pour r\u00e9soudre ce probl\u00e8me est de lever cette limite (voir cette documentation pour [Windows >=10](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later))\n\n#### Prochaines \u00e9tapes\n\n- Pour enrichir ou faire \u00e9voluer la l\u00e9gislation d'OpenFisca-France, lisez _[Coding the Legislation](https://openfisca.org/doc/coding-the-legislation/index.html)_ (en anglais).\n- Pour contribuer au code, lisez le _[Contribution Guidebook](https://openfisca.org/doc/contribute/index.html)_ (en anglais).\n\n## Testing\n\nPour faire tourner les tests d'OpenFisca-France, ex\u00e9cutez la commande suivante\u00a0:\n\n```sh\nuv run make test\n```\n\nPour utiliser une version sp\u00e9cifique de Python :\n\n```sh\nuv run --python 3.12.3 make test\n```\n\n## Style\n\nCe d\u00e9p\u00f4t adh\u00e8re \u00e0 un style de code pr\u00e9cis, et on vous invite \u00e0 le suivre pour que vos contributions soient int\u00e9gr\u00e9es au plus vite.\n\nL'analyse de style est d\u00e9j\u00e0 ex\u00e9cut\u00e9e avec `uv run make test`. Pour le faire tourner de fa\u00e7on ind\u00e9pendante\u00a0:\n\n```sh\nuv run make check-style\n```\n\nPour corriger les erreurs de style de fa\u00e7on automatique:\n\n```sh\nuv run make format-style\n```\n\nPour corriger les erreurs de style de fa\u00e7on automatique \u00e0 chaque fois que vous faites un _commit_\u00a0:\n\n```sh\ntouch .git/hooks/pre-commit\nchmod +x .git/hooks/pre-commit\n\ntee -a .git/hooks/pre-commit << END\n#!/bin/sh\n#\n# Automatically format your code before committing.\nexec make format-style\nEND\n```\n\n## Mettre \u00e0 jour les d\u00e9pendances\n\nPour mettre \u00e0 jour les d\u00e9pendances, ex\u00e9cutez la commande suivante\u00a0:\n\n```sh\nuv lock --upgrade\n```\n\n## Servez OpenFisca-France avec l'API Web OpenFisca\n\nIl est possible de servir l'API Web d'OpenFisca-France sur votre propre serveur :\n\n```sh\nuv run openfisca serve\n```\n\nPour en savoir plus sur la commande `uv run openfisca serve` et ses options, consultez la [documentation de r\u00e9f\u00e9rence](https://openfisca.org/doc/openfisca-python-api/openfisca_serve.html).\n\nTestez votre installation en requ\u00eatant la commande suivante :\n\n```sh\ncurl \"http://localhost:5000/parameter/marche_travail.salaire_minimum.smic.smic_b_horaire\"\n```\nVous devriez avoir le resultat suivant :\n```JSON\n{\n \"description\": \"Smic horaire brut\",\n \"id\": \"marche_travail.salaire_minimum.smic.smic_b_horaire\",\n \"values\": {\n \"2001-08-01\": 6.67,\n \"2002-07-01\": 6.83,\n \"2003-07-01\": 7.19,\n \"2004-07-01\": 7.61,\n \"2005-07-01\": 8.03,\n \"2006-07-01\": 8.27,\n \"2007-07-01\": 8.44,\n \"2008-05-01\": 8.63,\n \"2008-07-01\": 8.71,\n \"2009-07-01\": 8.82,\n \"2010-01-01\": 8.86,\n \"2011-01-01\": 9.0,\n \"2011-12-01\": 9.19,\n \"2012-01-01\": 9.22,\n \"2012-07-01\": 9.4,\n \"2013-01-01\": 9.43,\n \"2014-01-01\": 9.53,\n \"2015-01-01\": 9.61,\n \"2016-01-01\": 9.67,\n \"2017-01-01\": 9.76\n }\n}\n```\n\n:tada: Vous servez OpenFisca-France via l'API Web OpenFisca !\n\nPour en savoir plus, explorez [la documentation de l'API Web](https://legislation.fr.openfisca.org/swagger).\n\nVous pouvez activer le suivi des visites sur votre instance via Piwik avec _[le Tracker API OpenFisca](https://github.com/openfisca/tracker)_ (en anglais).\n\n## Strat\u00e9gie de versionnement\n\nLe code d'OpenFisca-France est d\u00e9ploy\u00e9 de mani\u00e8re continue et automatique. Ainsi, \u00e0 chaque fois que le code de la l\u00e9gislation \u00e9volue sur la branche principale `master`, une nouvelle version est publi\u00e9e.\n\nDe nouvelles versions sont donc publi\u00e9es tr\u00e8s r\u00e9guli\u00e8rement. Cependant, la diff\u00e9rence entre deux versions cons\u00e9cutives \u00e9tant r\u00e9duite, les efforts d'adaptation pour passer de l'une \u00e0 l'autre sont en g\u00e9n\u00e9ral tr\u00e8s limit\u00e9s.\n\nPar ailleurs, OpenFisca-France respecte les r\u00e8gles du [versionnement s\u00e9mantique](http://semver.org/). Tous les changements qui ne font pas l'objet d'une augmentation du num\u00e9ro majeur de version sont donc garantis r\u00e9tro-compatibles.\n\n> Par exemple, si mon application utilise la version `13.1.1`, je sais qu'elle fonctionnera \u00e9galement avec la version `13.2.0`. En revanche, il est possible qu'une adaptation soit n\u00e9cessaire sur mon client pour pouvoir utiliser la version `14.0.0`.\n\nEnfin, les impacts et p\u00e9rim\u00e8tres des \u00e9volutions sont tous document\u00e9s sur le [CHANGELOG](CHANGELOG.md) du package. Ce document permet aux contributeurs de suivre les \u00e9volutions et d'\u00e9tablir leur propre strat\u00e9gie de mise \u00e0 jour.\n\n## Contributeurs\n\nVoir la [liste des contributeurs](https://github.com/openfisca/openfisca-france/graphs/contributors).\n",
"bugtrack_url": null,
"license": null,
"summary": "OpenFisca Rules as Code model for France.",
"version": "174.2.8",
"project_urls": {
"Changelog": "https://github.com/openfisca/openfisca-france/blob/main/CHANGELOG.md",
"Documentation": "https://openfisca.org/doc",
"Homepage": "https://github.com/openfisca/openfisca-france",
"Issues": "https://github.com/openfisca/openfisca-france/issues",
"Repository": "https://github.com/openfisca/openfisca-france"
},
"split_keywords": [
"microsimulation",
" tax",
" benefit",
" rac",
" rules-as-code",
" france"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9127e2342ac220ca5aa1e361f6927a310fc53d35ef0ae392197007cb2b9fd484",
"md5": "fe0e1a2a697d153b0aee76dd2217ffd8",
"sha256": "a9c3d419bac9981b1f7830442ac3866ea64ccc2f88f495c89cf0ee89e44e8c92"
},
"downloads": -1,
"filename": "openfisca_france-174.2.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fe0e1a2a697d153b0aee76dd2217ffd8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 8425640,
"upload_time": "2025-10-24T12:33:31",
"upload_time_iso_8601": "2025-10-24T12:33:31.274469Z",
"url": "https://files.pythonhosted.org/packages/91/27/e2342ac220ca5aa1e361f6927a310fc53d35ef0ae392197007cb2b9fd484/openfisca_france-174.2.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b97a5e1b8647e3284a258bca7c45a3212d9df9e9964a06b486232824da1b24dc",
"md5": "61b91b846a46b024d290ed0430a88ee3",
"sha256": "12d07d57d4ad8f605cde66dbda0da6b636525490c04103024b3ab4175a0e0be9"
},
"downloads": -1,
"filename": "openfisca_france-174.2.8.tar.gz",
"has_sig": false,
"md5_digest": "61b91b846a46b024d290ed0430a88ee3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 6310756,
"upload_time": "2025-10-24T12:33:34",
"upload_time_iso_8601": "2025-10-24T12:33:34.753412Z",
"url": "https://files.pythonhosted.org/packages/b9/7a/5e1b8647e3284a258bca7c45a3212d9df9e9964a06b486232824da1b24dc/openfisca_france-174.2.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-24 12:33:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "openfisca",
"github_project": "openfisca-france",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "openfisca-france"
}