DevBolt

Python .gitignore File Generator

Create a thorough .gitignore file for Python projects covering bytecode caches, virtual environments, distribution artifacts, and IDE files. Select your tools and frameworks, then copy the generated file. Everything runs client-side.

← Back to tools

.gitignore Generator

Select templates for your project stack to generate a comprehensive .gitignore file. Combine multiple templates and add custom rules.

0 templates selected

.gitignore Preview

Select templates to generate your .gitignore

About .gitignore

  • .gitignore tells Git which files and directories to skip when tracking changes in your repository.
  • Place the file at the root of your repository. Patterns apply recursively to all subdirectories.
  • Lines starting with # are comments. Use ! to negate a pattern and re-include a file.
  • Trailing / matches only directories.* matches anything except /,** matches everything including nested paths.
  • Everything runs in your browser — no data is sent over the network.

What should a Python .gitignore include?

A Python .gitignore should exclude __pycache__/ directories and .pyc bytecode files, virtual environment folders (venv/, .venv/, env/), distribution artifacts (dist/, build/, *.egg-info/), environment files (.env), Jupyter notebook checkpoints (.ipynb_checkpoints/), and IDE-specific directories like .idea/ and .vscode/. These files are generated locally and should not pollute the repository.

Common use cases

This generator helps Python developers starting new projects with Django, Flask, FastAPI, or data science stacks (Jupyter, pandas, scikit-learn). It is also useful when onboarding team members who use different IDEs, ensuring all common artifacts are ignored regardless of whether a developer uses PyCharm, VS Code, or Vim.

Frequently Asked Questions

Should I commit my virtual environment to Git?

No. Virtual environments (venv, .venv) contain installed packages that are fully reproducible from requirements.txt or pyproject.toml. They are platform-specific and often hundreds of megabytes. Always add them to .gitignore.

What is __pycache__ and should I ignore it?

__pycache__ directories contain compiled Python bytecode (.pyc files) that Python generates automatically for faster module loading. They are machine-specific, regenerated on every run, and should always be in .gitignore.