Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cnrps #15

Merged
merged 24 commits into from
Jan 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Merci de contribuer à OpenFisca ! Effacez cette ligne ainsi que, pour chaque ligne ci-dessous, les cas ne correspondant pas à votre contribution :)

Merci de contribuer à OpenFisca ! Effacez cette ligne ainsi que, pour chaque ligne ci-dessous, les cas ne correspondant pas à votre contribution :

* Évolution du système socio-fiscal. | Amélioration technique. | Correction d'un crash. | Changement mineur.
* Périodes concernées : toutes. | jusqu'au JJ/MM/AAAA. | à partir du JJ/MM/AAAA.
Expand Down
93 changes: 93 additions & 0 deletions .github/workflows/tax-benefit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: Validate, integrate & deploy to tax-benefit.org

on:
- push
- workflow_dispatch

jobs:
validate_yaml:
uses: tax-benefit/actions/.github/workflows/[email protected]
with:
parameters_path: "openfisca_tunisia_pension/parameters"
secrets:
token: ${{ secrets.CONTROL_CENTER_TOKEN }}

# deploy_parameters:
# runs-on: ubuntu-latest

# steps:
# - uses: actions/checkout@v4
# - name: Clone Legislation Parameters Explorer
# run: git clone https://git.leximpact.dev/leximpact/legislation-parameters-explorer.git
# - name: Install Node.js version LTS
# uses: actions/setup-node@v4
# with:
# node-version: 'lts/*'
# - name: Install viewer dependencies
# run: npm install
# working-directory: legislation-parameters-explorer/packages/viewer
# - name: Configure viewer
# run: |
# rm -f .env
# cat > .env << EOF
# # Customizations to apply to the site (theme, URLs…)
# CUSTOMIZATION="openfisca"

# DBNOMICS_DATASET_CODE="openfisca_tunisia_pension"
# DBNOMICS_PROVIDER_CODE="OpenFisca"
# DBNOMICS_URL="https://db.nomics.world/"

# EDITOR_URL="https://editor.parameters.tn.tax-benefit.org/"

# EXPORT_CSV=true
# EXPORT_JSON=false
# EXPORT_XLSX=true

# # Path of directory containing legislation parameters of country
# PARAMETERS_DIR="../../../openfisca_tunisia_pension/parameters/"

# # Description of parameters remote repository
# PARAMETERS_AUTHOR_EMAIL="[email protected]"
# PARAMETERS_AUTHOR_NAME="Éditeur des paramètres d'OpenFisca-Tunisia-Pension"
# PARAMETERS_BRANCH="main"
# PARAMETERS_FORGE_DOMAIN_NAME="github.com"
# PARAMETERS_FORGE_TYPE="GitHub"
# PARAMETERS_GROUP="openfisca"
# PARAMETERS_PROJECT="openfisca-tunisia-pension"
# PARAMETERS_PROJECT_DIR="openfisca_tunisia_pension/parameters"

# SHOW_LAST_BREADCRUMB_ITEM = false

# TABLE_OF_CONTENTS_DIR="../../../openfisca_tunisia_pension/tables/"

# TITLE="OpenFisca-Tunisia-Pension - الجباية المفتوحة تونس"

# # Path of file containing units used by French legislation parameters
# UNITS_FILE_PATH="../../../openfisca_tunisia_pension/units.yaml"
# EOF
# working-directory: legislation-parameters-explorer/packages/viewer
# - name: Initialize .svelte-kit directory of viewer
# run: npx svelte-kit sync
# working-directory: legislation-parameters-explorer/packages/viewer
# - name: Generate data of viewer
# run: npx tsx src/scripts/generate_data.ts
# working-directory: legislation-parameters-explorer/packages/viewer
# - name: Build viewer
# run: npm run build
# working-directory: legislation-parameters-explorer/packages/viewer
# - name: Configure ssh for deployment to server
# uses: tanmancan/[email protected]
# with:
# ssh-auth-sock: /tmp/my_auth.sock
# ssh-private-key: ${{ secrets.PARAMETERS_EXPLORER_SSH_PRIVATE_KEY }}
# ssh-public-key: ${{ secrets.PARAMETERS_EXPLORER_SSH_KNOWN_HOSTS }}
# - name: Deploy to Server using rsync
# run: rsync -az --delete -e "ssh -J [email protected]:2222" build/ [email protected]:public_html/
# working-directory: legislation-parameters-explorer/packages/viewer

# deploy_simulator:
# uses: tax-benefit/actions/.github/workflows/[email protected]
# with:
# python_package: "openfisca_tunisia_pension"
# secrets:
# token: ${{ secrets.CONTROL_CENTER_TOKEN }}
15 changes: 15 additions & 0 deletions .github/workflows/validate_yaml.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Validate YAML

