# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# Virtual Environment
.venv/
venv/
ENV/
env/
.virtualenv/

# UV cache
.uv/
# Keep uv.lock for reproducible builds
# uv.lock

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

# Jupyter Notebook
.ipynb_checkpoints/
*.ipynb_checkpoints/

# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/
.nox/
coverage.xml
*.cover
.hypothesis/

# Temporary files
/tmp/
*.tmp
*.log

# Data files (exclude from version control)
data/
*.csv
*.parquet
*.h5
*.hdf5
*.db

# Reports
*.html
!sodas_pipeline_sdk/web/static/*.html
reports/
out/
test_outputs/

# Config (keep template, ignore local overrides)
config/
.env
.env.local

# MacOS
.DS_Store
.AppleDouble
.LSOverride

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# Legacy workflow JSON files with old credentials
.legacy/

.claude
.*cache
.*mcp
