# ======================================
# Python standard ignores
# ======================================

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# Cython debug symbols
cython_debug/

# ======================================
# Virtual environments
# ======================================
.venv/
venv/
ENV/
env/
Venv/
VENV/

# Pipenv and Poetry
Pipfile.lock
poetry.lock

# pyenv
.python-version

# pip wheel cache
*.egg-info/
dist/
build/
.eggs/
*.egg

# ======================================
# IDEs & editors
# ======================================
.vscode/
.idea/
*.swp
*.swo

# ======================================
# Logs and temp files
# ======================================
*.log
*.tmp
*.bak
*.orig
*.old

# ======================================
# OS-generated files
# ======================================
.DS_Store
Thumbs.db

# ======================================
# Tests and coverage
# ======================================
.coverage
coverage.xml
htmlcov/
.tox/
.pytest_cache/

# ======================================
# SQLite database & local data
# ======================================
*.sqlite
*.sqlite3

# ======================================
# Custom project-specific ignores
# ======================================
allCountries.txt
.villager_cache/
*.zip
sandbox.py

# Keep empty folders tracked (optional)
!ingest/.gitkeep

*.ps1
ingest/*/inputs/*
!ingest/macroregions/inputs/macroregions.manifest.json
!ingest/countries/inputs/countries.manifest.json
!ingest/countries/inputs/name_blocklist.json
!ingest/subdivisions/inputs/subdivisions.manifest.json
!ingest/cities/inputs/cities.manifest.json
!ingest/shared/inputs/shared.manifest.json

# ingest outputs: tracked by default (resolution decisions, orphan lists)

# ingest logs: tracked so each run's diagnostics are reviewable in the ingest PR
!ingest/*/logs/*.log