# This project .gitignore file
# lists files and folders that do NOT need to be tracked in version control.

# --------------------------------------------------------------------
# This repository intentionally stores large datasets under data/raw/
# and data/identity/. DO NOT ignore those directories.
# --------------------------------------------------------------------

# ----------------------------------------
# Operating System files
# ----------------------------------------
.DS_Store
.AppleDouble
.LSOverride
Icon\r
._*
.Spotlight-V100/
.Trashes
ehthumbs.db
Thumbs.db
desktop.ini

# ----------------------------------------
# Editors / IDEs
# ----------------------------------------
.vscode/*
.idea/
*.code-workspace

# ----------------------------------------
# Environment variables and secrets
# ----------------------------------------
.env
.env.*
*.env
.pypirc

# ----------------------------------------
# Python: bytecode, environments, build artifacts
# ----------------------------------------
.venv/
venv/
__pycache__/
*.pyc
*.pyo
*.pyd
.ipynb_checkpoints/

build/
dist/
.eggs/
*.egg-info/
*.egg
*.whl

# Test / coverage / linters
.pytest_cache/
.coverage
.coverage.*
coverage.xml
htmlcov/
.ruff_cache/
.mypy_cache/
.pytype/
.tox/
.cache/

# setuptools-scm generated file(s)
src/**/_version.py

# ----------------------------------------
# MkDocs (built site)
# ----------------------------------------
site/

# ----------------------------------------
# Logs and temp files
# ----------------------------------------
logs/
reports/
*.log
tmp/
*.tmp
*.swp
*.swo


# ----------------------------------------
# Data Repository Notes
# ----------------------------------------
# We KEEP all data files here. Do NOT ignore these:
#   data/raw/*
#   data/identity/*
#   docs/provenance/*
#
# But we DO ignore accidental autosaves or garbage:
# ----------------------------------------

# Ignore backups, temp CSVs, partial exports
*.csv~
*.bak
*.backup
*.old
*.orig
*.partial
*.tmp.csv
*._raw

# Allow provenance, metadata, docs
!docs/
!docs/**/*
!data/
!data/**/*
!scripts/
!scripts/**/*

# ----------------------------------------
# Ignore output from analysis notebooks
# ----------------------------------------
*.ipynb_checkpoints
*.feather
*.parquet

# ----------------------------------------
# Node / Go / Zig
# ----------------------------------------
node_modules/
.pnpm-store/
.pnp.*
.npm/
.yarn/
.next/
.nuxt/
.svelte-kit/
.vite/
zig-out/
.zig-cache/

# ----------------------------------------
# Lock files we don't need
# ----------------------------------------
uv.lock
