Initial commit
This commit is contained in:
209
skills/python-project-setup/gitignore-template.md
Normal file
209
skills/python-project-setup/gitignore-template.md
Normal file
@@ -0,0 +1,209 @@
|
||||
# Python .gitignore Template
|
||||
|
||||
```gitignore
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
share/python-wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
|
||||
# PyInstaller
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.nox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
*.py,cover
|
||||
.hypothesis/
|
||||
.pytest_cache/
|
||||
cover/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
db.sqlite3-journal
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
.pybuilder/
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# IPython
|
||||
profile_default/
|
||||
ipython_config.py
|
||||
|
||||
# pyenv
|
||||
.python-version
|
||||
|
||||
# pipenv
|
||||
Pipfile.lock
|
||||
|
||||
# poetry
|
||||
poetry.lock
|
||||
|
||||
# pdm
|
||||
.pdm.toml
|
||||
|
||||
# PEP 582
|
||||
__pypackages__/
|
||||
|
||||
# Celery stuff
|
||||
celerybeat-schedule
|
||||
celerybeat.pid
|
||||
|
||||
# SageMath parsed files
|
||||
*.sage.py
|
||||
|
||||
# Environments
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
# mkdocs documentation
|
||||
/site
|
||||
|
||||
# mypy
|
||||
.mypy_cache/
|
||||
.dmypy.json
|
||||
dmypy.json
|
||||
|
||||
# Pyre type checker
|
||||
.pyre/
|
||||
|
||||
# pytype static type analyzer
|
||||
.pytype/
|
||||
|
||||
# Cython debug symbols
|
||||
cython_debug/
|
||||
|
||||
# Ruff
|
||||
.ruff_cache/
|
||||
|
||||
# uv
|
||||
uv.lock
|
||||
|
||||
# IDEs
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
.DS_Store
|
||||
|
||||
# Project specific
|
||||
*.db
|
||||
*.sqlite
|
||||
*.sqlite3
|
||||
data/
|
||||
logs/
|
||||
tmp/
|
||||
temp/
|
||||
```
|
||||
|
||||
## Explanation of Key Patterns
|
||||
|
||||
### Python Runtime Files
|
||||
- `__pycache__/` - Compiled bytecode cache
|
||||
- `*.pyc`, `*.pyo`, `*.pyd` - Compiled Python files
|
||||
- `*.so` - Compiled C extensions
|
||||
|
||||
### Package/Build Artifacts
|
||||
- `dist/`, `build/` - Build output directories
|
||||
- `*.egg-info/` - Package metadata
|
||||
- `.eggs/` - Installed packages directory
|
||||
|
||||
### Virtual Environments
|
||||
- `.venv/`, `venv/`, `env/` - Virtual environment directories
|
||||
- Always create virtual environments, never commit them
|
||||
|
||||
### Testing & Coverage
|
||||
- `.pytest_cache/` - Pytest cache
|
||||
- `.coverage` - Coverage data files
|
||||
- `htmlcov/` - HTML coverage reports
|
||||
|
||||
### Type Checking & Linting
|
||||
- `.mypy_cache/` - Mypy cache
|
||||
- `.ruff_cache/` - Ruff cache
|
||||
- `.pytype/` - Pytype cache
|
||||
|
||||
### Documentation
|
||||
- `docs/_build/` - Sphinx build output
|
||||
- `/site` - MkDocs build output
|
||||
|
||||
### Environment Variables
|
||||
- `.env` - Environment variable files (NEVER commit these)
|
||||
- Should contain secrets, API keys, database URLs
|
||||
|
||||
### IDE Files
|
||||
- `.vscode/` - VSCode settings (some teams commit this)
|
||||
- `.idea/` - PyCharm settings
|
||||
- `.DS_Store` - macOS file system metadata
|
||||
|
||||
## Customization Tips
|
||||
|
||||
1. **Commit `.vscode/` if desired**: Remove from .gitignore to share editor settings
|
||||
2. **Project-specific data**: Add custom directories for data files, logs, etc.
|
||||
3. **Lock files**: Consider keeping `uv.lock` for reproducible builds
|
||||
4. **Documentation**: Remove `docs/_build/` if you want to commit built docs
|
||||
Reference in New Issue
Block a user