Pourquoi FastAPI ?

Introduction à FastAPI

Matt Eckerle

Software and Data Engineering Leader

Qu'est-ce que FastAPI ?

Commençons par quelques termes

  1. API : Application Programming Interface – applications web utilisant HTTP pour transmettre des données structurées
  2. Application web : application qui sert du trafic sur le Web
  3. Framework web : cadre logiciel pour créer des applications web

FastAPI permet de créer rapidement des API performantes en Python

Introduction à FastAPI

Fonctionnalités clés de FastAPI

  • Rapide : très hautes performances
  • « Low code » et facile à apprendre : annotations et hints de types Python
  • Robuste : prêt pour la production avec auto-doc
  • Fondé sur des standards : basé sur OpenAPI et JSON Schema

Logo FastAPI

Logo OpenAPI

Logo JSON

1 https://fastapi.tiangolo.com/
Introduction à FastAPI

FastAPI vs autres frameworks web Python

Flask

  • Créer des applis (GUI) web
  • ORM facultatif

FastAPI

  • Créer des APIs
  • ORM facultatif

Django

  • Créer des applis (GUI) web
  • ORM intégré

Principales différences

  • Pour des APIs sans opérations de base de données
  • Transactions de données et de Machine Learning
Introduction à FastAPI

Créer notre première application web avec FastAPI

1. Installer FastAPI

pip install fastapi

2. Créer votre app dans main.py

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "Hello World"}

3. Lancer le serveur

fastapi dev main.py

REPL affichant FastAPI en cours d'exécution

Introduction à FastAPI

Avant de pratiquer avec FastAPI

Quelques remarques

  1. Impossible de lancer le serveur FastAPI avec le bouton « Exécuter ce code »
  2. Définissez le code serveur dans l'éditeur Python sous main.py

  3. Lancez-le depuis le terminal avec fastapi dev main.py

  4. Vérifiez que les journaux dans le terminal affichent Application startup complete.
  5. Arrêtez le serveur avec Control + C dans le même terminal
  6. Installez FastAPI dans votre propre environnement Python pour vous entraîner aussi dessus
Introduction à FastAPI

Passons à la pratique !

Introduction à FastAPI

Preparing Video For Download...