OpenFisca is a versatile microsimulation free software. You can check the online documentation for more details.
This repository contains the OpenFisca-France-Data module, to work with OpenFisca-France and French survey or population data (ERFS and ERFS-FPR).
Here is the list of the managed data:
- DADS, annual declaration of social data ;
- ERFS, tax and social incomes survey ;
- ERFS-FPR, ERFS production and research files ;
- FELIN, sampled file of the income tax.
To transform your survey data into OpenFisca-France-Data formatted data you need to start with openfisca-survey-manager repository.
OpenFisca est un logiciel libre de micro-simulation. Pour plus d'information, vous pouvez consulter la documentation officielle.
Ce dépôt contient le module OpenFisca-France-Data. Il permet d'associer l'usage d'OpenFisca-France à des données d'enquête ou de population sur la France.
Ceci est la liste les données traitées :
- DADS, Déclaration Annuelle des Données Sociales ;
- ERFS, Enquête Revenus Fiscaux et Sociaux ;
- ERFS-FPR, ERFS fichiers de Production et de Recherche ;
- FELIN, fichier échantillonné de l'impôt sur le revenu.
Afin de transformer vos données d'enquête en des données au format OpenFisca-France-Data, vous aurez à débuter par le dépôt openfisca-survey-manager.
OpenFisca-France-Data runs on Python from version 3.7. More recent versions should work, but are not tested.
Backward compatibility with Python 2.7 has been dropped since January 1st, 2019.
Since version 0.22.0
, you could use conda
to install OpenFisca-France-Data.
Conda is the easiest way to use OpenFisca under Windows as by installing Anaconda you will get:
- Python
- The package manager Anaconda.org
- A virtual environment manager : conda
- A GUI Anaconda Navigator if you choose to install the full Anaconda
If you are familiar with the command line you could use Miniconda, which needs very much less disk space than Anaconda.
After installing conda, run these commands in an Anaconda Powershell Prompt
:
conda create --name openfisca python=3.9
to create anopenfisca
environment.conda activate openfisca
to use your new environment.
Then, choose one of the following options according to your use case:
conda install -c conda-forge -c openfisca openfisca-france-data
for default dependencies,- or
conda install -c conda-forge -c openfisca openfisca-france-data-test
if you want all the dependencies needed to contribute to the project.
For information on how we publish to conda, see .conda/README.md.
You can follow this installation if you want to:
- run one of OpenFisca-France-Data scripts,
- develop and contribute to OpenFisca-France-Data source code. Please be welcomed! :)
You will need to download and install the module locally:
git clone https://github.com/openfisca/openfisca-france-data.git
cd openfisca-france-data
make install
This should not display any error and end with:
Successfully installed OpenFisca-France-Data...
On a Windows machine, the installation of Openfisca-France-Data may run into problems due to long path names, which Windows, by default, does not handle. These long paths are mostly inherited from the OpenFisca-France parameters, which are stored in a sometimes deeply nested folder.
A possible workaround on Windows >= 10 is to lift the maximum path length limitation (as indicated here).
Let's say that you would like to format ERFS-FPR
survey data into OpenFisca formatted data.
💡If you have other data managed by openfisca-france-data
(like FELIN
), change erfs_fpr
by your data name in the next steps description.
You have already used openfisca-survey-manager
. So, you have a config.ini
file configured for this survey and a HDF5 file generated in the directory that you defined under output_directory
in your config.ini
.
For more information, you can see the configuration steps of
openfisca-survey-manager
README.
To run openfisca_france_data
on ERFS-FPR
survey data:
-
Run the command:
build-erfs-fpr -y 2013 -f dummy_data.h5
You can change
2013
with any year you are interested in and for which you have ERFS-FPR data anddummy_data.h5
with any filename you want to export a flatenned dataframe.The script should end without error and display these lines:
INFO:__main__:Script finished after... Closing remaining open files...
-
Check the script results:
openfisca_erfs_fpr.json
file generated in the directory you configured in yourconfig.ini
undercollections_directory
key.input.h5
file generated in the directory you configured in yourconfig.ini
underoutput_directory
key. This HDF5 file contains a group with two items:- an item with your data organised by OpenFisca-France
Individu
entity, - an item with your data organised by OpenFisca-France
Menage
entity.
- an item with your data organised by OpenFisca-France
- Specific to
ERFS-FPR
script:dummy_data.h5
if you keptexport_flattened_df_filepath
option's value.
The script also adds a
openfisca_erfs_fpr
key to yourconfig.ini
.
To run the entire test suite:
make test
This repository adheres to a certain coding style, and we invite you to follow it for your contributions to be integrated promptly.
To run the style checker:
make check-style
To automatically style-format your code changes:
make format-style
To automatically style-format your code changes each time you commit:
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