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

# Distribution / packaging
build/
dist/
*.egg-info/
*.egg
wheels/

# Virtual environments
.venv/
venv/
env/

# uv / pip caches
.uv-cache/
.cache/

# Linting / formatting / typing caches
.ruff_cache/
.mypy_cache/
.pytest_cache/

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

# Environment files (keep .env.example tracked)
.env
.env.*
!.env.example

# OS cruft
.DS_Store
Thumbs.db

# Editors / IDEs
.idea/
.vscode/
*.swp

# Per-contributor agent instruction files (personal tooling config, not part of the toolkit)
CLAUDE.md
AGENTS.md

# Jupyter
.ipynb_checkpoints/

# Logs
*.log

# Local results / scratch data / model bundles.
# /data/ is where the documented workflow prepares datasets
# (psdn-sonar discover --output data/<lang>); root-anchored so the tracked
# psdn_sonar/data/ package is unaffected (issue #115).
results/
/data/
*.tar.gz
*.tar
