Pourquoi FastAPI?

Introduction à FastAPI

Matt Eckerle

Software and Data Engineering Leader

Qu'est-ce que FastAPI?

Commençons par quelques termes

  1. API : interface de programmation d'applications — applications web qui utilisent le protocole HTTP pour transmettre des données structurées
  2. Application Web : application qui dessert du trafic sur le Web
  3. Cadriciel Web : cadre logiciel pour créer des applications Web

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

Introduction à FastAPI

Fonctionnalités clés de FastAPI

  • Rapide : très haute performance
  • « Low code » et facile à apprendre : annotations et types Python
  • Robuste : code prêt pour la production avec autodoc
  • Normalisé : basé sur OpenAPI et JSON Schema

Logo FastAPI

Logo OpenAPI

Logo JSON

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

FastAPI vs autres cadriciels Web Python

Flask

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

FastAPI

  • Créer des API
  • ORM facultatif

Django

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

Principales différences

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

Créer une première application Web avec FastAPI

1. Installer FastAPI

pip install fastapi

2. Créer l'appli 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 notes

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

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

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

Passons à la pratique !

Introduction à FastAPI

Preparing Video For Download...