# -------------------------------------------------------------- # Python / FastAPI core # -------------------------------------------------------------- # Byte‑compiled / optimized Python files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging build/ dist/ *.egg-info/ *.egg *.whl pip-wheel-metadata/ # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .coverage .coverage.* .cache nosetests.xml coverage.xml *.cover *.py,cover *.gcov *.gcda *.gcno .pytest_cache/ pytestdebug.log # Jupyter / IPython .ipynb_checkpoints profile_default/ ipython_config.py # -------------------------------------------------------------- # Virtual environments & environment files # -------------------------------------------------------------- # Virtualenv / venv / conda environments env/ venv/ ENV/ VENV/ .venv/ .pyenv/ conda-env/ conda-requirements.txt # Environment variable files (keep secrets out of VCS) .env .env.* # e.g. .env.dev, .env.prod .envrc .env.local .env.development .env.production # -------------------------------------------------------------- # FastAPI / ASGI / Uvicorn specifics # -------------------------------------------------------------- # Uvicorn log files (if you redirect logs to files) uvicorn.log uvicorn-access.log # FastAPI generated OpenAPI / Swagger UI files (if you commit them) openapi.json swagger.json # -------------------------------------------------------------- # Database / Alembic migrations # -------------------------------------------------------------- # SQLite database files (often used in dev) *.sqlite3 *.db *.db-journal # Alembic migration scripts (keep the folder but ignore compiled artifacts) alembic/versions/*.pyc alembic/versions/__pycache__/ # -------------------------------------------------------------- # Static & media assets # -------------------------------------------------------------- # Uploads / generated media (usually served by a CDN or separate storage) media/ uploads/ staticfiles/ static/ # keep if you have a folder you *do* want committed, otherwise ignore sub‑folders # -------------------------------------------------------------- # Docker / CI / Deployment # -------------------------------------------------------------- # Docker files that you might generate locally docker-compose.override.yml Dockerfile.dev # Docker volumes / data docker-data/ .docker/ # GitHub Actions / CI caches .github/workflows/*.log # -------------------------------------------------------------- # IDE / Editor specific # -------------------------------------------------------------- # VS Code .vscode/ # PyCharm / IntelliJ .idea/ *.iml *.iws *.ipr # Sublime Text *.sublime-project *.sublime-workspace # Eclipse / VS .project .pydevproject # Emacs / Vim *~ \#*\# .*.swp .*.swo .#* .session *.un~ *.orig *.bak *.tmp # -------------------------------------------------------------- # OS generated files # -------------------------------------------------------------- # macOS .DS_Store .AppleDouble .LSOverride # Windows Thumbs.db ehthumbs.db Desktop.ini $RECYCLE.BIN/ # Linux *~ .nfs* # -------------------------------------------------------------- # Miscellaneous # -------------------------------------------------------------- # Logs *.log log/ logs/ # Documentation build artifacts (Sphinx, MkDocs, etc.) docs/_build/ site/ # Backup files *.bak *.backup *.old # sqlite db database.db database.db-journal