FastAPI is a modern, fast, web framework for building APIs with Python 3.7 and above. It is built on top of Starlette, a lightweight ASGI framework, and uses the uvicorn ASGI server.
Here is an example of how to create a web server with FastAPI and uvicorn:
- Install FastAPI and uvicorn using pip:
pip install fastapi uvicorn
- Create a file called main.py and import FastAPI:
from fastapi import FastAPI
app = FastAPI()
- Define a function that will be the endpoint for your API. This function should have a request parameter that specifies the HTTP request and a response parameter that specifies the HTTP response. You can use the @app.get decorator to define a function as a GET endpoint:
@app.get("/")
def read_root(request, response):
response.status_code = 200
return {"Hello": "World"}
- Run the web server using uvicorn:
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
This will start the web server on the specified host and port (in this case, 0.0.0.0 and 8000). You can then access the endpoint at http://0.0.0.0:8000/.
You can find more information about FastAPI and uvicorn in the FastAPI documentation and the Uvicorn documentation.