Skip to main content

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 avec pyenv install 3.8.9 et poetry 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 fichier pyproject.toml mais pas dans le fichier requirements.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 dans pyproject.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 est 0.0.0.0 et il faut également que le serveur écoute le port défini dans une variable d'environnement PORT. Il faut donc ajouter la ligne suivante au fichier Procfile :

    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)

Source distribution for dotations-locales-back 1.3.6
File Size Uploaded
dotations-locales-back-1.3.6.tar.gz 32.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for dotations-locales-back 1.3.6
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.3.6 This release

2 release files

1.3.5

2 release files

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