# =============================================================================
# .gitignore – Python, data, model cache, and environment ignores
# =============================================================================

# ── Python ────────────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*$py.class
*.so
*.pyd
*.pyo

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# ── Virtual environments ──────────────────────────────────────────────────────
.venv/
venv/
env/
ENV/
.env.local

# ── Environment / secrets ─────────────────────────────────────────────────────
.env
*.env
!.env.example

# ── Hugging Face model cache ──────────────────────────────────────────────────
# Do NOT commit downloaded model weights to the repository.
# They are stored locally in the HF_HOME directory (~/.cache/huggingface).
.cache/
models/
*.bin
*.safetensors
*.pt
*.pth
*.onnx
*.gguf

# ── Data files ────────────────────────────────────────────────────────────────
data/raw/
data/processed/
*.csv
*.jsonl
*.parquet
!examples/*.csv      # allow small example CSV files

# ── Jupyter / IPython ─────────────────────────────────────────────────────────
.ipynb_checkpoints/
*.ipynb

# ── Testing & coverage ────────────────────────────────────────────────────────
.pytest_cache/
.coverage
coverage.xml
htmlcov/
.tox/
.nox/

# ── Type checkers ─────────────────────────────────────────────────────────────
.mypy_cache/
.dmypy.json
dmypy.json
.pyright/

# ── Linters ───────────────────────────────────────────────────────────────────
.ruff_cache/

# ── IDEs ──────────────────────────────────────────────────────────────────────
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store
Thumbs.db

# ── Logs ──────────────────────────────────────────────────────────────────────
*.log
logs/

# ── Docker ────────────────────────────────────────────────────────────────────
# Keep Dockerfile and docker-compose.yml but ignore generated Docker artefacts.
docker-compose.override.yml

# ── Streamlit ─────────────────────────────────────────────────────────────────
.streamlit/secrets.toml
