pythonpycharmfastapi

How can I run the FastAPI server using Pycharm?


I have a simple API function as below,

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def read_root():
    return {"Hello": "World"}

I am starting the server using uvicorn command as,

uvicorn main:app

Since we are not calling any python file directly, it is not possible to call uvicorn command from Pycharm.

So, How can I run the fast-api server using Pycharm?


Solution

  • Method-1: Run FastAPI by calling uvicorn.run(...)

    In this case, your minimal code will be as follows,

    # main.py
    
    import uvicorn
    from fastapi import FastAPI
    
    app = FastAPI()
    
    
    @app.get("/")
    async def read_root():
        return {"Hello": "World"}
    
    
    if __name__ == "__main__":
        uvicorn.run(app, host="0.0.0.0", port=8000)

    Normally, you'll start the server by running the following command,

    python main.py
    

    Pycharm Setup

    For this setup, and now, you can set the script path in Pycharm's config

    Pycharm-uvicorn.run

    Notes


    Method-2: Run FastAPI by calling uvicorn command

    In this case, your minimal code will be as follows,

    # main.py
    
    from fastapi import FastAPI
    
    app = FastAPI()
    
    
    @app.get("/")
    async def read_root():
        return {"Hello": "World"}

    Normally, you'll start the server by running the following command,

    uvicorn main:app --reload
    

    Pycharm Setup

    For this setup, and now, you can set the script path in Pycharm's config

    Pycharm-uvicorn.command

    Notes