.gitignore for FastAPI + Python

.gitignore for FastAPI projects covering Python environments, bytecode, and local configuration.

Quick presets

Selected (2)
FastAPIPython
Your selections never leave your browser. Generation happens entirely client-side.
Raw

75 patterns · 984 B

# Generated by DevZone Tools — https://devzone.tools/tools/gitignore-generator
# Templates: Python, FastAPI
# 2026-04-20

# ---- Python ----
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
*.manifest
*.spec
pip-log.txt
pip-delete-this-directory.txt
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
*.mo
*.pot
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
instance/
.webassets-cache
.scrapy
docs/_build/
.pybuilder/
target/
.ipynb_checkpoints
profile_default/
ipython_config.py
.pdm.toml
__pypackages__/
celerybeat-schedule
celerybeat.pid
*.sage.py
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
.spyderproject.db
.spyproject
.ropeproject
/site
.mypy_cache/
.dmypy.json
dmypy.json
.pyre/
.pytype/
cython_debug/

# ---- FastAPI ----
# FastAPI

Why use FastAPI + Python together?

FastAPI projects typically use either Poetry or pip/venv for dependency management. This combination covers both via the Python template's comprehensive virtual environment patterns. The .mypy_cache/ (for type checking) and .pytest_cache/ (for tests) are common in FastAPI projects that use strict typing.

Alembic migration files should be committed — they define database schema changes. Only the .alembic/ cache should be ignored, not the migration scripts themselves.

Related combinations

Frequently asked questions

Do I need to commit .gitignore?
Yes — .gitignore should be committed to the repository so all collaborators benefit from the same ignore rules.
How do I add custom patterns?
Open your .gitignore file and add the pattern on a new line. Use # for comments, * for wildcards, / to match directories, and ! to un-ignore a previously ignored path.
How do I ignore a file that is already tracked?
Adding a file to .gitignore does not remove it from tracking if it was previously committed. Run: git rm --cached <file> to stop tracking it without deleting the file locally.
Why combine FastAPI and Python?
FastAPI projects typically use either Poetry or pip/venv for dependency management. This combination covers both via the Python template's comprehensive virtual environment patterns. The .mypy_cache/ (for type checking) and .pytest_cache/ (for tests) are common in FastAPI projects that use strict typing.

Looking for something else? Browse all templates →