# ============================================================
# Python: ambienti, cache e file temporanei
# ============================================================
.venv/
.venv-rknn/
venv/
env/
__pycache__/
*.py[cod]
*$py.class
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/

# ============================================================
# File locali e configurazioni private
# ============================================================
.env
.env.*
!.env.example
config.local.json
*.secret
*.key
*.pem

# ============================================================
# EPUB, libri e documenti
# Non pubblicare materiale protetto da copyright
# ============================================================
*.epub
*.mobi
*.azw
*.azw3
*.pdf

# ============================================================
# Output, rapporti e memoria delle revisioni
# Possono contenere testo estratto dai libri
# ============================================================
output/
reports/
runs/
review_memory/

# ============================================================
# Dataset e artefatti di addestramento
# ============================================================
data_balanced/
pairs.jsonl
pairs_balanced.jsonl
*_dataset.jsonl
*_reference_*.npz
diagnostic_pairs.jsonl

# ============================================================
# Modelli di training e ONNX
# Il modello RKNN pronto viene gestito separatamente più sotto
# ============================================================
models/
onnx/
*.onnx
*.safetensors
*.pt
*.pth
*.ckpt
*.bin

# ============================================================
# RKNN Toolkit scaricato
# ============================================================
rknn-toolkit2-*/
vendor/

# ============================================================
# Modelli RKNN
# Ignora tutto tranne il modello di produzione e il suo hash
# ============================================================
rknn/*
!rknn/bert-pair-v2-eager-fp16.rknn
!rknn/bert-pair-v2-eager-fp16.sha256
!rknn/README.md

# ============================================================
# Tokenizer necessario al modello RKNN
# Verrà copiato sotto assets/tokenizer/
# ============================================================
assets/*
!assets/tokenizer/
!assets/tokenizer/**

# ============================================================
# Log, benchmark generati e rapporti locali
# ============================================================
*.log
nohup.out

# ============================================================
# Archivi e pacchetti generati
# ============================================================
*.zip
*.tar
*.tar.gz
*.tgz
*.7z

# ============================================================
# Backup e file degli editor
# ============================================================
*.bak
*.bak-*
*.orig
*~
*.swp
*.swo
.DS_Store
.vscode/
.idea/

# ============================================================
# File temporanei
# ============================================================
tmp/
temp/
*.tmp

# ============================================================
# File hash e risultati generati fuori dalle cartelle ammesse
# ============================================================
*_applied.json
*_approved.json
*_comparison*.json
*_calibration.json
*_evaluation.json

# Script di sviluppo, training e validazione non necessari al runtime
benchmark_*.py
calibrate_*.py
check_dataset.py
check_local_tokenization.py
compare_*.py
evaluate_*.py
export_*.py
make_*.py
prepare_*.py
split_dataset.py
test_*.py
train_*.py
epub_npu_dry_run.py
epub_npu_dry_run_grouped.py
onnx-phase/
epub-npu-dry-run/
epub-review-ui/
epub-review-ui-v2/

# Copie obsolete della Web UI
epub-corrector-ui/app.py
epub-corrector-ui/static/index.html

# Runtime RKNN necessario all’installazione
wheels/*
!wheels/rknn_toolkit_lite2-2.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
runtime/*
!runtime/aarch64/
!runtime/aarch64/librknnrt.so
