Skip to main content

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 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}
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dotations-locales-back-1.3.6.tar.gz (32.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dotations_locales_back-1.3.6-py3-none-any.whl (40.8 kB view details)

Uploaded Python 3

File details

Details for the file dotations-locales-back-1.3.6.tar.gz.

File metadata

  • Download URL: dotations-locales-back-1.3.6.tar.gz
  • Upload date:
  • Size: 32.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.8.13 Darwin/21.6.0

File hashes

Hashes for dotations-locales-back-1.3.6.tar.gz
Algorithm Hash digest
SHA256 89e2e18dada783231167c8cde2dfcb6a3640f8c0c7b182ba907f9aa229143424
MD5 ac3c35a7f334df6de587cec6a6f433ef
BLAKE2b-256 10e534d0f13c70d6d3a6fd51020f01b09f4c9ebba786660f0009c088c5d4711d

See more details on using hashes here.

File details

Details for the file dotations_locales_back-1.3.6-py3-none-any.whl.

File metadata

File hashes

Hashes for dotations_locales_back-1.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 73cb1b5e43cdc57df49a2f1c6c599527212a6dec5dd68c73a495c87152416173
MD5 92b43422facae65685b30834a562a0a4
BLAKE2b-256 26a73309930fb133673f458ae109a556d9ad2f8ebb7e2430ba598714320f04e1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page