FastAPI (Python)

FastAPI fonctionne sur Kavio sans aucune variable d'environnement à déclarer, à une condition près.

Le point à respecter : nom de fichier et nom de variable

Kavio détecte automatiquement une app FastAPI et la démarre tout seul, mais il s'attend à trouver :

  • un fichier appelé main.py à la racine du dépôt,
  • contenant une instance FastAPI appelée app :
from fastapi import FastAPI

app = FastAPI()

Avec un autre nom de fichier ou de variable, le démarrage automatique ne trouve rien à lancer. Si vous ne pouvez pas respecter cette convention, utilisez la variable d'environnement RAILPACK_START_CMD pour préciser vous-même la commande, par exemple :

uvicorn monmodule:mon_app --host 0.0.0.0 --port ${PORT:-8000}

uvicorn doit aussi figurer dans requirements.txt — sans lui, Kavio ne sait pas démarrer votre app.

Le CSS/JS statique fonctionne sans rien faire

Montez simplement un dossier avec StaticFiles, sans étape de build à ajouter :

from fastapi.staticfiles import StaticFiles

app.mount('/static', StaticFiles(directory='static'), name='static')

Ce qui n'est pas nécessaire

Vous n'avez rien à faire concernant :

  • PORT — automatiquement imposé par la plateforme, votre app n'a pas à le déclarer ni à le lire.
  • Le disque applicatif — inscriptible sur Kavio, aucune redirection de fichiers à prévoir (utile si vous utilisez SQLite).