---
layout: default
title: "FastAPI"
nav_order: 10
has_children: true
---

# Tutorial: FastAPI

FastAPI is a modern, *high-performance* web framework for building APIs with Python.
It's designed to be **easy to use**, fast to code, and ready for production.
Key features include **automatic data validation** (using Pydantic), **dependency injection**, and **automatic interactive API documentation** (OpenAPI and Swagger UI).


**Source Repository:** [https://github.com/fastapi/fastapi/tree/628c34e0cae200564d191c95d7edea78c88c4b5e/fastapi](https://github.com/fastapi/fastapi/tree/628c34e0cae200564d191c95d7edea78c88c4b5e/fastapi)

```mermaid
flowchart TD
    A0["FastAPI Application & Routing"]
    A1["Path Operations & Parameter Declaration"]
    A2["Data Validation & Serialization (Pydantic)"]
    A3["Dependency Injection"]
    A4["OpenAPI & Automatic Docs"]
    A5["Error Handling"]
    A6["Security Utilities"]
    A7["Background Tasks"]
    A0 -- "Defines Routes for" --> A1
    A1 -- "Uses for parameter/body val..." --> A2
    A1 -- "Uses Depends() for dependen..." --> A3
    A0 -- "Generates API spec for" --> A4
    A0 -- "Manages global" --> A5
    A3 -- "Injects BackgroundTasks object" --> A7
    A6 -- "Uses Depends mechanism (Sec..." --> A3
    A6 -- "Raises HTTPException on fai..." --> A5
    A4 -- "Reads definitions from" --> A1
    A4 -- "Reads Pydantic models for s..." --> A2
    A4 -- "Reads security scheme defin..." --> A6
    A5 -- "Handles RequestValidationEr..." --> A2
```