Skip to main content

OpenFisca Tunisia - الجباية المفتوحة تونس

Newsletter Twitter Slack Python PyPi Gitpod

Presentation - التقديم

OpenFisca est un logiciel libre de micro-simulation. Ceci est le code source du module dédié à la Tunisie.

الجباية المفتوحة برنامج حر لمحاكاة النظام الجبائي. هذا مصدر البرنامج للوحدة الخاصة بتونس

OpenFisca 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) :

Binder

Vous accédez ainsi à un démonstrateur modifiable où il vous est possible de tester openfisca-tunisia.

ستجدون لعبة تجريبية في شكل دفتر جوبيتر على الرابط التالي

Binder

يسمح هذا الدفتر بتجريب الجباية المفتوحة لتونس

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

Binder

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 and Jupyter projects.

Legislation

Les paramêtres de la législation peuvent être consultés avec une interface dédiée.

يمكن الاطلاع على معايير التشريع من خلال واجهة مخصصة لذلك

Legislation parameters can be consulted via a dedicated interface.

Contribution & Contact - المساهمة والاتصال بنا

OpenFisca est un projet de logiciel libre.

Son code source est distribué sous la licence GNU Affero General Public Licence version 3 ou ultérieure (cf. LICENSE).

N'hésitez pas à rejoindre l'équipe de développement OpenFisca ! Pour en savoir plus, une documentation est à votre disposition.

الجباية المفتوحة برنامج حر

تم توزيع مصدر هذا البرنامج تحت رخصة أفيرو العامة الثالثة أو ما أعلى

تعالوا انضموا إلى فريق الجباية المفتوحة و ساهموا في تطوير البرنامج! للمزيد من المعلومات، يرجى زيارة الموقع الإلكتروني الرسمي

OpenFisca is a free software project.

Its source code is distributed under the GNU Affero General Public Licence version 3 or later (see LICENSE file).

Feel free to join the OpenFisca development team! See the documentation for more information.

Documentation

Par ailleurs, chaque module de la famille OpenFisca sur GitHub 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. En l'intégrant à un outil tel que Visual Studio Code, 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.10 ou supérieur (3.10, 3.11, 3.12)
  • Le gestionnaire de paquets pip.

Vérifiez alors que la version de python appelée par défaut débute bien par 3.10 ou supérieur :

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

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.10
# 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
  • 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 :

pip install openfisca-tunisia

🎉 Félicitations, vous avez désormais terminé l'installation d'OpenFisca Tunisia !

Vous pouvez vérifier sa présence dans votre environnement courant avec :

pip list
# Résultat attendu : Liste contenant OpenFisca-Tunisia et ses dépendances.

Deux systèmes socio-fiscaux, un seul arbre de paramètres

Le paquet livre deux systèmes, qui lisent chacun une partie du même arbre de paramètres (openfisca_tunisia/parameters/) :

  • openfisca_tunisia — impôts, cotisations, prestations, rémunérations publiques ;
  • openfisca_tunisia_pension — les pensions de retraite, autrefois publiées sous le nom openfisca-tunisia-pension. Il exige numba, qu'apporte l'extra pension :
pip install 'openfisca-tunisia[pension]'
openfisca serve --country-package openfisca_tunisia_pension

Ce que chaque système lit est déclaré dans openfisca_tunisia/sous_ensembles.py. Les tests du système des pensions se lancent avec make test-pension.

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 🙂) :

git clone https://github.com/openfisca/openfisca-tunisia.git
cd openfisca-tunisia
pip install -e .

🎉 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. 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 de la documentation officielle. Ainsi, si vous souhaitez exécuter le test yaml tests/formulas/irpp.yaml, utilisez la commande :

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 :

import ipdb; ipdb.set_trace()

Installez la librairie ipdb avec :

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 :

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 de la documentation officielle.

Web API

L'API est issue du dépôt GitHub du module central 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.

Metadata

