Sebastián Ramírez

Intro to FastAPI

What if your API documentation wrote itself? Learn how FastAPI uses Python type hints to build self-documenting, high-performance APIs.

Intro to FastAPI
#1about 2 minutes

What is FastAPI and why is it so popular

FastAPI is a modern, high-performance Python web framework for building APIs, rapidly gaining adoption due to its speed and ease of use.

#2about 3 minutes

Building on open standards and Python type hints

FastAPI leverages open standards like OpenAPI and JSON Schema, using standard Python type hints to power its core features.

#3about 3 minutes

Creating endpoints with path and query parameters

Define API endpoints using function decorators and declare path and query parameters directly in the function signature with type hints.

#4about 1 minute

Generating interactive API documentation automatically

FastAPI automatically generates an interactive API documentation UI (Swagger UI) from your code at the `/docs` endpoint.

#5about 3 minutes

Defining and receiving JSON request bodies

Use Pydantic's `BaseModel` to define the structure of a JSON request body, which FastAPI then uses for validation and documentation.

#6about 1 minute

Using request bodies with path and query parameters

An endpoint can simultaneously accept a JSON request body along with path and query parameters by declaring them all in the function signature.

#7about 2 minutes

Handling complex and deeply nested data structures

Declare complex data structures, like a list of JSON objects, using standard Python types like `List` for automatic validation and serialization.

#8about 3 minutes

Understanding automatic data validation and error handling

When incoming data is invalid, FastAPI automatically rejects the request and returns a detailed JSON response pinpointing the exact location of each error.

#9about 2 minutes

Improving developer experience with editor support

Because FastAPI uses standard type hints, editors provide full autocompletion and inline type error checking, even for complex data structures.

#10about 3 minutes

Achieving high performance with async support

FastAPI is one of the fastest Python frameworks, achieving performance comparable to Go by leveraging `asyncio` and high-performance libraries like `uvloop`.

#11about 2 minutes

Exploring advanced features like dependency injection

FastAPI includes a powerful dependency injection system, security utilities for OAuth2, WebSocket support, background tasks, and more.

#12about 4 minutes

Q&A on serverless, GitHub issues, and Python evolution

The creator discusses running FastAPI in serverless environments, the nature of its GitHub issues, and how the framework adapts to changes in Python.

#13about 9 minutes

Q&A on tooling, docs, and framework comparisons

A discussion on recommended IDEs, disabling documentation, and how FastAPI compares to frameworks like Flask, Django, and NestJS.

#14about 3 minutes

Q&A on the design philosophy and future of FastAPI

The framework's design is rooted in great developer experience and learning from prior art, with future plans to adopt new Python features like `Annotated`.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.