Skip to content

khanhduzz/python-fastAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python FastAPI

A FastAPI mini application to learn how to use FastAPI with SQLAlchemy and PostGreSQL.

  • Admin username: james
  • Admin password: depend on your .env setup

Sample Setup

  • Create a virtual environment using virtualenv module in python.
# Install module (globally)
pip install virtualenv

# Generate virtual environment
virtualenv --python=<your-python-runtime-version> venv

# Activate virtual environment
source venv/bin/activate

# Install depdendency packages
pip install -r requirements.txt
  • Configure .env file by creating a copy from .env.sample
  • Setup a postgres docker container
docker run -p 5432:5432 --name postgres -e POSTGRES_PASSWORD=<your-preferred-one> -d postgres:14
  • At app directory, run alembic migration command. Please make sure your postgres DB is ready and accessible. In case you want to use SQLite instead, please be sure to configure the env.py file in alembic folder to support batch execution since SQLite does not support ALTER command, which is needed to configure the foreign key and establish the indexes.
# Migrate to latest revison
alembic upgrade head

# Dowgragde to specific revision
alembic downgrade <revision_number>

# Downgrade to base (revert all revisions)
alembic downgrade base

# Create new revision
alembic revision -m <comment>
  • Run uvicorn web server from app directory (reload mode is for development purposes)
uvicorn main:app --reload

About

Python with FastAPI project

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published