# =============================================================================
# ML Engine .gitignore
# =============================================================================

# 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/
venv/
ENV/

# Jupyter
.ipynb_checkpoints/
*.ipynb_checkpoints

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

# OS
.DS_Store
Thumbs.db

# Logs
*.log
logs/

# =============================================================================
# ML-Specific - Modelos entrenados (se regeneran, son grandes)
# =============================================================================
# Directorios de modelos (recursivo)
models/**/attention/
models/**/base_models/
models/**/symbol_timeframe_models/
models/**/metamodels/
models/**/metamodels_neural/

# Archivos de modelos (recursivo en cualquier subdirectorio)
models/**/*.joblib
models/**/*.pt
models/**/*.pth
models/**/*.pkl
models/**/*.h5
models/**/*.onnx
models/**/*.bin

# Resultados de backtest
models/backtest_results*/
models/**/backtest_results*/

# Datos de entrenamiento
data/
*.csv
*.parquet
*.feather

# Cache de features
cache/
*.cache

# Checkpoints de entrenamiento
checkpoints/
*.ckpt

# MLflow / experiment tracking
mlruns/
mlflow/

# Weights & Biases
wandb/

# =============================================================================
# MANTENER EN REPOSITORIO (NO IGNORAR)
# =============================================================================
# Código fuente: src/
# Configuración: config/
# Scripts: scripts/
# Documentación: *.md
# Requirements: requirements*.txt, pyproject.toml
# Docker: Dockerfile, docker-compose*.yml
# Charts/visualizations code: charts/ (pero no outputs)

# Excepciones - Mantener estos archivos aunque estén en carpetas ignoradas
!models/.gitkeep
!data/.gitkeep
!charts/*.py
!charts/*.ipynb

# Environment example
!.env.example
.env
.env.local
