# OpenFisca Tunisia - الجباية المفتوحة تونس
[![Newsletter](https://img.shields.io/badge/newsletter-subscribe!-informational.svg?style=flat)](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)
[![Twitter](https://img.shields.io/badge/twitter-follow%20us!-9cf.svg?style=flat)](https://twitter.com/intent/follow?screen_name=openfisca)
[![Slack](https://img.shields.io/badge/slack-join%20us!-blueviolet.svg?style=flat)](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)
[![Python](https://img.shields.io/pypi/pyversions/openfisca-tunisia.svg)](https://pypi.python.org/pypi/openfisca-tunisia)
[![PyPi](https://img.shields.io/pypi/v/openfisca-tunisia.svg?style=flat)](https://pypi.python.org/pypi/openfisca-Tunisia)
[![Gitpod](https://camo.githubusercontent.com/1eb1ddfea6092593649f0117f7262ffa8fbd3017/68747470733a2f2f676974706f642e696f2f627574746f6e2f6f70656e2d696e2d676974706f642e737667)](https://gitpod-referer.now.sh/api/gitpod-referer-redirect)
## Presentation - التقديم
[OpenFisca](http://openfisca.org) est un logiciel libre de micro-simulation.
Ceci est le code source du module dédié à la Tunisie.
<p align='right'>الجباية المفتوحة برنامج حر لمحاكاة النظام الجبائي.
هذا مصدر البرنامج للوحدة الخاصة بتونس</p>
[OpenFisca](http://openfisca.org) is a versatile microsimulation free software.
This is the source code of the Tunisia module.
## Demo - لعبة تجريبية
Un démonstrateur vous est proposé sous la forme d'un Notebook Jupyter.
Vous serez redirigé vers celui-ci en cliquant sur le lien suivant (le chargement prendra quelques secondes) :
<code><p align='center'>[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/openfisca/openfisca-tunisia/master?filepath=notebooks%2Fdemo.ipynb)</p></code>
Vous accédez ainsi à un démonstrateur modifiable où il vous est possible de tester openfisca-tunisia.
<p align='right'>ستجدون لعبة تجريبية في شكل دفتر جوبيتر على الرابط التالي</p>
<code><p align='center'>[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/openfisca/openfisca-tunisia/master?filepath=notebooks%2Fdemo.ipynb)</p></code>
<p align='right'>يسمح هذا الدفتر بتجريب الجباية المفتوحة لتونس</p>
A demo is available in a Jupyter Notebook.
You will be redirected to it by clicking on the following link (wait a few seconds to load it):
<code><p align='center'>[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/openfisca/openfisca-tunisia/binder?filepath=notebooks%2Fdemo.ipynb)</p></code>
Then you will be in an interactive demo where you will be able to play with openfisca-tunisia.
> This demo is available thanks to [Binder](https://mybinder.org/) and [Jupyter](http://jupyter.org) projects.
## Legislation
Les paramêtres de la législation peuvent être consultés avec [une interface dédiée](https://parameters.tn.tax-benefit.org/parameters/).
يمكن الاطلاع على معايير التشريع من خلال واجهة مخصصة لذلك
Legislation parameters can be consulted via [a dedicated interface](https://parameters.tn.tax-benefit.org/parameters/).
## Contribution & Contact - المساهمة والاتصال بنا
OpenFisca est un projet de logiciel libre.
Son code source est distribué sous la licence [GNU Affero General Public Licence](http://www.gnu.org/licenses/agpl.html)
version 3 ou ultérieure (cf. [LICENSE](https://github.com/openfisca/openfisca-tunisia/blob/master/LICENSE)).
N'hésitez pas à rejoindre l'équipe de développement OpenFisca !
Pour en savoir plus, une [documentation](http://openfisca.org/doc/contribute/index.html) est à votre disposition.
<p align='right'> الجباية المفتوحة برنامج حر</p>
<p align='right'> تم توزيع مصدر هذا البرنامج تحت رخصة أفيرو العامة الثالثة أو ما أعلى</p>
<p align='right'>تعالوا انضموا إلى فريق الجباية المفتوحة و ساهموا في تطوير البرنامج! للمزيد من المعلومات، يرجى زيارة الموقع الإلكتروني الرسمي</p>
OpenFisca is a free software project.
Its source code is distributed under the [GNU Affero General Public Licence](http://www.gnu.org/licenses/agpl.html)
version 3 or later (see [LICENSE](https://github.com/openfisca/openfisca-tunisia/blob/master/LICENSE) file).
Feel free to join the OpenFisca development team!
See the [documentation](http://openfisca.org/doc/contribute/index.html) for more information.
## Documentation
* [Documentation générale](http://openfisca.org/doc/) du projet OpenFisca (tous pays confondus)
- Et son [architectture](https://openfisca.org/doc/architecture.html) d'un projet OpenFisca
<!-- * [Explorateur de la législation](https://legislation.openfisca.tn) couverte par OpenFisca-Tunisia -->
* [Wiki](https://github.com/openfisca/openfisca-tunisia/wiki) OpenFisca-Tunisia
* [Google Drive public](https://drive.google.com/drive/folders/1xzrwEgZF2pEMUIHMQMWtlg7ubIFdy58N?usp=sharing) de références législatives
Par ailleurs, chaque module de la [famille OpenFisca sur GitHub](https://github.com/openfisca) dispose d'une documentation propre (voir `README.md` respectifs).
## Installation
Sous Unix/macOS/Linux, appliquez les étapes qui suivent dans votre Terminal.
Sous Windows, installez un émulateur de terminal avant de poursuivre.
Nous vous conseillons en particulier l'émulateur BASH fourni avec le [gestionnaire de version GIT](https://git-for-windows.github.io).
En l'intégrant à un outil tel que [Visual Studio Code](https://code.visualstudio.com), vous aurez un environnement fonctionnel pour travailler sur le code source.
Néanmoins, vous aurez à effectuer des vérifications complémentaires à ce qui est décrit ci-dessous (telles que vérifier la configuration de votre variable d'environnement `%PATH%`).
### Langage Python & Environnement virtuel
Ce projet nécessite l'installation préalable des éléments suivants :
* Le langage [Python 3.9](https://www.python.org/downloads/)
* Le gestionnaire de paquets [pip](https://pip.pypa.io/en/stable/installing/).
Vérifiez alors que la version de python appelée par défaut débute bien par `3.9` :
```
python --version
```
Et installez les éventuelles mises à jour pour la gestion de paquets python avec :
```
sudo pip install --upgrade pip wheel
```
Ensuite, afin de créer un environnement de travail propre et pour vous permettre de faire cohabiter plusieurs contextes de travail en python,
nous vous conseillons l'utilisation d'environnements virtuels, dits virtualenv.
Il vous faut alors installer un gestionnaire de virtualenv python (tel que [pew](https://github.com/berdario/pew)).
```
sudo pip install pew
```
Il vous est désormais possible de créer votre premier environnement dédié à OpenFisca-Tunisia. Nommons-le `openfisca` :
```
pew new openfisca --python=python3.9
# Si demandé, répondez "Y" à la question sur la modification du fichier de configuration de votre shell
```
Usage :
* Vous pouvez sortir du virtualenv en tapant `exit` (ou Ctrl-D)
* Vous pouvez le réactiver grâce à `pew workon openfisca`
### Installation du module OpenFisca-Tunisia
Deux options s'offrent à vous :
* Installer le module python pré-compilé dit [wheel python](https://pypi.org/project/OpenFisca-Tunisia/)
* Ou, installer le code source
#### Installer la wheel
Installer le module pré-compilé d'`OpenFisca-Tunisia` vous permet d'interroger le modèle socio-fiscal tunisien.
Nous supposons que vous avez activé votre environnement virtuel.
Appliquez alors la commande suivante pour récupérer la wheel `OpenFisca-Tunisia` depuis la librairie de paquets Python [pypi](https://pypi.org) :
```sh
pip install openfisca-tunisia
```
:tada: Félicitations, vous avez désormais terminé l'installation d'OpenFisca Tunisia !
Vous pouvez vérifier sa présence dans votre environnement courant avec :
```sh
pip list
# Résultat attendu : Liste contenant OpenFisca-Tunisia et ses dépendances.
```
#### Installer le code source
Installer le code source d'`OpenFisca-Tunisia` sur votre ordinateur vous permet d'interroger ou de modifier le modèle socio-fiscal tunisien.
Nous supposons que vous avez activé votre environnement virtuel et que vous vous situez dans le répertoire où vous souhaitez placer le projet.
Appliquez alors les commandes suivantes pour récupérer les sources d'OpenFisca-Tunisia et configurer le projet (sans omettre le point en fin de ligne :slightly_smiling_face:) :
```
git clone https://github.com/openfisca/openfisca-tunisia.git
cd openfisca-tunisia
pip install -e .
```
:tada: Félicitations, vous avez désormais terminé l'installation d'OpenFisca Tunisia !
Vous pouvez vérifier que votre environnement fonctionne bien en démarrant les tests tel que décrit dans le paragraphe suivant.
## Test
Nous supposons que vous êtes dans le répertoire `openfisca-tunisia` et que votre environnement virtuel est activé.
Commencez par installer les outils de test avec :
```
pip install -e .[dev]
```
Différents formats de tests sont alors à votre disposition : la rédaction de tests est possible en python ou en yaml.
### Test python
Un test rédigé en python peut être exécuté avec l'outil [pytest](https://docs.pytest.org).
Celui-ci déroulera les fonctions python dont le nom commence par le mot `test`.
Ainsi, pour exécuter le test python `tests/test_simple.py`, utilisez la commande suivante :
```
pytest tests/test_simple.py
```
Il vous est également possible de n'exécuter qu'un seul test d'un fichier. Dans l'exemple suivant, `test_1_parent` sera l'unique test déroulé du fichier `tests/core_tests.py` :
```
pytest tests/core_tests.py::test_1_parent
```
### Test yaml
Le format d'un test yaml est décrit dans la [section YAML tests](http://openfisca.org/doc/coding-the-legislation/writing_yaml_tests.html) de la documentation officielle.
Ainsi, si vous souhaitez exécuter le test yaml `tests/formulas/irpp.yaml`, utilisez la commande :
```sh
openfisca test -c openfisca_tunisia tests/formulas/irpp.yaml
```
### Debug
Afin de tester avec un debugger, ajoutez un point d'arrêt dans le code python appelé par le test avec :
```py
import ipdb; ipdb.set_trace()
```
Installez la librairie `ipdb` avec :
```sh
pip install ipdb
```
Et exécutez à nouveau le test (avec l'option `-s` pour la commande `pytest`).
### Tout tester
L'ensemble des tests et exemples définis dans OpenFisca-Tunisia peut être exécuté avec une commande. Néanmoins, cela nécessite l'installation de librairies complémentaires pour les exemples rédigés sous forme de [notebooks Jupyter](http://jupyter.org) :
```
pip install -e .[notebook]
```
Le tout peut ensuite être démarré grâce à la commande suivante :
```
make test
```
Pour en savoir plus, voir [la section Tests](http://openfisca.org/doc/contribute/tests.html) de la documentation officielle.
## Web API
L'API est issue du dépôt [GitHub du module central OpenFisca-Core](https://github.com/openfisca/openfisca-core).
Pour consulter sa version `v0.13.0`, il suffit d'interroger l'un de ses points d'entrée.
La liste des paramètres est par exemple consultable à l'adresse suivante :
```
www.openfisca.tn/api/v0.13.0/parameters
```
Pour en savoir plus, nous vous conseillons la lecture de sa [documentation officielle](http://openfisca.org/doc/openfisca-web-api/preview-api.html).
Raw data
{
"_id": null,
"home_page": null,
"name": "OpenFisca-Tunisia",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "microsimulation, tax, benefit, rac, rules-as-code, tunisia",
"author": null,
"author_email": "OpenFisca Team <contact@openfisca.org>",
"download_url": "https://files.pythonhosted.org/packages/8b/75/d10bc5072722d68fc549f47f0a89c071b1628b4c30fea4cd1cdec662190c/openfisca_tunisia-0.41.5.tar.gz",
"platform": null,
"description": "# OpenFisca Tunisia - \u0627\u0644\u062c\u0628\u0627\u064a\u0629 \u0627\u0644\u0645\u0641\u062a\u0648\u062d\u0629 \u062a\u0648\u0646\u0633\n\n[![Newsletter](https://img.shields.io/badge/newsletter-subscribe!-informational.svg?style=flat)](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)\n[![Twitter](https://img.shields.io/badge/twitter-follow%20us!-9cf.svg?style=flat)](https://twitter.com/intent/follow?screen_name=openfisca)\n[![Slack](https://img.shields.io/badge/slack-join%20us!-blueviolet.svg?style=flat)](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)\n[![Python](https://img.shields.io/pypi/pyversions/openfisca-tunisia.svg)](https://pypi.python.org/pypi/openfisca-tunisia)\n[![PyPi](https://img.shields.io/pypi/v/openfisca-tunisia.svg?style=flat)](https://pypi.python.org/pypi/openfisca-Tunisia)\n[![Gitpod](https://camo.githubusercontent.com/1eb1ddfea6092593649f0117f7262ffa8fbd3017/68747470733a2f2f676974706f642e696f2f627574746f6e2f6f70656e2d696e2d676974706f642e737667)](https://gitpod-referer.now.sh/api/gitpod-referer-redirect)\n\n## Presentation - \u0627\u0644\u062a\u0642\u062f\u064a\u0645\n\n[OpenFisca](http://openfisca.org) est un logiciel libre de micro-simulation.\nCeci est le code source du module d\u00e9di\u00e9 \u00e0 la Tunisie.\n\n<p align='right'>\u0627\u0644\u062c\u0628\u0627\u064a\u0629 \u0627\u0644\u0645\u0641\u062a\u0648\u062d\u0629 \u0628\u0631\u0646\u0627\u0645\u062c \u062d\u0631 \u0644\u0645\u062d\u0627\u0643\u0627\u0629 \u0627\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u062c\u0628\u0627\u0626\u064a.\n \u0647\u0630\u0627 \u0645\u0635\u062f\u0631 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0644\u0644\u0648\u062d\u062f\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u062a\u0648\u0646\u0633</p>\n\n[OpenFisca](http://openfisca.org) is a versatile microsimulation free software.\nThis is the source code of the Tunisia module.\n\n## Demo - \u0644\u0639\u0628\u0629 \u062a\u062c\u0631\u064a\u0628\u064a\u0629\n\nUn d\u00e9monstrateur vous est propos\u00e9 sous la forme d'un Notebook Jupyter.\nVous serez redirig\u00e9 vers celui-ci en cliquant sur le lien suivant (le chargement prendra quelques secondes) :\n<code><p align='center'>[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/openfisca/openfisca-tunisia/master?filepath=notebooks%2Fdemo.ipynb)</p></code>\nVous acc\u00e9dez ainsi \u00e0 un d\u00e9monstrateur modifiable o\u00f9 il vous est possible de tester openfisca-tunisia.\n\n<p align='right'>\u0633\u062a\u062c\u062f\u0648\u0646 \u0644\u0639\u0628\u0629 \u062a\u062c\u0631\u064a\u0628\u064a\u0629 \u0641\u064a \u0634\u0643\u0644 \u062f\u0641\u062a\u0631 \u062c\u0648\u0628\u064a\u062a\u0631 \u0639\u0644\u0649 \u0627\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u062a\u0627\u0644\u064a</p>\n\n<code><p align='center'>[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/openfisca/openfisca-tunisia/master?filepath=notebooks%2Fdemo.ipynb)</p></code>\n<p align='right'>\u064a\u0633\u0645\u062d \u0647\u0630\u0627 \u0627\u0644\u062f\u0641\u062a\u0631 \u0628\u062a\u062c\u0631\u064a\u0628 \u0627\u0644\u062c\u0628\u0627\u064a\u0629 \u0627\u0644\u0645\u0641\u062a\u0648\u062d\u0629 \u0644\u062a\u0648\u0646\u0633</p>\n\nA demo is available in a Jupyter Notebook.\nYou will be redirected to it by clicking on the following link (wait a few seconds to load it):\n<code><p align='center'>[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/openfisca/openfisca-tunisia/binder?filepath=notebooks%2Fdemo.ipynb)</p></code>\nThen you will be in an interactive demo where you will be able to play with openfisca-tunisia.\n\n> This demo is available thanks to [Binder](https://mybinder.org/) and [Jupyter](http://jupyter.org) projects.\n\n## Legislation\n\nLes param\u00eatres de la l\u00e9gislation peuvent \u00eatre consult\u00e9s avec [une interface d\u00e9di\u00e9e](https://parameters.tn.tax-benefit.org/parameters/).\n\n\u064a\u0645\u0643\u0646 \u0627\u0644\u0627\u0637\u0644\u0627\u0639 \u0639\u0644\u0649 \u0645\u0639\u0627\u064a\u064a\u0631 \u0627\u0644\u062a\u0634\u0631\u064a\u0639 \u0645\u0646 \u062e\u0644\u0627\u0644 \u0648\u0627\u062c\u0647\u0629 \u0645\u062e\u0635\u0635\u0629 \u0644\u0630\u0644\u0643\n\nLegislation parameters can be consulted via [a dedicated interface](https://parameters.tn.tax-benefit.org/parameters/).\n\n## Contribution & Contact - \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0648\u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0628\u0646\u0627\n\nOpenFisca est un projet de logiciel libre.\n\nSon code source est distribu\u00e9 sous la licence [GNU Affero General Public Licence](http://www.gnu.org/licenses/agpl.html)\nversion 3 ou ult\u00e9rieure (cf. [LICENSE](https://github.com/openfisca/openfisca-tunisia/blob/master/LICENSE)).\n\nN'h\u00e9sitez pas \u00e0 rejoindre l'\u00e9quipe de d\u00e9veloppement OpenFisca !\nPour en savoir plus, une [documentation](http://openfisca.org/doc/contribute/index.html) est \u00e0 votre disposition.\n\n\n<p align='right'> \u0627\u0644\u062c\u0628\u0627\u064a\u0629 \u0627\u0644\u0645\u0641\u062a\u0648\u062d\u0629 \u0628\u0631\u0646\u0627\u0645\u062c \u062d\u0631</p>\n\n<p align='right'> \u062a\u0645 \u062a\u0648\u0632\u064a\u0639 \u0645\u0635\u062f\u0631 \u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u062a\u062d\u062a \u0631\u062e\u0635\u0629 \u0623\u0641\u064a\u0631\u0648 \u0627\u0644\u0639\u0627\u0645\u0629 \u0627\u0644\u062b\u0627\u0644\u062b\u0629 \u0623\u0648 \u0645\u0627 \u0623\u0639\u0644\u0649</p>\n\n<p align='right'>\u062a\u0639\u0627\u0644\u0648\u0627 \u0627\u0646\u0636\u0645\u0648\u0627 \u0625\u0644\u0649 \u0641\u0631\u064a\u0642 \u0627\u0644\u062c\u0628\u0627\u064a\u0629 \u0627\u0644\u0645\u0641\u062a\u0648\u062d\u0629 \u0648 \u0633\u0627\u0647\u0645\u0648\u0627 \u0641\u064a \u062a\u0637\u0648\u064a\u0631 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c! \u0644\u0644\u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a\u060c \u064a\u0631\u062c\u0649 \u0632\u064a\u0627\u0631\u0629 \u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u0627\u0644\u0631\u0633\u0645\u064a</p>\n\n\nOpenFisca is a free software project.\n\nIts source code is distributed under the [GNU Affero General Public Licence](http://www.gnu.org/licenses/agpl.html)\nversion 3 or later (see [LICENSE](https://github.com/openfisca/openfisca-tunisia/blob/master/LICENSE) file).\n\nFeel free to join the OpenFisca development team!\nSee the [documentation](http://openfisca.org/doc/contribute/index.html) for more information.\n\n## Documentation\n\n* [Documentation g\u00e9n\u00e9rale](http://openfisca.org/doc/) du projet OpenFisca (tous pays confondus)\n - Et son [architectture](https://openfisca.org/doc/architecture.html) d'un projet OpenFisca\n<!-- * [Explorateur de la l\u00e9gislation](https://legislation.openfisca.tn) couverte par OpenFisca-Tunisia -->\n* [Wiki](https://github.com/openfisca/openfisca-tunisia/wiki) OpenFisca-Tunisia\n* [Google Drive public](https://drive.google.com/drive/folders/1xzrwEgZF2pEMUIHMQMWtlg7ubIFdy58N?usp=sharing) de r\u00e9f\u00e9rences l\u00e9gislatives\n\nPar ailleurs, chaque module de la [famille OpenFisca sur GitHub](https://github.com/openfisca) dispose d'une documentation propre (voir `README.md` respectifs).\n\n## Installation\n\nSous Unix/macOS/Linux, appliquez les \u00e9tapes qui suivent dans votre Terminal.\n\nSous Windows, installez un \u00e9mulateur de terminal avant de poursuivre.\nNous vous conseillons en particulier l'\u00e9mulateur BASH fourni avec le [gestionnaire de version GIT](https://git-for-windows.github.io).\nEn l'int\u00e9grant \u00e0 un outil tel que [Visual Studio Code](https://code.visualstudio.com), vous aurez un environnement fonctionnel pour travailler sur le code source.\nN\u00e9anmoins, vous aurez \u00e0 effectuer des v\u00e9rifications compl\u00e9mentaires \u00e0 ce qui est d\u00e9crit ci-dessous (telles que v\u00e9rifier la configuration de votre variable d'environnement `%PATH%`).\n\n### Langage Python & Environnement virtuel\n\nCe projet n\u00e9cessite l'installation pr\u00e9alable des \u00e9l\u00e9ments suivants :\n* Le langage [Python 3.9](https://www.python.org/downloads/)\n* Le gestionnaire de paquets [pip](https://pip.pypa.io/en/stable/installing/).\n\nV\u00e9rifiez alors que la version de python appel\u00e9e par d\u00e9faut d\u00e9bute bien par `3.9` :\n\n```\npython --version\n```\n\nEt installez les \u00e9ventuelles mises \u00e0 jour pour la gestion de paquets python avec :\n\n```\nsudo pip install --upgrade pip wheel\n```\n\nEnsuite, afin de cr\u00e9er un environnement de travail propre et pour vous permettre de faire cohabiter plusieurs contextes de travail en python,\nnous vous conseillons l'utilisation d'environnements virtuels, dits virtualenv.\nIl vous faut alors installer un gestionnaire de virtualenv python (tel que [pew](https://github.com/berdario/pew)).\n\n```\nsudo pip install pew\n```\n\nIl vous est d\u00e9sormais possible de cr\u00e9er votre premier environnement d\u00e9di\u00e9 \u00e0 OpenFisca-Tunisia. Nommons-le `openfisca` :\n\n```\npew new openfisca --python=python3.9\n# Si demand\u00e9, r\u00e9pondez \"Y\" \u00e0 la question sur la modification du fichier de configuration de votre shell\n```\n\nUsage :\n* Vous pouvez sortir du virtualenv en tapant `exit` (ou Ctrl-D)\n* Vous pouvez le r\u00e9activer gr\u00e2ce \u00e0 `pew workon openfisca`\n\n### Installation du module OpenFisca-Tunisia\n\nDeux options s'offrent \u00e0 vous :\n* Installer le module python pr\u00e9-compil\u00e9 dit [wheel python](https://pypi.org/project/OpenFisca-Tunisia/)\n* Ou, installer le code source\n\n#### Installer la wheel\n\nInstaller le module pr\u00e9-compil\u00e9 d'`OpenFisca-Tunisia` vous permet d'interroger le mod\u00e8le socio-fiscal tunisien.\n\nNous supposons que vous avez activ\u00e9 votre environnement virtuel.\nAppliquez alors la commande suivante pour r\u00e9cup\u00e9rer la wheel `OpenFisca-Tunisia` depuis la librairie de paquets Python [pypi](https://pypi.org) :\n\n```sh\npip install openfisca-tunisia\n```\n\n:tada: F\u00e9licitations, vous avez d\u00e9sormais termin\u00e9 l'installation d'OpenFisca Tunisia !\n\nVous pouvez v\u00e9rifier sa pr\u00e9sence dans votre environnement courant avec :\n```sh\npip list\n# R\u00e9sultat attendu : Liste contenant OpenFisca-Tunisia et ses d\u00e9pendances.\n```\n\n#### Installer le code source\n\nInstaller le code source d'`OpenFisca-Tunisia` sur votre ordinateur vous permet d'interroger ou de modifier le mod\u00e8le socio-fiscal tunisien.\n\nNous supposons que vous avez activ\u00e9 votre environnement virtuel et que vous vous situez dans le r\u00e9pertoire o\u00f9 vous souhaitez placer le projet.\nAppliquez alors les commandes suivantes pour r\u00e9cup\u00e9rer les sources d'OpenFisca-Tunisia et configurer le projet (sans omettre le point en fin de ligne :slightly_smiling_face:) :\n\n```\ngit clone https://github.com/openfisca/openfisca-tunisia.git\ncd openfisca-tunisia\npip install -e .\n```\n\n:tada: F\u00e9licitations, vous avez d\u00e9sormais termin\u00e9 l'installation d'OpenFisca Tunisia !\n\nVous pouvez v\u00e9rifier que votre environnement fonctionne bien en d\u00e9marrant les tests tel que d\u00e9crit dans le paragraphe suivant.\n\n## Test\n\nNous supposons que vous \u00eates dans le r\u00e9pertoire `openfisca-tunisia` et que votre environnement virtuel est activ\u00e9.\nCommencez par installer les outils de test avec :\n\n```\npip install -e .[dev]\n```\n\nDiff\u00e9rents formats de tests sont alors \u00e0 votre disposition : la r\u00e9daction de tests est possible en python ou en yaml.\n\n### Test python\n\nUn test r\u00e9dig\u00e9 en python peut \u00eatre ex\u00e9cut\u00e9 avec l'outil [pytest](https://docs.pytest.org).\nCelui-ci d\u00e9roulera les fonctions python dont le nom commence par le mot `test`.\n\nAinsi, pour ex\u00e9cuter le test python `tests/test_simple.py`, utilisez la commande suivante :\n\n```\npytest tests/test_simple.py\n```\n\nIl vous est \u00e9galement possible de n'ex\u00e9cuter qu'un seul test d'un fichier. Dans l'exemple suivant, `test_1_parent` sera l'unique test d\u00e9roul\u00e9 du fichier `tests/core_tests.py` :\n\n```\npytest tests/core_tests.py::test_1_parent\n```\n\n### Test yaml\n\nLe format d'un test yaml est d\u00e9crit dans la [section YAML tests](http://openfisca.org/doc/coding-the-legislation/writing_yaml_tests.html) de la documentation officielle.\nAinsi, si vous souhaitez ex\u00e9cuter le test yaml `tests/formulas/irpp.yaml`, utilisez la commande :\n\n```sh\nopenfisca test -c openfisca_tunisia tests/formulas/irpp.yaml\n```\n\n### Debug\n\nAfin de tester avec un debugger, ajoutez un point d'arr\u00eat dans le code python appel\u00e9 par le test avec :\n```py\nimport ipdb; ipdb.set_trace()\n```\n\nInstallez la librairie `ipdb` avec :\n```sh\npip install ipdb\n```\n\nEt ex\u00e9cutez \u00e0 nouveau le test (avec l'option `-s` pour la commande `pytest`).\n\n\n### Tout tester\n\nL'ensemble des tests et exemples d\u00e9finis dans OpenFisca-Tunisia peut \u00eatre ex\u00e9cut\u00e9 avec une commande. N\u00e9anmoins, cela n\u00e9cessite l'installation de librairies compl\u00e9mentaires pour les exemples r\u00e9dig\u00e9s sous forme de [notebooks Jupyter](http://jupyter.org) :\n\n```\npip install -e .[notebook]\n```\n\nLe tout peut ensuite \u00eatre d\u00e9marr\u00e9 gr\u00e2ce \u00e0 la commande suivante :\n\n```\nmake test\n```\n\nPour en savoir plus, voir [la section Tests](http://openfisca.org/doc/contribute/tests.html) de la documentation officielle.\n\n## Web API\n\nL'API est issue du d\u00e9p\u00f4t [GitHub du module central OpenFisca-Core](https://github.com/openfisca/openfisca-core).\n\nPour consulter sa version `v0.13.0`, il suffit d'interroger l'un de ses points d'entr\u00e9e.\nLa liste des param\u00e8tres est par exemple consultable \u00e0 l'adresse suivante :\n```\nwww.openfisca.tn/api/v0.13.0/parameters\n```\nPour en savoir plus, nous vous conseillons la lecture de sa [documentation officielle](http://openfisca.org/doc/openfisca-web-api/preview-api.html).\n",
"bugtrack_url": null,
"license": null,
"summary": "OpenFisca Rules as Code model for Tunisia.",
"version": "0.41.5",
"project_urls": {
"Changelog": "https://github.com/openfisca/openfisca-tunisia/blob/main/CHANGELOG.md",
"Documentation": "https://openfisca.org/doc",
"Homepage": "https://github.com/openfisca/openfisca-tunisia",
"Issues": "https://github.com/openfisca/openfisca-tunisia/issues",
"Repository": "https://github.com/openfisca/openfisca-tunisia"
},
"split_keywords": [
"microsimulation",
" tax",
" benefit",
" rac",
" rules-as-code",
" tunisia"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5fd315d756d9b506d4b8dbcea420ccb5b94e4546611b614d6a6a02b9977b8bf8",
"md5": "a8776976fa173955896c31bbfc60ffaf",
"sha256": "51db82bfdfab3504080d1f4b96e08edd2a04ce80ecce7b49d11d7244a68479e7"
},
"downloads": -1,
"filename": "OpenFisca_Tunisia-0.41.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a8776976fa173955896c31bbfc60ffaf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 223589,
"upload_time": "2024-12-20T18:13:25",
"upload_time_iso_8601": "2024-12-20T18:13:25.457966Z",
"url": "https://files.pythonhosted.org/packages/5f/d3/15d756d9b506d4b8dbcea420ccb5b94e4546611b614d6a6a02b9977b8bf8/OpenFisca_Tunisia-0.41.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8b75d10bc5072722d68fc549f47f0a89c071b1628b4c30fea4cd1cdec662190c",
"md5": "d1deba77471484287a2d5fc067187531",
"sha256": "424150499ea93327a9747d402a6a3f8f6cc5eec24e4911af53f317806ca1bdd3"
},
"downloads": -1,
"filename": "openfisca_tunisia-0.41.5.tar.gz",
"has_sig": false,
"md5_digest": "d1deba77471484287a2d5fc067187531",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 146186,
"upload_time": "2024-12-20T18:13:28",
"upload_time_iso_8601": "2024-12-20T18:13:28.473691Z",
"url": "https://files.pythonhosted.org/packages/8b/75/d10bc5072722d68fc549f47f0a89c071b1628b4c30fea4cd1cdec662190c/openfisca_tunisia-0.41.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-20 18:13:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "openfisca",
"github_project": "openfisca-tunisia",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "openfisca-tunisia"
}