Skip to content

Will413028/fastapi-template

Repository files navigation

fastapi-template

How to Run

Run the Server

uvicorn src.main:app --reload

Docker

Build Image

sudo docker build -t <image_name>:<tag> .

Run Docker Container

docker run --name test -p 8000:8000

Ansible deploy

ansible-playbook -i inventory.ini playbook.yml

Testing

Run Tests

python -m pytest

Database Operations

Auto-generate Migration

alembic revision --autogenerate -m "migration message"

Database Migration

alembic upgrade head

Docker Compose

sudo docker-compose up -d --build

Virtual Environment

Create Virtual Environment

poetry shell

Pre-commit

Install Pre-commit Hooks

pre-commit install

Dependency Management

Install Dependencies

poetry install

Add Dependency

poetry add <library_name>

Add Dependency to dev

poetry add <library_name> --dev-dependency

Export Requirements

Export Requirements to Text Files

poetry export -f requirements.txt -o ./requirements/prod.txt
poetry export -f requirements.txt -o ./requirements/dev.txt --with dev

Code Formatting

ruff check --fix

ruff format

Additional Libraries

Structlog

Reference: Structlog

IceCream

Reference: IceCream Module

Better-Exceptions

Reference: Better-Exceptions

Rich

Reference: Rich Library

VS Code Debugger Configuration

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Debugger: FastAPI",
            "type": "debugpy",
            "request": "launch",
            "module": "uvicorn",
            "args": [
                "src.main:app",
                "--reload"
            ],
            "jinja": true
        }
    ]
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published