Misplaced Pages

FastAPI

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Web framework for Python
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
This article contains promotional content. Please help improve it by removing promotional language and inappropriate external links, and by adding encyclopedic text written from a neutral point of view. (February 2022) (Learn how and when to remove this message)
This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources.
Find sources: "FastAPI" – news · newspapers · books · scholar · JSTOR (February 2022) (Learn how and when to remove this message)
(Learn how and when to remove this message)
FastAPI
Developer(s)Sebastián Ramírez
Initial releaseDecember 5, 2018; 6 years ago (2018-12-05)
Stable release0.115.6 Edit this on Wikidata / 3 December 2024; 31 days ago (3 December 2024)
Repositorygithub.com/tiangolo/fastapi
Written inPython
TypeWeb framework
LicenseMIT
Websitefastapi.tiangolo.com

FastAPI is a high-performance web framework for building HTTP-based service APIs in Python 3.8+. It uses Pydantic and type hints to validate, serialize and deserialize data. FastAPI also automatically generates OpenAPI documentation for APIs built with it. It was first released in 2018.

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.

Starlette

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

Uvicorn

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.

OpenAPI Integration

FastAPI automatically generates OpenAPI documentation for your APIs. This documentation includes both Swagger UI and ReDoc, which provide interactive API documentation that you can use to explore and test your endpoints in real time. This is particularly useful for developing, testing, and sharing APIs with other developers or users.

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.115.6". 3 December 2024. Retrieved 24 December 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.
  7. "Restarting 'uvicorn' Workers with the 'SIGHUP' Signal". bugfactory.io. Retrieved 2024-06-17.
  8. https://fastapi.tiangolo.com/reference/openapi/docs/
Python web frameworks
Web frameworks
.NET
C++
ColdFusion
Common Lisp
Haskell
Java
JavaScript
Perl
PHP
Python
Ruby
Rust
Scala
Smalltalk
Other languages
Stub icon

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

Categories: