# ── Python ──────────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
dist/
*.egg-info/
.eggs/
.installed.cfg
lib/
lib64/
parts/
sdist/
var/
wheels/
*.whl
MANIFEST

# ── Virtual environments ─────────────────────────────────────────────────────
.venv/
venv/
env/
ENV/
.env
!.env.example

# ── uv ───────────────────────────────────────────────────────────────────────
uv.lock

# ── Testing / coverage ───────────────────────────────────────────────────────
.pytest_cache/
.coverage
.coverage.*
coverage.xml
htmlcov/

# ── Type checking ─────────────────────────────────────────────────────────────
.mypy_cache/
.dmypy.json
dmypy.json

# ── Linting / formatting ─────────────────────────────────────────────────────
.ruff_cache/

# ── Databases ────────────────────────────────────────────────────────────────
*.db
*.sqlite
*.sqlite3
coldreach.db

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

# ── Docker ───────────────────────────────────────────────────────────────────
.docker/

# ── IDE ───────────────────────────────────────────────────────────────────────
.idea/
.vscode/
*.swp
*.swo
*.suo
.project
.pydevproject

# ── OS ───────────────────────────────────────────────────────────────────────
.DS_Store
.DS_Store?
._*
.Spotlight-V500
.Trashes
ehthumbs.db
Thumbs.db

# ── MkDocs build output ───────────────────────────────────────────────────────
site/

# ── SearXNG config (generated) ───────────────────────────────────────────────
config/searxng/settings.yml
config/searxng/uwsgi.ini

# ── External OSINT tools (cloned by scripts/setup.sh, NOT committed) ─────────
# Run `./scripts/setup.sh` to download these.
theHarvester/
spiderfoot/