Release files for OpenFisca-Tunisia 0.113

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for OpenFisca-Tunisia 0.113
File Size Uploaded
openfisca_tunisia-0.113.tar.gz 2.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for OpenFisca-Tunisia 0.113
File Interpreter ABI Platform
openfisca_tunisia-0.113-py3-none-any.whl Python 3 none any Details

Total release size: 5.9 MB

Release files / openfisca_tunisia-0.113.tar.gz

Download URL openfisca_tunisia-0.113.tar.gz
Size 2.7 MB
Tags Source
SHA-256 checksum
How to use checksums
8cc24913d33c59eb0074bbab109104b4ecc6a5fb2940ab45e9cdfc4a184826a8
BLAKE2b-256 checksum
How to use checksums
cdc41539bd9795142544ca2db49d0220ffbab88ab2c594075d224ac6bea23e9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release files / openfisca_tunisia-0.113-py3-none-any.whl

Download URL openfisca_tunisia-0.113-py3-none-any.whl
Size 3.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
56a7323826d1dd64b5a272f3861a92c9a2f599c0dabb779e153a93f03be4f663
BLAKE2b-256 checksum
How to use checksums
f926ca6f742dc8765c8eac93bdc708672e594f7596d4bac5bdb064d2f7dbb06e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release history Release notifications | RSS feed

0.118

2 release files

0.117

2 release files

0.116

2 release files

0.115

2 release files

This release

0.113 This release

2 release files

0.112

2 release files

0.111

2 release files

0.110

2 release files

0.109

2 release files

0.108

2 release files

0.107

2 release files

0.106

2 release files

0.105

2 release files

0.104

2 release files

0.103

2 release files

0.102

2 release files

0.101

2 release files

0.100

2 release files

0.99

2 release files

0.98

2 release files

0.97

2 release files

0.96

2 release files

0.95

2 release files

0.94

2 release files

0.93

2 release files

0.92

2 release files

0.91

2 release files

0.90

2 release files

0.89

2 release files

0.88

2 release files

0.87

2 release files

0.86

2 release files

0.85

2 release files

0.84

2 release files

0.83

2 release files

0.82.1

2 release files

0.82

2 release files

0.81

2 release files

0.80

2 release files

0.79

2 release files

0.78

2 release files

0.77

2 release files

0.76

2 release files

0.75

2 release files

0.74

2 release files

0.73

2 release files

0.72

2 release files

0.71

2 release files

0.69

2 release files

0.67

2 release files

0.66

2 release files

0.65

2 release files

0.64

2 release files

0.63

2 release files

0.62

2 release files

0.61

2 release files

0.60

2 release files

0.59

2 release files

0.56

2 release files

0.55.0

2 release files

0.54

2 release files

0.53

2 release files

0.52

2 release files

0.51

2 release files

0.50

2 release files

0.49

2 release files

0.48

2 release files

0.47

2 release files

0.46

2 release files

0.45

2 release files

0.44

2 release files

0.43

2 release files

0.41.6

2 release files

0.41.5

2 release files

0.41.4

2 release files

0.41.3

2 release files

0.40.3

2 release files

0.40.2

2 release files

0.40.1

2 release files

0.40.0

2 release files

0.39.0

2 release files

0.38.0

2 release files

0.37.0

2 release files

0.33.2

1 release file

0.33.1

1 release file

0.33.0

1 release file

0.32.0

1 release file

0.31.2

1 release file

0.31.1

1 release file

0.31.0

1 release file

0.30.0

1 release file

0.29.0

1 release file

0.28.2

1 release file

0.28.1

1 release file

0.28.0

1 release file

0.27.0

1 release file

0.26.0

1 release file

0.25.0

1 release file

0.24.0

1 release file

0.23.1

1 release file

0.23.0

1 release file

0.22.1

1 release file

0.22.0

1 release file

0.21.1

2 release files

0.20.0

2 release files

0.19.0

1 release file

0.18.1

1 release file

0.18.0

1 release file

0.17.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page