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

Mise à jour de Python et de l'ensemble des dépendances. #2065

Merged
merged 33 commits into from
Jun 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
1548da0
Remove constaints on versions of packages
eraviart Mar 22, 2023
fa9795f
Fix flake8 errors
eraviart Mar 22, 2023
83b362a
Use Period() instead of .period method
eraviart Dec 20, 2022
4588b8d
Ensure Period argument is a triple
eraviart Dec 20, 2022
0c3664c
Typo
eraviart Dec 20, 2022
fe4ebfa
Ensure that Period tuple argument is always a triple
eraviart Dec 20, 2022
4107cc9
Typo
eraviart Dec 20, 2022
90e1ce2
Corrige de nouveaux .period
eraviart Feb 2, 2023
a715e22
Upgrade Python
eraviart Mar 22, 2023
7df6374
Add version numbers to dependencies
eraviart Mar 23, 2023
a9e4763
Test with python 3.9 & 3.10
eraviart Mar 24, 2023
6fc1437
Corrige traitement age de l'ainé des enfants des familles sans enfants
benjello Mar 27, 2023
d50c887
Decrese the number of web API workers for tests
eraviart Apr 7, 2023
ccd337e
Use find_namespace_package instead of find_package
eraviart Jun 8, 2023
9bafaaa
Use latest version of openfisca-core
eraviart Jun 8, 2023
0edee0f
Une new syntax for period
eraviart Jun 8, 2023
ad670ae
Bump version
eraviart Jun 8, 2023
5058537
Documente la v3.9 comme version minimale de Python
sandcha Jun 8, 2023
304d3b7
Adapte la version de pip documentée à l'actuelle pour Python 3.9
sandcha Jun 8, 2023
2a4fef3
Complète la description des changements dans le CHANGELOG
sandcha Jun 8, 2023
7b7deff
Met en cohérence Python dans le conteneur gitpod
sandcha Jun 8, 2023
33ae88d
Change OpenFisca-Core version used by conda
eraviart Jun 8, 2023
112bd2d
Use same versions for condas as for setup.py
eraviart Jun 8, 2023
65b7b49
Remove spaces from conda versions constraints
eraviart Jun 8, 2023
e4c799b
Passe conda dep en Jinja
Jun 9, 2023
895ce48
Remove space for conda
Jun 9, 2023
fe3017f
Typo
eraviart Jun 9, 2023
8963c4c
Add openfisca channel
Jun 9, 2023
2a6a869
condaAdd -c openfisca -c conda-forge
Jun 9, 2023
bdd18f8
conda doc
Jun 9, 2023
ca41832
Bump version
eraviart Jun 9, 2023
60b834b
Update CHANGELOG
eraviart Jun 9, 2023
10b5b26
Return is a statement, not a function
eraviart Jun 9, 2023
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
11 changes: 10 additions & 1 deletion .conda/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,17 @@ _Cela fonctionne aussi sous macOS et Linux, à condition d'adapter les chemins._

Docker peut être utilisé pour valider le bon fonctionnement

Pour tester le build :
```
docker run -i -t continuumio/anaconda3 /bin/bash
docker run --volume $PWD:/openfisca -i -t continuumio/anaconda3 /bin/bash
cd /openfisca
conda build -c openfisca -c conda-forge .conda
```

Pour tester l'installation :
```
docker run --volume $PWD:/openfisca -i -t continuumio/anaconda3 /bin/bash
cd /openfisca
conda install -c openfisca -c conda-forge openfisca-france-dev
openfisca test --country-package openfisca_france tests
```
27 changes: 14 additions & 13 deletions .conda/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
###############################################################################
## Fichier de description du package pour Anaconda.org
## Attention, les chaines PYPI_VERSION, PYPI_URL et PYPI_SHA256 sont remplacées
## par la CI, il faut les conserver.
## File for Anaconda.org
## It use Jinja2 templating code to retreive information from setup.py
###############################################################################

{% set name = "OpenFisca-France" %}
{% set version = "PYPI_VERSION" %}
{% set data = load_setup_py_data() %}
{% set version = data.get('version') %}

package:
name: {{ name|lower }}
Expand All @@ -24,8 +24,11 @@ requirements:
- python
- pip
run:
- python >=3.6,<4.0
- OpenFisca-Core >=35.8.0,<36.0
{% for req in data.get('install_requires', []) %}
- {{ req }}
{% endfor %}
# - python >=3.9,<4.0
# - OpenFisca-Core >=40,<41


test:
Expand All @@ -46,7 +49,7 @@ outputs:
host:
- python
run:
- scipy >=0.17
- scipy >=1.10.1,<2.0
- {{ pin_subpackage('openfisca-france', exact=True) }}

- name: openfisca-france-dev
Expand All @@ -56,12 +59,10 @@ outputs:
host:
- python
run:
- autopep8 ==1.5.7
- flake8 >=3.8.0,<3.10.0
- flake8-print
- pytest >=5.0.0, <7.0.0
- requests >=2.8
- yamllint >=1.11.1,<1.27
- python >=3.9,<4.0
{% for req in data.get('dev_requirements', []) %}
- {{ req }}
{% endfor %}
- {{ pin_subpackage('openfisca-france-scipy', exact=True) }}

