# ---- Python ----
__pycache__/
*.py[cod]
*$py.class
*.so

# ---- Packaging / build artifacts ----
build/
*.egg-info/
.eggs/
wheels/
MANIFEST

# ---- Virtual environments ----
.venv/
venv/
env/
ENV/

# ---- Tooling caches ----
.pytest_cache/
.ruff_cache/
.mypy_cache/
.pytype/
.dmypy.json
.pyre/
.cache/
.coverage
.coverage.*
htmlcov/
coverage.xml
*.cover
cache/

# ---- Jupyter / IPython ----
.ipynb_checkpoints/
profile_default/
ipython_config.py

# ---- macOS ----
.DS_Store
.DS_Store?
.AppleDouble
.LSOverride
._*
.Spotlight-V100
.Trashes

# ---- Windows ----
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/

# ---- Editors / IDEs ----
.idea/
*.swp
*.swo
*~
.vscode/*
!.vscode/settings.json
!.vscode/extensions.json

# ---- Environment / secrets ----
.env
.env.*
!.env.example
.envrc

# ---- Project outputs ----
out/
# One-writer-per-AOI lock, created next to the AOI it guards.
.fimbox-writer.lock

# ---- Reference datasets ----
# Nothing ships in the repo; fimbox.datasets fetches from S3 into a cache.
# Point $FIMBOX_DATA_DIR at .fimbox_data/ to keep that cache beside the checkout.
.fimbox_data/
data/
