.gitignore for Flask + Python

.gitignore for Flask web applications covering Python environments and Flask-specific artifacts.

Quick presets

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

76 patterns · 984 B

# Generated by DevZone Tools — https://devzone.tools/tools/gitignore-generator
# Templates: Python, Flask
# 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/

# ---- Flask ----
# Flask
*.pyc

Why use Flask + Python together?

Flask's instance/ folder is the key Flask-specific ignore. It stores configuration files, including SECRET_KEY and database connection strings, that should never be in version control. The Python template adds comprehensive virtual environment and bytecode coverage.

For Flask projects using SQLAlchemy with SQLite, db.sqlite3 should also be ignored — it is a development database, not a schema definition.

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 Flask and Python?
Flask's instance/ folder is the key Flask-specific ignore. It stores configuration files, including SECRET_KEY and database connection strings, that should never be in version control. The Python template adds comprehensive virtual environment and bytecode coverage.

Looking for something else? Browse all templates →