about:
Expand Down
2 changes: 1 addition & 1 deletion .github/test-api.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
PORT=5000
ENDPOINT=spec

openfisca serve --country-package openfisca_france --port $PORT &
openfisca serve --country-package openfisca_france --port $PORT --workers 1 &
server_pid=$!

curl --retry-connrefused --retry 10 --retry-delay 5 --fail http://127.0.0.1:$PORT/$ENDPOINT | python -m json.tool > /dev/null
Expand Down
28 changes: 14 additions & 14 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
fail-fast: true
matrix:
os: ["ubuntu-20.04"] # On peut ajouter "macos-latest" si besoin
python-version: ["3.7.9", "3.8.9", "3.9.9"]
python-version: ["3.9.9", "3.10.6"]
steps:
- name: Checkout
uses: actions/checkout@v3
Expand Down Expand Up @@ -48,7 +48,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.7.9
python-version: 3.9.9
- name: Cache build
id: restore-build
uses: actions/cache@v3
Expand All @@ -68,7 +68,7 @@ jobs:
fail-fast: true
matrix:
os: [ "ubuntu-20.04" ] # On peut ajouter "macos-latest" si besoin
python-version: ["3.7.9", "3.8.9", "3.9.9"]
python-version: ["3.9.9", "3.10.6"]
steps:
- uses: actions/checkout@v3
- name: Set up Python
Expand All @@ -92,7 +92,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.7.9
python-version: 3.9.9
- name: Test max path length
run: make check-path-length

Expand All @@ -112,7 +112,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.7.9
python-version: 3.9.9
- name: Cache build
id: restore-build
uses: actions/cache@v3
Expand All @@ -138,7 +138,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.7.9
python-version: 3.9.9
- name: Cache build
id: restore-build
uses: actions/cache@v3
Expand All @@ -158,7 +158,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.7.9
python-version: 3.9.9
- name: Check version number has been properly updated
run: "${GITHUB_WORKSPACE}/.github/is-version-number-acceptable.sh"

Expand All @@ -178,7 +178,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.7.9
python-version: 3.9.9
- id: stop-early
run: if "${GITHUB_WORKSPACE}/.github/has-functional-changes.sh" ; then echo "::set-output name=status::success" ; fi

Expand All @@ -196,7 +196,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.7.9
python-version: 3.9.9
- name: Cache build
id: restore-build
uses: actions/cache@v3
Expand All @@ -223,9 +223,9 @@ jobs:
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: "3.7.9"
python-version: "3.9.9"
# Add conda-forge for OpenFisca-Core
channels: conda-forge
channels: openfisca,conda-forge
activate-environment: true
- uses: actions/checkout@v3
- name: Update meta.yaml
Expand All @@ -239,7 +239,7 @@ jobs:
conda install conda-build anaconda-client
conda info
- name: Build Conda package
run: conda build --croot /tmp/conda .conda
run: conda build -c openfisca -c conda-forge --croot /tmp/conda .conda
- name: Upload Conda build
uses: actions/upload-artifact@v3
with:
Expand All @@ -256,7 +256,7 @@ jobs:
auto-update-conda: true
python-version: "3.9.9"
# Add conda-forge for OpenFisca-Core
channels: conda-forge
channels: openfisca,conda-forge
activate-environment: true
- uses: actions/checkout@v3
- name: Test max path length
Expand Down Expand Up @@ -284,7 +284,7 @@ jobs:
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: "3.7.9"
python-version: "3.9.9"
# Add conda-forge for OpenFisca-Core
channels: conda-forge
activate-environment: true
Expand Down
2 changes: 1 addition & 1 deletion .gitpod.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.7
FROM python:3.9

USER gitpod

Expand Down
15 changes: 14 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
# Changelog

### 148.0.0 [#2105](https://github.com/openfisca/openfisca-france/pull/2105)
# 149.0.0 [#2065](https://github.com/openfisca/openfisca-france/pull/2065)

