FastAPI

Web framework for Python
(Learn how and when to remove this message)
FastAPI
Developer(s)Sebastián Ramírez
Initial releaseDecember 5, 2018; 5 years ago (2018-12-05)[1]
Stable release
0.110.2[2] Edit this on Wikidata / 19 April 2024; 19 days ago (19 April 2024)
Repositorygithub.com/tiangolo/fastapi
Written inPython
TypeWeb framework
LicenseMIT
Websitefastapi.tiangolo.com

FastAPI is a modern web framework first released in 2018 for building RESTful APIs in Python.[3] It is used for building APIs with Python 3.8+ based on standard Python-type hints.

FastAPI is based on Pydantic and uses type hints to validate, serialize and deserialize data. It also automatically generates OpenAPI documentation for APIs built with it.[4]

Components

Pydantic

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.[5]

Starlette

Starlette is a lightweight ASGI framework/toolkit, to support async functionality in Python.[6]

Uvicorn

Uvicorn is a minimal low-level server/application web server for async frameworks, following the ASGI specification.

Example

The following code shows a simple web application that displays "Hello World!" when visited:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return "Hello World!"

See also

External links

References

  1. ^ "fastapi repo". GitHub. 2018-12-05.
  2. ^ "Release 0.110.2". 19 April 2024. Retrieved 23 April 2024.
  3. ^ "FastAPI". fastapi.tiangolo.com. Retrieved 2024-04-10.
  4. ^ Lubanovic, Bill (2019-11-06). Introducing Python: Modern Computing in Simple Packages (2nd ed.). O'Reilly Media, Inc. pp. 397, 418. ISBN 9781492051367.
  5. ^ "Why use Pydantic - Pydantic". docs.pydantic.dev. Retrieved 2023-09-21.
  6. ^ "Starlette". www.starlette.io. Retrieved 2023-09-21.
  • v
  • t
  • e
  • v
  • t
  • e
.NET
C++
ColdFusion
Common Lisp
Haskell
  • Servant
  • Snap
  • Yesod
Java
JavaScript
Perl
PHP
Python
Ruby
Rust
  • Rocket
Scala
Smalltalk
Other languages
Stub icon

This Web-software-related article is a stub. You can help Wikipedia by expanding it.

  • v
  • t
  • e