Skip to main content

OpenFisca tax and benefit system for CEQ

Project description

OpenFisca CEQ

Newsletter Twitter Slack CI Python PyPi

[EN] Introduction

OpenFisca is a versatile microsimulation free software. This repository contains the OpenFisca implementation of Commitment to Equity (CEQ) analysis framework.

A brief introduction to CEQ concepts entering our model is available.

This package is currently developped to work with the Côte d'Ivoire, Mali and Sénégal country packages. A detailed (but still WIP) description of the implementation of the multi-country comparison is provided, the working language being French.

You can however check the general OpenFisca documentation in English!

[FR] Introduction

OpenFisca est un logiciel libre de micro-simulation. Ce dépôt contient la modélisation du cadre d'analyse développé dans le cadre du projet Commitemnt to Equity (CEQ).

Une brève introduction aux concepts de revenus mobilisés par le cadre d'analyse CEQ utilisée par notre modèle est fournie.

Ce module est en cours de développment pour fonctionner avec les modèles des pays suivants:

La mise en oeuvre de la comparaison des systèmes sociaux-fiscaux des différents pays est décrite en détail dans la section idoine.

Pour plus d'information sur les fonctionnalités et la manière d'utiliser OpenFisca, vous pouvez consulter la documentation générale (en anglais).

Installation

Ce paquet requiert Python 3.11 ou plus récent et uv (un gestionnaire de paquets Python moderne et rapide).

Plateformes supportées :

  • distributions GNU/Linux (en particulier Debian and Ubuntu) ;
  • Mac OS X ;
  • Windows (nous recommandons d'utiliser ConEmu à la place de la console par défaut) ;

Pour les autres OS : si vous pouvez exécuter Python et Numpy, l'installation d'OpenFisca devrait fonctionner.

Installer uv

Nous recommandons l'utilisation de uv pour gérer les dépendances et les environnements virtuels. uv est beaucoup plus rapide que pip et gère automatiquement les environnements virtuels.

Pour installer uv, lancez une fenêtre de terminal et exécutez :

curl -LsSf https://astral.sh/uv/install.sh | sh

Ou sur Windows (PowerShell) :

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Vérifiez l'installation :

uv --version

Bravo :tada: Vous êtes prêt·e à installer OpenFisca-CEQ !

Nous proposons deux procédures d'installation. Choisissez l'installation A ou B ci-dessous en fonction de l'usage que vous souhaitez faire d'OpenFisca-CEQ.

A. Installation minimale (uv install)

Suivez cette installation si vous souhaitez :

  • procéder à des calculs sur une large population ;
  • créer des simulations fiscales ;
  • utiliser la cadre d'analyse d'openfisca-ceq

Pour pouvoir modifier OpenFisca-CEQ, consultez l'Installation avancée.

Installer OpenFisca-CEQ avec uv

Vérifiez les pré-requis :

python --version  # Devrait afficher "Python 3.11.xx" ou plus récent.

Installez OpenFisca-CEQ :

uv pip install openfisca-ceq

Ou si vous préférez utiliser uv avec un environnement virtuel :

uv venv
source .venv/bin/activate  # Sur Windows: .venv\Scripts\activate
uv pip install openfisca-ceq

Félicitations :tada: OpenFisca-CEQ est prêt à être utilisé !

Prochaines étapes

  • Apprenez à utiliser OpenFisca avec nos tutoriels (en anglais).

En fonction de vos projets, vous pourriez bénéficier de l'installation des paquets suivants :

  • pour installer une extension ou écrire une législation au-dessus d'OpenFisca-CEQ, consultez la documentation sur les extensions (en anglais) ;
  • pour représenter graphiquement vos résultats, essayez la bibliothèque matplotlib ;
  • pour gérer vos données, découvrez la bibliothèque pandas.

B. Installation avancée (Git Clone)

Suivez cette installation si vous souhaitez :

  • enrichir ou modifier la législation d'OpenFisca-CEQ ;
  • contribuer au code source d'OpenFisca-CEQ.

Cloner OpenFisca-CEQ avec Git

Premièrement, assurez-vous que Git est bien installé sur votre machine.

Assurez-vous que vous êtes dans le répertoire où vous souhaitez cloner OpenFisca-CEQ.

Vérifiez les pré-requis :

python --version  # Devrait afficher "Python 3.11.xx" ou plus récent.
uv --version  # Vérifiez que uv est installé.

Clonez OpenFisca-CEQ sur votre machine :

git clone https://github.com/openfisca/openfisca-ceq.git
cd openfisca-ceq
make install

La commande make install utilise uv sync qui :

  • Crée automatiquement un environnement virtuel (.venv)
  • Installe toutes les dépendances depuis pyproject.toml
  • Installe les dépendances de développement (ruff, pytest, etc.)

Vous pouvez vous assurer que votre installation s'est bien passée en exécutant :

make test

:tada: OpenFisca-CEQ est prêt à être utilisé !

Prochaines étapes

Testing

Pour faire tourner les tests d'OpenFisca-CEQ, exécutez la commande suivante :

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.

Le projet utilise ruff pour le linting et le formatage du code (remplaçant flake8 et autopep8).

L'analyse de style est déjà exécutée avec make test. Pour le faire tourner de façon indépendante :

make check-style

Pour corriger les erreurs de style de façon automatique:

make format-style

Pour corriger les erreurs de style de façon automatique à chaque fois que vous faites un 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

Stratégie de versionnement

Le code d'OpenFisca-CEQ 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-CEQ respecte les règles du versionnement sémantique. 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 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openfisca_ceq-1.0.2-py3-none-any.whl (280.3 kB view details)

Uploaded Python 3

File details

Details for the file openfisca_ceq-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: openfisca_ceq-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 280.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for openfisca_ceq-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a40aa79ddf5906cffc60ca2cc970a27e65aebfeff1a2396d598bc7444ca88192
MD5 98a4e2b42dc38c50d05d54dce692e955
BLAKE2b-256 86ebe78af77e69cd620e4e14879c71fc6b5ee60004fd8fec89ba8865d22a59fb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page