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

# Virtual envs
.venv/
venv/
env/
ENV/

# Testing
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
htmlcov/

# Mypy / Ruff
.mypy_cache/
.ruff_cache/
.dmypy.json
dmypy.json

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

# Vex output (scan results). Anchored to the repo root so these rules don't
# shadow the source package src/vex/reports/ or the committed baseline runs.
.vex/
/runs/*
!/runs/baseline/
!/runs/baseline-v02/
*.vex.json
*.vex.html
/reports/

# Secrets - NEVER commit
.env
.env.*
!.env.example
*.key
*.pem
secrets/

# Local-only disclosure email drafts (personal, not for publishing)
docs/disclosures/*-email-draft.md
