Le dorsal de dotations.incubateur.anct.gouv.fr
Project description
dotations-locales-back
Installation
Les étapes qui suivent supposent que Python est déjà installé dans votre environnement. La version de Python nécessaire est décrite dans le fichier
pyproject.toml
à la récine du dépôt.
La configuration des dépendances est gérée avec poetry.
Pour gérer différentes versions de Python sur une machine, nous utilisons
pyenv
qui permet par exemple d'installer une version avecpyenv install 3.8.9
etpoetry env use python3.8
.
Pour créer un environnement virtuel et installer les dépendances de l'application, exécuter la commande suivante dans un terminal :
poetry install
Cette commande doit s'achever sans erreur.
On peut voir les dépendances installées avec cette commande :
poetry show
De même avec
poetry run pip list
pour les nostalgiques de pip 🙂
Démarrer l'API Web
L'API Web est bâtie sur le framework FastAPI.
Pour la démarrer en local, après avoir suivi les étapes d'installation, exécuter la commande suivante dans un terminal :
poetry run uvicorn dotations_locales_back.web_api.main:app --reload
L'API Web est alors accessible à l'adresse suivante : http://127.0.0.1:8000
Elle peut être testée via l'interface Swagger UI à cette adresse : http://127.0.0.1:8000/docs
Tests
Pour lancer les tests il faut exécuter la commande suivante dans un terminal :
poetry run pytest
Ou depuis un terminal avec l'environnement virtuel activé :
pytest
Déploiement sur Scalingo
Pour déployer cette application sur Scalingo, il est nécessaire de créer 3 fichiers supplémentaires. En effet Scalingo n'est pas compatible avec les fichiers de gestion des dépendances créés par Poetry.
Voici les fichiers à créer :
requirements.txt
: Scalingo se base sur ce fichier pour installer les dépendances.
Pour le créer il faut éxécuter la commande suivante :poetry export -f requirements.txt --without-hashes --output requirements.txt
Attention : Si des dépendances sont ajoutées via Poetry, il faudra regénérer le fichier
requirements.txt
à chaque fois également. En effet, Poetry gère automatiquement l'ajout de dépendances dans son propre fichierpyproject.toml
mais pas dans le fichierrequirements.txt
.
-
runtime.txt
: Scalingo se base sur ce fichier pour définir la version de python à utiliser. Il s'agit donc de s'assurer de sa cohérence avec la version de Python indiquée danspyproject.toml
-
Procfile
: Lors du déploiement Scalingo se base sur ce fichier pour éxécuter la commande qui lance l'application. L'hôte requis est0.0.0.0
et il faut également que le serveur écoute le port défini dans une variable d'environnementPORT
. Il faut donc ajouter la ligne suivante au fichierProcfile
:web: uvicorn web_api.main:app --host=0.0.0.0 --port=${PORT:-5000}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dotations-locales-back-1.3.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89e2e18dada783231167c8cde2dfcb6a3640f8c0c7b182ba907f9aa229143424 |
|
MD5 | ac3c35a7f334df6de587cec6a6f433ef |
|
BLAKE2b-256 | 10e534d0f13c70d6d3a6fd51020f01b09f4c9ebba786660f0009c088c5d4711d |
Hashes for dotations_locales_back-1.3.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73cb1b5e43cdc57df49a2f1c6c599527212a6dec5dd68c73a495c87152416173 |
|
MD5 | 92b43422facae65685b30834a562a0a4 |
|
BLAKE2b-256 | 26a73309930fb133673f458ae109a556d9ad2f8ebb7e2430ba598714320f04e1 |