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.

Angular Developer

Angular Developer

Picnic Technologies B.V.
Amsterdam, Netherlands

Intermediate
Senior
RxJS
Angular
TypeScript