Skip to content

openfisca/openfisca-france-data

Repository files navigation

OpenFisca France Data

Newsletter Twitter Slack Coveralls Python PyPi

[EN] Introduction

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.

[FR] Introduction

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.

Environment

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.

Installation

Installing with conda

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:

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 an openfisca 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.

Development installation

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...

Specifics due to Windows' handling of long paths

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).

Execution

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:

  1. 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 and dummy_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...
  2. Check the script results:

    • openfisca_erfs_fpr.json file generated in the directory you configured in your config.ini under collections_directory key.
    • input.h5 file generated in the directory you configured in your config.ini under output_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.
    • Specific to ERFS-FPR script: dummy_data.h5 if you kept export_flattened_df_filepath option's value.

    The script also adds a openfisca_erfs_fpr key to your config.ini.

Testing

To run the entire test suite:

make test

Style

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