FastAPI | |
Developer: | Sebastián RamÃrez |
Released: | [1] |
Programming Language: | Python |
Genre: | Web framework |
License: | MIT |
FastAPI is a web framework for building HTTP-based service APIs in Python 3.8+.[2] It uses Pydantic and type hints to validate, serialize and deserialize data. It also automatically generates OpenAPI documentation for APIs built with it.[3] It was first released in 2018.
Pydantic is a data validation library for Python. While writing code in an IDE, Pydantic provides type hints for schema validation and serialization through type annotations.[4]
Starlette is a lightweight ASGI framework/toolkit, to support async functionality in Python.[5]
Uvicorn is a minimal low-level server/application web server for async frameworks, following the ASGI specification. Technically, it implements a multi-process model with one main process, which is responsible for managing a pool of worker processes and distributing incoming HTTP requests to them. The number of worker processes is pre-configured, but can also be adjusted up or down at runtime.[6]
The following code shows a simple web application that displays "Hello World!" when visited:
app = FastAPI
@app.get("/")def read_root: return "Hello World!"