Python FastAPI REST Starter

Kick-starter to your REST application.

How to set up environment variables?

  • Fill the .env file with the following values, they might need adjustment.
    DEBUG=<BOOLEAN>        # Dev: True
    SECRET_KEY=<STRING>    # Dev: a1b2c3d4e5f6g7h8i9j10k11l12m13n14o15p16q
    DATABASE_URI=<STRING>  # Dev: sqlite:///db.sqlite3

How to set up project for development?

  • Create a virtual environment: -
    python -m venv venv
  • Activate: -
    • Windows: venv\Scripts\activate
    • Unix-like: . venv\bin\activate
  • Install dependencies: -
    pip install . -e '.[automation,sqlite,test]'
  • Run: -
    uvicorn app.asgi:application --reload

How to set up project for deployment?

  • Create a virtual environment: -
    python -m venv venv
  • Activate: -
    • Windows: venv\Scripts\activate
    • Unix-like: . venv\bin\activate
  • Install dependencies: -
    pip install -e '.[sqlite,deployment]'
  • Run: -
    gunicorn app:asgi:application -b 0.0.0.0:8000 -w 4 -k uvicorn.workers.UvicornWorker --log-level INFO