Python API
Annotated sessiontype
While we could directly supply a Depends
object with the get_session
function to the endpoints, this limits code completion since the editor can't determine the type. Instead, we'll wrap Depends
inside an Annotated
object, providing context for type-checkers and enabling better code completion.
./src/blazing/db.py
...
from typing import Annotated
from fastapi import Depends
...
SessionType = Annotated[Session, Depends(get_session)]
./src/blazing/routes/pokemon.py
...
def add_pokemon(pokemon: Pokemon, session: SessionType) -> Pokemon:
...
def get_pokemon(pokemon_id: int, session: SessionType) -> Pokemon:
...
def delete_pokemon(pokemon_id: int, session: SessionType):
...
def list_pokemon(session: SessionType) -> list[Pokemon]:
...