# Environment variables
.env
.env.local

# 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

# Virtual environments
venv/
env/
ENV/
.venv

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

# Logs
*.log
logs/

# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/
.hypothesis/
coverage.xml

# Type checking
.mypy_cache/
.dmypy.json
dmypy.json

# Ruff
.ruff_cache/

# OS
.DS_Store
Thumbs.db

# Project specific
.claude/
CLAUDE.md
resources/config.json
*.pem
input/
.kiro/
.chroma/
.ruff_cache/
.mypy_cache/
*.zip
data/
scripts/
docs/archive/
resources/debug/
resources/docs/
debug/
.pyiceberg.yaml
resources/aws-cdk/cdk.out/

# Gradio
gradio_cached_examples/
flagged/

# Docker
docker-compose.override.yml
*.tar.gz
backups/
ssl/

# Web UI built artifacts (built by make build-release; not committed to git)
# Ignore everything in web/ EXCEPT .gitkeep which preserves the empty directory
src/tablesleuth/web/*
!src/tablesleuth/web/.gitkeep

# Next.js dev artifacts (web-ui/ source is committed, build output is not)
web-ui/.next/
web-ui/out/
web-ui/node_modules/
web-ui/next-env.d.ts
