Short answer, yes. FastAPI is an ASGI (Asynchronous Server Gateway Interface) framework. Fastapi is specifically designed to leverage asynchronous programming and is built on top of the ASGI specification.
ASGI is a standard interface between web servers and Python web applications that supports asynchronous execution. It allows web frameworks to handle high concurrency and efficiently handle long-lived connections, real-time functionality, and other asynchronous operations.
FastAPI fully embraces the ASGI approach. It utilizes async and await keywords to enable developers to write asynchronous code. Using the power of asynchronous programming, FastAPI can handle multiple requests concurrently. This makes it highly efficient and scalable.
When developing a FastAPI application, you can run it using ASGI servers like uvicorn or daphne. These servers implement the ASGI protocol and provide the necessary infrastructure to handle the asynchronous execution of FastAPI.
The ASGI server receives incoming requests, passes them to the FastAPI application, and manages the event loop and task scheduling to process the requests concurrently. This concurrency gives FastAPI huge performance benefits and allows it to deliver highly responsive and efficient web applications.
In summary, FastAPI is an ASGI framework that embraces asynchronous programming. It is designed to handle high concurrency and efficiently process multiple requests concurrently. By using an ASGI server to run FastAPI applications, you can leverage the power of async execution and build high-performance web APIs.