# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.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/

# Testing
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.nox/
coverage.xml
*.cover
.hypothesis/

# Type checking
.mypy_cache/
.dmypy.json
dmypy.json
.pyre/
.pytype/

# Linting
.ruff_cache/

# IDE
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store

# Bulk data assets (downloaded via `mireye-earth bootstrap`)
# The data/ directory is created by the bootstrap CLI on first run.
data/*
!data/.gitkeep
!data/overture_release.txt

# Bootstrap refresh ledger (recorded by `mireye-earth bootstrap`)
data/bootstrap_state.json

# Manifest diff emitted by `--emit-manifest-diff` (consumed by Lane K)
manifest_diff.json

# DEM tile cache
cache/

# VCR cassettes that include credentials (cassettes generally should be committed;
# this is a safety net for any accidental inclusion of auth headers)
tests/cassettes/*.private.yaml

# Secrets
.env
.env.local
.env.*.local

# UV
uv.lock
