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
pyenvqui permet par exemple d'installer une version avecpyenv install 3.8.9etpoetry 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 listpour 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.tomlmais 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.0et 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}
Metadata
Release files for dotations-locales-back 1.3.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dotations-locales-back-1.3.6.tar.gz | 32.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dotations_locales_back-1.3.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.5 MB
Release files / dotations-locales-back-1.3.6.tar.gz
| Download URL | dotations-locales-back-1.3.6.tar.gz |
|---|---|
| Size | 32.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
89e2e18dada783231167c8cde2dfcb6a3640f8c0c7b182ba907f9aa229143424
|
|
BLAKE2b-256 checksum How to use checksums |
10e534d0f13c70d6d3a6fd51020f01b09f4c9ebba786660f0009c088c5d4711d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.14 CPython/3.8.13 Darwin/21.6.0
|
Release files / dotations_locales_back-1.3.6-py3-none-any.whl
| Download URL | dotations_locales_back-1.3.6-py3-none-any.whl |
|---|---|
| Size | 40.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
73cb1b5e43cdc57df49a2f1c6c599527212a6dec5dd68c73a495c87152416173
|
|
BLAKE2b-256 checksum How to use checksums |
26a73309930fb133673f458ae109a556d9ad2f8ebb7e2430ba598714320f04e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.14 CPython/3.8.13 Darwin/21.6.0
|