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

# Distribution / packaging
build/
dist/
*.egg-info/
*.egg

# MkDocs
site/

# Virtual environments
.venv/
venv/
env/

# uv
.python-version

# Serialized models and data
*.pkl
*.joblib
*.h5
*.hdf5
*.pt
*.pth
*.onnx
*.pb
*.bin
*.model
*.sklearn
*.xgb
*.lgbm
*.pmml
*.mlmodel
*.rds
*.html

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

# Testing / Coverage
.coverage
.coverage.*
coverage.xml
htmlcov/
.pytest_cache/

# Type checking
.pyright_cache/
.mypy_cache/

# Ruff
.ruff_cache/

# OS files
.DS_Store
Thumbs.db

# Environment variables
.env
.env.local

# Logs
*.log

# Rust build artifacts
target/
*.so

# -----------------------------------------------------------------------------
# Experiments: outputs regenerated by the scripts are ignored. The results reported
# in the paper and the logs of the runs that produced them are versioned; they are
# re-included explicitly below because *.log and *.pkl are ignored above.
# -----------------------------------------------------------------------------
experiments/paper_figures/
experiments/logs/
experiments/**/results/plots/
experiments/**/results/tables/
experiments/**/results/markdown/
experiments/**/results/gold_standards/
experiments/**/results/optuna/pareto_plots/
experiments/**/results/reports/plots/
experiments/**/results/*.pkl
experiments/analytic_convergence/results/*raw_results_*.csv
!experiments/analytic_convergence/results/raw_results_20260930_001402.csv
experiments/comparative_audit/results/raw_results_*.csv
experiments/comparative_audit/results/*.md
experiments/hyperparameter_tuning/results/optuna/*_trials_*.jsonl
!experiments/hyperparameter_tuning/results/optuna/low_trials_20260623_114353.jsonl
!experiments/hyperparameter_tuning/results/optuna/medium_trials_20260623_130942.jsonl
!experiments/hyperparameter_tuning/results/optuna/high_trials_20260623_043459.jsonl
!experiments/hyperparameter_tuning/results/logs/precompute_analytic_20260929_203730.log
!experiments/hyperparameter_tuning/results/logs/generate_gold_standards_20260623_033436.log
!experiments/hyperparameter_tuning/results/logs/generate_gold_standards_20260623_104831.log
!experiments/hyperparameter_tuning/results/logs/generate_gold_standards_20260623_110840.log
!experiments/hyperparameter_tuning/results/logs/hyperparameter_tuning_20260623_043459.log
!experiments/hyperparameter_tuning/results/logs/hyperparameter_tuning_20260623_114353.log
!experiments/hyperparameter_tuning/results/logs/hyperparameter_tuning_20260623_130942.log
!experiments/analytic_convergence/results/logs/analytic_convergence_20260929_211452.log
!experiments/comparative_audit/results/logs/comparative_audit_20260930_001405.log
!experiments/computational_study/results/logs/computational_study_20261001_142505.log
!experiments/computational_study/results/logs/dimensionality_scaling_20261001_142633.log
!experiments/computational_study/results/logs/benchmark_unit_inference_20261001_144648.log
