openfisca / openfisca-france-data

France-Data module of OpenFisca
http://www.openfisca.fr/
GNU Affero General Public License v3.0
13 stars 16 forks source link

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:

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 :

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:

Then, choose one of the following options according to your use case:

For information on how we publish to conda, see .conda/README.md.

Development installation

You can follow this installation if you want to:

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