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:

  1. Install FastAPI and uvicorn using pip:
pip install fastapi uvicorn
  1. Create a file called main.py and import FastAPI:
from fastapi import FastAPI

app = FastAPI()
  1. 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"}
  1. 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.