https://github.com/openfisca/openfisca-mali
Malian tax and benefit system for OpenFisca
https://github.com/openfisca/openfisca-mali
Last synced: 5 months ago
JSON representation
Malian tax and benefit system for OpenFisca
- Host: GitHub
- URL: https://github.com/openfisca/openfisca-mali
- Owner: openfisca
- License: agpl-3.0
- Created: 2018-07-10T10:52:40.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-03-05T23:57:56.000Z (over 3 years ago)
- Last Synced: 2025-10-31T02:20:44.724Z (7 months ago)
- Language: Python
- Size: 271 KB
- Stars: 2
- Watchers: 3
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[](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://circleci.com/gh/openfisca/openfisca-mali)
[](https://pypi.python.org/pypi/openfisca-mali)
[](https://pypi.python.org/pypi/openfisca-mali)
# OpenFisca-Mali
## [EN] Introduction
This is the malian tax and benefit system for OpenFisca.
It is part of a [comparative study](https://github.com/openfisca/openfisca-ceq) of the Malian, [Senegalese](https://github.com/openfisca/openfisca-senegal) and [Ivoirian](https://github.com/openfisca/openfisca-code-d-ivoire) fiscal systems.
OpenFisca is a versatile microsimulation free software. You can check the [general OpenFisca documentation](http://openfisca.org/doc/) in English!
## [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 malien. 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/).
Ce module est en cours de développment dans le cadre d'une [étude comparative](https://github.com/openfisca/openfisca-ceq) des modèles socio-fiscaux du Mali, du [Sénégal](https://github.com/openfisca/openfisca-senegal) et de la [Côte d'Ivoire](https://github.com/openfisca/openfisca-code-d-ivoire).
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)](https://openfisca.org/doc/).
## Installation
Ce paquet requiert [Python 3.7](https://www.python.org/downloads/release/python-370/) et [pip](https://pip.pypa.io/en/stable/installing/).
Plateformes supportées :
- distributions GNU/Linux (en particulier Debian and Ubuntu) ;
- Mac OS X ;
- Windows (nous recommandons d'utiliser [ConEmu](https://conemu.github.io/) à 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.
### Installez un environnement virtuel avec Pew
Nous recommandons l'utilisation d'un [environnement virtuel](https://virtualenv.pypa.io/en/stable/) (_virtualenv_) avec un gestionnaire de _virtualenv_ tel que [Pew](https://github.com/berdario/pew).
- Un _[virtualenv](https://virtualenv.pypa.io/en/stable/)_ crée un environnement pour les besoins spécifiques du projet sur lequel vous travaillez.
- Un gestionnaire de _virtualenv_, tel que [Pew](https://github.com/berdario/pew), vous permet de facilement créer, supprimer et naviguer entre différents projets.
Pour installer Pew, lancez une fenêtre de terminal et suivez ces instructions :
```sh
python --version # Python 3.7.0 ou plus récent devrait être installé sur votre ordinateur.
# Si non, téléchargez-le sur http://www.python.org et téléchargez pip.
```
```sh
pip install --upgrade pip
pip install pew
```
Créez un nouveau _virtualenv_ nommé **openfisca** et configurez-le avec python 3.7 :
```sh
pew new openfisca --python=python3.7
# Si demandé, répondez "Y" à la question sur la modification du fichier de configuration de votre shell
```
Le _virtualenv_ **openfisca** sera alors activé, c'est-à-dire que les commandes suivantes s'exécuteront directement dans l'environnement virtuel. Vous verrez dans votre terminal :
```sh
Installing setuptools, pip, wheel...done.
Launching subshell in virtual environment. Type 'exit' or 'Ctrl+D' to return.
```
Informations complémentaires :
- sortez du _virtualenv_ en tapant `exit` (or Ctrl-D) ;
- re-rentrez en tapant `pew workon openfisca` dans votre terminal.
Bravo :tada: Vous êtes prêt·e à installer OpenFisca-Mali !
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-Mali.
### A. Installation minimale (pip install)
Suivez cette installation si vous souhaitez :
- procéder à des calculs sur une large population ;
- créer des simulations fiscales ;
Pour pouvoir modifier OpenFisca-Mali, consultez l'[Installation avancée](#b-installation-avancée-git-clone).
#### Installer OpenFisca-Mali avec pip install
Dans votre _virtualenv_, vérifiez les pré-requis :
```sh
python --version # Devrait afficher "Python 3.7.xx".
#Si non, vérifiez que vous passez --python=python3.7 lors de la création de votre environnement virtuel.
```
```sh
pip --version # Devrait afficher au moins 9.0.x
#Si non, exécutez "pip install --upgrade pip".
```
Installez OpenFisca-Mali :
```sh
pip install openfisca-mali
```
Félicitations :tada: OpenFisca-Mali est prêt à être utilisé !
#### Prochaines étapes
- Apprenez à utiliser OpenFisca avec nos [tutoriels](https://openfisca.org/doc/) (en anglais).
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-Mali, 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-Mali ;
- contribuer au code source d'OpenFisca-Mali.
#### Cloner OpenFisca-Mali avec Git
Premièrement, assurez-vous que [Git](https://www.git-scm.com/) est bien installé sur votre machine.
Dans votre _virtualenv_, assurez-vous que vous êtes dans le répertoire où vous souhaitez cloner OpenFisca-Mali.
Vérifiez les pré-requis :
```sh
python --version # Devrait afficher "Python 3.7.xx".
#Si non, vérifiez que vous passez --python=python3.7 lors de la création de votre environnement virtuel.
```
```sh
pip --version # Devrait afficher au moins 9.0.
#Si non, exécutez "pip install --upgrade pip".
```
Clonez OpenFisca-Mali sur votre machine :
```sh
git clone https://github.com/openfisca/openfisca-mali.git
cd openfisca-mali
pip install --editable .[dev] && pip install openfisca-core[web-api]
```
Vous pouvez vous assurer que votre installation s'est bien passée en exécutant :
```sh
pytest tests/test_basics.py # Ces test peuvent prendre jusqu'à 60 secondes.
```
:tada: OpenFisca-Mali est prêt à être utilisé !
#### Prochaines étapes
- Pour enrichir ou faire évoluer la législation d'OpenFisca-Mali, 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-Mali, exécutez la commande suivante :
```sh
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 `make test`. Pour le faire tourner de façon indépendante :
```sh
make check-style
```
Pour corriger les erreurs de style de façon automatique:
```sh
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
```
## Stratégie de versionnement
Le code d'OpenFisca-Mali 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-Mali 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-mali/graphs/contributors).