$ pip install fastapi
---> 100%Run the server with:
$ fastapi dev main.py
╭────────── FastAPI CLI - Development mode ───────────╮
│ │
│ Serving at: http://127.0.0.1:8000 │
│ │
│ API docs: http://127.0.0.1:8000/docs │
│ │
│ Running in development mode, for production use: │
│ │
│ fastapi run │
│ │
╰─────────────────────────────────────────────────────╯
INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [2248755] using WatchFiles
INFO: Started server process [2248757]
INFO: Waiting for application startup.
INFO: Application startup complete.About the command fastapi dev main.py...
The command fastapi dev reads your main.py file, detects the FastAPI app in it, and starts a server using Uvicorn.
By default, fastapi dev will start with auto-reload enabled for local development.
You can read more about it in the FastAPI CLI docs.
Open your browser at http://127.0.0.1:8000/items/5?q=somequery.
You will see the JSON response as:
{"item_id": 5, "q": "somequery"}You already created an API that:
- Receives HTTP requests in the paths
/and/items/{item_id}. - Both paths take
GEToperations (also known as HTTP methods). - The path
/items/{item_id}has a path parameteritem_idthat should be anint. - The path
/items/{item_id}has an optionalstrquery parameterq.
Now go to http://127.0.0.1:8000/docs.
You will see the automatic interactive API documentation (provided by Swagger UI):
And now, go to http://127.0.0.1:8000/redoc.
You will see the alternative automatic documentation (provided by ReDoc):
This project is licensed under the terms of the MIT license.

