FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.

It plays well with other Python libraries as requests, multipart, ujson, pyyaml, and others.

FastAPI comes with a built-in document generator thanks to Swagger UI, and another alternative API docs tool that is provided by ReDoc.

Features

  • Fast: Very high performance, on par with NodeJS and Go (thanks to Starlette and Pydantic). One of the fastest Python frameworks available.
  • Fast to code: Increase the speed to develop features by about 200% to 300%. *
  • Fewer bugs: Reduce about 40% of human (developer) induced errors. *
  • Intuitive: Great editor support. Completion everywhere. Less time debugging.
  • Easy: Designed to be easy to use and learn. Less time reading docs.
  • Short: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.
  • Robust: Get production-ready code. With automatic interactive documentation.
  • Standards-based: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger UI) and JSON Schema.
  • Security and authentication, including support for OAuth2 with JWT tokens and HTTP Basic auth.
  • A very powerful and easy to use Dependency Injection system.

Extend FastAPI

  1. Extends to WebSockets
  2. GraphQL's integration
  3. CORS
  4. Cookie Sessions managers

License

FastAPI is an open-source project that is released under the MIT License.

Resources