FastAPI is an Open Source, modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.
Ranked in these QuestionsQuestion Ranking
Pro Dependency injection
It has a simple but powerful dependency injection system, it can be used to handle authentication, per-user rate limiting, authorization controls (e.g. with roles), etc.
Pro Editor completion
It is based on Python type declarations, so, editors and tools can give great support. Including type checks and autocompletion everywhere.
It is based on standards: OpenAPI, JSON Schema and OAuth 2.0.
Pro Automatic docs
It generates interactive API documentation automatically from your code.
Pro Async IO / optional
It's based on Async IO, which gives it high concurrency. But you can use non-async libraries and it runs them appropriately.
It's based on Starlette and Pydantic, so, it's one of the fastest Python frameworks.
Pro Database independent
It's independent of database or ORM, but compatible with all of them. Including relational databases and NoSQL.
Because it's an async framework, it can handle async-native protocols like WebSockets.
Pro OAuth 2.0
It has integrated support for OAuth 2.0. Including declaring required scopes per endpoint. So, you can easily integrate it with external OAuth 2.0 providers or build your own with it.
Pro Background tasks
Included support for background tasks, thanks to being based on Starlette.
Pro World class documentation
It has some of the best documentation of any framework.
Pro Data validation
It validates the data using the types you declared. Even in deeply nested JSON requests.
Pro graphql out of the box
Pro One of the fastest growing communities
Pro Fast is Really Fast!
It's easy to develop API based applications in Python on deadlines for Android and IOS Development.
Con Smaller community
Since FastAPI is relatively new, its community is smaller than Django Rest Framework.