# Python
__pycache__/
*.py[cod]
*.pyo
*.pyd
.Python
*.egg-info/
dist/
build/
*.egg
*.whl

# Virtual environments
.venv/
venv/
env/
.env

# Testing & coverage
.pytest_cache/
.coverage
htmlcov/
coverage.xml
*.cover

# Mypy
.mypy_cache/

# Ruff
.ruff_cache/

# MkDocs build output (never commit)
site/

# Triton cache
.triton/
triton_cache/

# Model weights (NEVER commit)
*.bin
*.safetensors
*.pt
*.pth
*.gguf
*.ggml
hf_cache/
models/

# Benchmark results (committed selectively)
benchmarks/results/*.json
!benchmarks/results/baseline.json
!benchmarks/results/flashspec_ucb_tiny_llama.json
!benchmarks/results/residual_cpu.json
!benchmarks/results/bandit_mixed_workload.json
!benchmarks/results/tiny_cpu_*.json
!benchmarks/results/tinyllama_gpu_*.json
!benchmarks/results/tinyllama_cpu_*.json
!benchmarks/results/larger_gpu_*.json
!benchmarks/results/residual_colab_cpu.json
!benchmarks/results/residual_linux_gha.json
!benchmarks/results/residual_linux_gha_1b0cda3.json
!benchmarks/results/.gitkeep

# Jupyter
*.ipynb
.ipynb_checkpoints/
# This measurement notebook is source. Executed outputs should stay small.
!notebooks/04_gpu_measurement.ipynb

# Paper build artefacts
paper/*.aux
paper/*.bbl
paper/*.blg
paper/*.log
paper/*.out
paper/*.pdf
paper/figures/*.pdf
paper/figures/*.png

# IDE
.idea/
.vscode/
*.swp
*.swo
.DS_Store
Thumbs.db

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