Installing FastAPI on unmanaged servers
This article provides detailed instructions on how to install and run FastAPI on an unmanaged server from the command line. FastAPI is a Python-based web framework for building APIs (Application Programming Interfaces).
This article demonstrates how to install and run FastAPI on an unmanaged server. FastAPI is a Python-based web framework for building APIs (Application Programming Interfaces).
Because FastAPI is asynchronous, it requires the Asynchronous Server Gateway Interface ( ASGI ) instead of the Web Server Gateway Interface ( WSGI ). Because our managed hosting solutions use Passenger and WSGI to manage Python applications, you can only install and run FastAPI on an unmanaged hosting account.
Installing FastAPI
To install FastAPI, you first create a virtual environment for Python. After you activate the virtual environment, you can use the pip installer to install FastAPI.
To do this, follow these steps:
-
Log in to your server using SSH.
-
If you are running Ubuntu on your server, as the root user, type the following command:
apt install curl python3.8-venv
Note
If you are running another distribution that already has curl and Python 3 virtual environment support installed, you do not need to install any additional packages. If your distribution does not have these packages installed, consult its documentation on how to do so.
-
As a regular (non-root) user, type the following commands:
cd ~ python3 -m venv fastapi-test cd fastapi-test source bin/activate
-
The virtual environment is now created and activated. To update pip, type the following command:
pip install --upgrade pip
-
To install FastAPI, type the following commands:
pip install fastapi pip install "uvicorn[standard]"
-
FastAPI is now installed. To determine which version is installed, type the following command:
pip show fastapi
Running an example application
FastAPI is now installed, and you can create and configure FastAPI applications. The following example shows how to do this.
-
Use a text editor to create a file named main.py.
-
Copy and paste the following code into the main.py file:
from typing import Union from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") def read_item(item_id: int, q: Union[str, None] = None): return {"item_id": item_id, "q": q}
-
To start the development web server, type the following command::
uvicorn main:app --reload
-
In another terminal window, type the following command:
curl localhost:8000/items/5?q=my_query
You should see the following JSON response:
{"item_id":5,"q":"my_query"}
You now have a basic, functioning web API created using FastAPI.
More Information
For more information about FastAPI, please visit https://fastapi.tiangolo.com.
Related Articles
Updated 3 days ago