# ===== Python =====
__pycache__/
*.py[cod]
*$py.class
*.pyd
*.so
*.dylib

# Virtual environments
.venv/
venv/
env/
ENV/
.conda/
pip-wheel-metadata/

# Packaging / builds
build/
dist/
*.egg-info/
.eggs/
wheels/
pip-wheel-metadata/
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.nox/
.mypy_cache/
.ruff_cache/
.pytype/
.pyre/
.cache/

# IDEs / editors
.vscode/
.idea/
*.iml
*.swp
*.swo

# macOS
.DS_Store
.AppleDouble
.LSOverride
._*

# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
*.lnk

# Linux
*~
.fuse_hidden*
.Trash-*/
.nfs*

# Jupyter
.ipynb_checkpoints/
*.nbconvert.ipynb

# Logs / temp
*.log
*.tmp
*.bak

# ===== Optional: if you ever add docs tooling =====
docs/_build/
site/
.mkdocs_cache/

# ===== Optional: local secrets (only if you use them) =====
.env
.env.*