# Python-generated files
__pycache__/
*.py[oc]
build/
dist/
wheels/
*.egg-info

# Virtual environments
.venv

# Environment files (not .env.example)
.env
.env.local
.env.production

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

# OS
.DS_Store
Thumbs.db

# Test / coverage
.pytest_cache/
htmlcov/
.coverage
.coverage.*
coverage.xml

# Generated outputs
reports/
results/

# Molecular data caches
modules/dockbot/cache/
*.pdb
*.pdbqt
*.sdf
*.mol2

# Jupyter
.ipynb_checkpoints/

# Model weights (too large for git)
*.pt
*.pth
*.h5
*.pkl
*.ckpt

# Shipped model asset — must be committed and packaged (see pyproject artifacts)
!src/neorx/genmol/assets/*.pt

# ChEMBL SQLite database (28 GB — too large for git)
chembl_*.db

# Local backups and trained-model checkpoints -- large and machine-specific,
# never meant to be committed (a `git add -A` would otherwise pull in tens
# of MB of these).
.backup-scripts/
checkpoints/

# Experiment run records are deliverables, not scratch -- they are the
# evidence behind every reported number, IF they are cited. See
# docs/run-manifest.toml. Default to NOT tracking a run directory (so a
# routine `git add -A` cannot sweep in an ad-hoc or smoke run); a record
# that actually backs a claim is added deliberately with
# `git add -f runs/<run-id>`.
!runs/
runs/*
!runs/.gitkeep
