# 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
pip-log.txt
pip-delete-this-directory.txt

# Virtual environments
.venv/
.venv-1/
.venv-pypi-test/
.venv-smoke/
.venv-pypi-final/
venv/
env/
ENV/
.python-version

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

# Linting / type checking
.mypy_cache/
.ruff_cache/
.pyre/

# IDEs
.idea/
.vscode/
*.swp
*.swo
*.swn

# OS
.DS_Store
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
*.lnk

# Jupyter
.ipynb_checkpoints/
*.ipynb_checkpoints

# DANE microdata (NEVER commit, ever)
/cache/
/data_local/
/microdata/
*.parquet
*.zip
*.sav
*.dta
!tests/fixtures/zips/*.zip
!tests/fixtures/expected_outputs/*.parquet

# Scraper artifacts
scripts/.scrape_cache/
scripts/scrape_report.html
scrape_report.md
scrape_report.html

# Docs build
docs/_build/
site/

# Secrets
.env
.env.local
.env.*.local
*.key
*.pem
*.p12
secrets/

# Local notes / scratchpad
scratch/
notes-local/
TODO-personal.md

# Curator workspace (never commit downloaded ZIPs)
_workspace/
_curator_workspace/

# DDI XML build cache (regenerated by scripts/build_dane_codebook.py)
.ddi_cache/

# Claude Code session state
.claude/