* Amélioration technique.
* Périodes concernées : toutes.
* Zones impactées : toutes.
* Détails :
- Met à jour toutes les dépendances afin d'utiliser leurs dernières versions :
* Migre la version minimal de Python de `3.7` à `3.9`
* Met à jour openfisca-core de la version `35` à la version `40`
* En particulier, migre la syntaxe des périodes introduite par [openfisca-core v37.0.0](https://github.com/openfisca/openfisca-core/blob/master/CHANGELOG.md#3700-1142). Les appels à la méthode `period()` sont remplacés par des instanciations de la classe `Period`.

# 148.0.0 [#2105](https://github.com/openfisca/openfisca-france/pull/2105)

* Amélioration technique.
* Périodes concernées : Toutes.
Expand Down Expand Up @@ -34,6 +45,7 @@
- Nettoyage et harmonisation avec les barèmes IPP

## 147.2.1 [#2097](https://github.com/openfisca/openfisca-france/pull/2097)

* Évolution du système socio-fiscal.
* Périodes concernées : à partir du 01/01/2023.
* Zones impactées :
Expand Down Expand Up @@ -773,6 +785,7 @@
- `exo_maire_autres`
- `foncier_deduc`
- `deduc_invest_locatif`

# 134.0.0 [#1958](https://github.com/openfisca/openfisca-france/pull/1958)

* Évolution du système socio-fiscal. | Amélioration technique.
Expand Down
22 changes: 12 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@
[![Gitpod](https://camo.githubusercontent.com/1eb1ddfea6092593649f0117f7262ffa8fbd3017/68747470733a2f2f676974706f642e696f2f627574746f6e2f6f70656e2d696e2d676974706f642e737667)](https://gitpod-referer.now.sh/api/gitpod-referer-redirect)

## [EN] Introduction

OpenFisca is a versatile microsimulation free software. This repository contains the OpenFisca model of the French tax and benefit system. Therefore, the working language here is French. You can however check the [general OpenFisca documentation](https://openfisca.org/doc/) in English!
> We host a public instance of of the [OpenFisca-France Web API](https://api.fr.openfisca.org/latest/). Learn more about its endpoint in the [Swagger documentation](https://legislation.fr.openfisca.org/swagger).
> If you need to run large amount of calculations, or add extensions, you should [host your own instance](#servez-openfisca-france-avec-lapi-web-openfisca).

## [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 français. 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/).
> Nous mettons à disposition une instance publique de [l'API Web OpenFisca-France](https://api.fr.openfisca.org/latest/). Découvrez ses capacité sur sa [documentation Swagger](https://legislation.fr.openfisca.org/swagger).
> Si vous avez besoin de réaliser un grand nombre de calculs ou d'ajouter des extensions, vous pouvez [servir votre propre instance](#servez-openfisca-france-avec-lapi-web-openfisca).
Expand All @@ -31,7 +33,7 @@ L'ensembles des endpoints sont décrits dans la [documentation Swagger](https://

## Installation

Ce paquet requiert [Python 3.7](https://www.python.org/downloads/release/python-370/) et [pip](https://pip.pypa.io/en/stable/installing/) ou [conda](https://www.anaconda.com/products/individual).
Ce paquet requiert [Python 3.9](https://www.python.org/downloads/release/python-390/) et [pip](https://pip.pypa.io/en/stable/installing/) ou [conda](https://www.anaconda.com/products/individual).

Plateformes supportées :
- distributions GNU/Linux (en particulier Debian and Ubuntu) ;
Expand All @@ -50,18 +52,18 @@ Nous recommandons l'utilisation d'un [environnement virtuel](https://virtualenv.
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.
python --version # Python 3.9.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 :
Créez un nouveau _virtualenv_ nommé **openfisca** et configurez-le avec python 3.9 :

```sh
pew new openfisca --python=python3.7
pew new openfisca --python=python3.9
# 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 :
Expand Down Expand Up @@ -94,8 +96,8 @@ Pour pouvoir modifier OpenFisca-France, consultez l'[Installation avancée](#b-i
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.
python --version # Devrait afficher "Python 3.9.xx".
#Si non, vérifiez que vous passez --python=python3.9 lors de la création de votre environnement virtuel.
```

```sh
Expand Down Expand Up @@ -136,12 +138,12 @@ Dans votre _virtualenv_, assurez-vous que vous êtes dans le répertoire où vou
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.
python --version # Devrait afficher "Python 3.9.xx".
#Si non, vérifiez que vous passez --python=python3.9 lors de la création de votre environnement virtuel.
```

```sh
pip --version # Devrait afficher au moins 9.0.
pip --version # Devrait afficher au moins 23.0.
#Si non, exécutez "pip install --upgrade pip".
```

Expand Down Expand Up @@ -175,7 +177,7 @@ Voici les étapes à suivre :
- Depuis le menu démarrer, exécuter `Anaconda Powershell Prompt`. Ou utiliser votre shell préféré avec Miniconda, il vous faudra peut-être utiliser la commande `conda init`, mais conda vous le dira.
- Exécuter les commandes suivantes dans le shell:
- Ajouter `conda-forge` comme channel par défaut : `conda config --add channels conda-forge && conda config --set channel_priority strict `
- Créer un environnement virtuel dédié : `conda create --name openfisca python=3.7`
- Créer un environnement virtuel dédié : `conda create --name openfisca python=3.9`
- Activer l'environnement : `conda activate openfisca`
- Installer OpenFisca : `conda install openfisca-france`

Expand Down
4 changes: 4 additions & 0 deletions openfisca_france/model/base.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
from openfisca_core.model_api import *
from openfisca_france.entities import Famille, FoyerFiscal, Individu, Menage # noqa F401


AGE_INT_MINIMUM = -9999
benjello marked this conversation as resolved.
Show resolved Hide resolved


# Enums commonly used through the legislation


Expand Down
Loading