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

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib60/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
pytestdebug.log

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
#   According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
#   However, in case of collaboration, if have platform-specific dependencies or dependencies
#   having no cross-platform support, pipenv may install different versions of packages depending
#   on the platform.
# Pipfile.lock

# poetry
# poetry.lock

# pdm
# pdm.lock
# .pdm.toml

# PEP 582; __pypackages__ directory
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv/
env/
venv/
ENV/
env.bak/
venv.bak/
.set_env/
.transport_env/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# PyDev project settings
.pydevproject

# PyCharm
.idea/
*.iws
*.iml

# VS Code
.vscode/

# Sublimetext
*.sublime-project
*.sublime-workspace

# OS-generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Logs and databases
*.log
*.sql
*.sqlite
*.sqlite3 # If you decide not to track your specific db.sqlite3

# Temporary files
*.tmp
*~
*.swp
*.swo

# PyTorch / Model files (optional, depends on your strategy)
# If you don't want to store large model checkpoints in Git
*.pth
*.pt
*.onnx

# Data files
*.npz
*.png
*.json
*.arrow
*.mat
*.0
*.npy
*.sh
*.run

# Your specific log directory
logs/

# Specific to your project if you generate other files you don't want to track
# e.g., if you had data files you didn't want to commit:
# data/raw_data/
# data/processed_data/

# Additional ML/Scientific computing ignores
*.h5
*.hdf5
*.pkl
*.pickle
*.joblib

# Jupyter Notebook outputs
*_output/
outputs/

# HuggingFace datasets cache
.cache/
**/cache/

# Weights & Biases
wandb/

# MLflow
mlruns/

# DVC
.dvc/
*.dvc

# Large data files (if you want to track them with Git LFS instead)
# *.zip
# *.tar.gz
# *.csv (uncomment if you have large CSV files)

# Generated plots and results
plots/
results/
figures/