on:
push:
workflow_dispatch:
pull_request:
types: [opened, reopened]

jobs:
validate_yaml:
uses: tax-benefit/actions/.github/workflows/validate_yaml.yml@v1
with:
parameters_path: "openfisca_tunisia_pension/parameters"
secrets:
token: ${{ secrets.CONTROL_CENTER_TOKEN }}
13 changes: 11 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
# Changelog

# 3.0.0 [#14](https://github.com/openfisca/openfisca-tunisia-pension/pull/14)
# 5.0.0 [#15](https://github.com/openfisca/openfisca-tunisia-pension/pull/15)

* Évolution du système socio-fiscal.
* Périodes concernées : toutes.
* Zones impactées : `variables/regimes/cnrps`.
* Détails :
- Introduit le régime de la CNRPS


# 4.0.0 [#14](https://github.com/openfisca/openfisca-tunisia-pension/pull/14)

* Évolution du système socio-fiscal.
* Périodes concernées : toutes.
Expand Down Expand Up @@ -31,7 +40,7 @@
* Move parameters from xml format to yaml files tree

### 1.0.0
* Renomme `nb_trim_val` en `trimestres_valides`
* Renomme `nb_trim_val` en `duree_assurance`
* Utilisation de noms longs pour différent paramètres

## 0.9.2
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,10 @@ nosetests openfisca_tunisia_pension/tests/test_pension.py:test_rsna

Le format d'un test yaml est décrit dans la [documentation officielle](https://doc.openfisca.fr/coding-the-legislation/writing_yaml_tests.html).

Ainsi, si vous souhaitez exécuter le test yaml `openfisca_tunisia_pension/tests/formulas/pension_rsna.yaml`, utilisez la commande :
Ainsi, si vous souhaitez exécuter le test yaml `openfisca_tunisia_pension/tests/formulas/rsna_pension.yaml`, utilisez la commande :

```
openfisca-run-test -c openfisca_tunisia_pension openfisca_tunisia_pension/tests/formulas/pension_rsna.yaml
openfisca-run-test -c openfisca_tunisia_pension openfisca_tunisia_pension/tests/formulas/rsna_pension.yaml
```

### Tout tester
Expand Down
37 changes: 36 additions & 1 deletion openfisca_tunisia_pension/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,38 @@
from openfisca_tunisia_pension.tunisia_pension_taxbenefitsystem import TunisiaPensionTaxBenefitSystem
'''OpenFisca Tunisia Pension tax-benefit system.'''


import logging
import os

from openfisca_core.taxbenefitsystems import TaxBenefitSystem

from openfisca_tunisia_pension import entities
from openfisca_tunisia_pension.scripts_ast import script_ast


COUNTRY_DIR = os.path.dirname(os.path.abspath(__file__))

logging.getLogger('numba.core.ssa').disabled = True
logging.getLogger('numba.core.byteflow').disabled = True
logging.getLogger('numba.core.interpreter').disabled = True

# Convert regimes classes to OpenFisca variables.
script_ast.main(verbose = False)


class TunisiaPensionTaxBenefitSystem(TaxBenefitSystem):
'''Tunisian pensions tax benefit system'''
CURRENCY = 'DT'

def __init__(self):
super(TunisiaPensionTaxBenefitSystem, self).__init__(entities.entities)

# We add to our tax and benefit system all the variables
self.add_variables_from_directory(os.path.join(COUNTRY_DIR, 'variables'))

# We add to our tax and benefit system all the legislation parameters defined in the parameters files
parameters_path = os.path.join(COUNTRY_DIR, 'parameters')
self.load_parameters(parameters_path)


