__pycache__/
*.py[cod]
*$py.class
*.so
dist/
build/
*.egg-info/
*.egg
.eggs/
.venv/
venv/
.env
*.db
*.duckdb
# Generated FOCUS export (20 MB); rebuilt by scripts/build_finops_duckdb.py.
# The committed excerpt is examples/finops_charges_sample.json.
examples/finops_data/
*.sqlite3
.mypy_cache/
.ruff_cache/
.pytest_cache/
htmlcov/
.coverage
.coverage.*
*.log
.DS_Store
.claude/
# Playwright MCP scratch output: accessibility snapshots and console logs
# written per browser session. The console logs were already caught by
# *.log above, which left only the .yml page dumps showing as untracked.
.playwright-mcp/
/cache/
/usage/
security/
infra/
site/
scripts-infra
.mcpregistry_github_token
.mcpregistry_registry_token
_*/
blog/
review*
design/
examples/test*
# TPC-DS sweep harness. The queries, the runner and the compiled SQL are
# published so the coverage is auditable; the generated database, the working
# notes and the drafts that do not yet match the reference are not.
examples/tpcds_queries/*
!examples/tpcds_queries/README.md
!examples/tpcds_queries/sweep.py
!examples/tpcds_queries/Q*.yml
!examples/tpcds_queries/sql/
examples/tpcds_queries/*.duckdb
examples/tpcds_queries/REPORT.md
examples/tpcds_queries/tpcds_run.py
examples/tpcds_queries/drafts/
semantic-layer-spec.md

# Generated per-vendor seed scripts (backup of what the drift seed executed)
tests/integration/drift/vendor_exec/seed_sql/
examples/tpcds_queries/results/