CountryTaxBenefitSystem = TunisiaPensionTaxBenefitSystem
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
description: Indemnité Complémentaire Provisoire (ICP) - montant par mois
values:
1981-04-07:
value: 10
metadata:
unit: currency
reference:
1981-04-07:
title: Décret n° 81-437 du 7 avril 1981
documentation: Le smic est composé du salaire de base et de cette indemnité complémentaire provisoire et de sa majoration
Original file line number Diff line number Diff line change
@@ -1 +1 @@
description: Paramètres généraux
description: Salaires minimum
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: Majoration du salaire minimum interprofessionnel garanti (Smig) au régime de 40h dans les secteurs non agricoles - montant par mois
values:
1982-03-16:
value: 20
metadata:
unit: currency
reference:
1982-03-16:
title: Décret n° 82-501 du 16 mars 1982
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: Majoration du Salaire minimum interprofessionnel garanti (Smig) au régime de 48h dans les secteurs non agricoles - montant par mois
values:
1982-03-16:
value: 20.368
metadata:
unit: currency
reference:
1982-03-16:
title: Décret n° 82-501 du 16 mars 1982
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
description: salaire de base horaire - régime 40h par semaine
values:
2008-07-01:
value: 1.084
2009-08-01:
value: 1.126
2010-07-01:
value: 1.183
2011-05-01:
value: 1.248
2012-07-01:
value: 1.324
2014-05-01:
value: 1.411
metadata:
unit: currency
reference:
2008-07-01:
title: Décret n°2008-2072 du 02 Juin 2008 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2008/2008F/046/TF200820723.pdf
2009-08-01:
title: Décret n°2009-2257 du 14 Juillet 2009 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2009/2009F/062/TF200922573.pdf
2010-07-01:
title: Décret n°2010-1746 du 17 Juillet 2010 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2010/2010F/058/TF201017463.pdf
2011-05-01:
title: Décret n°2011-679 du 09 Juin 2011 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2011/2011F/042/TF20116793.pdf
2012-07-01:
title: Décret n°2012-1981 du 20 Septembre 2012 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2012/2012F/077/TF201219813.pdf
2014-05-01:
title: Décret n°2014-2907 du 11 Août 2014 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2014/2014F/066/Tf201429073.pdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
description: salaire de base mensuel - régime 40h par semaine
values:
2008-07-01:
value: 187.88
2009-08-01:
value: 195.16
2010-07-01:
value: 205.04
2011-05-01:
value: 216.306
2012-07-01:
value: 229.479
2014-05-01:
value: 244.559
metadata:
unit: currency
reference:
2008-07-01:
title: Décret n°2008-2072 du 02 Juin 2008 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2008/2008F/046/TF200820723.pdf
2009-08-01:
title: Décret n°2009-2257 du 14 Juillet 2009 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2009/2009F/062/TF200922573.pdf
2010-07-01:
title: Décret n°2010-1746 du 17 Juillet 2010 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2010/2010F/058/TF201017463.pdf
2011-05-01:
title: Décret n°2011-679 du 09 Juin 2011 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2011/2011F/042/TF20116793.pdf
2012-07-01:
title: Décret n°2012-1981 du 20 Septembre 2012 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2012/2012F/077/TF201219813.pdf
2014-05-01:
title: Décret n°2014-2907 du 11 Août 2014 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2014/2014F/066/Tf201429073.pdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
description: salaire de base horaire - régime 48h par semaine
values:
2008-07-01:
value: 1.065
2009-08-01:
value: 1.107
2010-07-01:
value: 1.164
2011-05-01:
value: 1.229
2012-07-01:
value: 1.305
2014-05-01:
value: 1.392
metadata:
unit: currency
reference:
2008-07-01:
title: Décret n°2008-2072 du 02 Juin 2008 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2008/2008F/046/TF200820723.pdf
2009-08-01:
title: Décret n°2009-2257 du 14 Juillet 2009 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2009/2009F/062/TF200922573.pdf
2010-07-01:
title: Décret n°2010-1746 du 17 Juillet 2010 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2010/2010F/058/TF201017463.pdf
2011-05-01:
title: Décret n°2011-679 du 09 Juin 2011 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2011/2011F/042/TF20116793.pdf
2012-07-01:
title: Décret n°2012-1981 du 20 Septembre 2012 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2012/2012F/077/TF201219813.pdf
2014-05-01:
title: Décret n°2014-2907 du 11 Août 2014 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2014/2014F/066/Tf201429073.pdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
description: salaire de base mensuel - régime 48h par semaine
values:
2008-07-01:
value: 221.52
2009-08-01:
value: 230.256
2010-07-01:
value: 242.112
2011-05-01:
value: 255.632
2012-07-01:
value: 271.44
2014-05-01:
value: 289.536
metadata:
unit: currency
reference:
2008-07-01:
title: Décret n°2008-2072 du 02 Juin 2008 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2008/2008F/046/TF200820723.pdf
2009-08-01:
title: Décret n°2009-2257 du 14 Juillet 2009 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2009/2009F/062/TF200922573.pdf
2010-07-01:
title: Décret n°2010-1746 du 17 Juillet 2010 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2010/2010F/058/TF201017463.pdf
2011-05-01:
title: Décret n°2011-679 du 09 Juin 2011 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2011/2011F/042/TF20116793.pdf
2012-07-01:
title: Décret n°2012-1981 du 20 Septembre 2012 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2012/2012F/077/TF201219813.pdf
2014-05-01:
title: Décret n°2014-2907 du 11 Août 2014 - http://www.legislation.tn/sites/default/files/fraction-journal-officiel/2014/2014F/066/Tf201429073.pdf
7 changes: 0 additions & 7 deletions openfisca_tunisia_pension/parameters/marche_travail/smag.yaml

This file was deleted.

Loading
Loading