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

# Keep application sources visible even if a global gitignore ignores lib/.
!/lib/
!/lib/**

# Virtualenvs
.venv/
venv/
env/
ENV/

# Tooling caches
.pytest_cache/
.ruff_cache/
.mypy_cache/
.coverage
.coverage.*
htmlcov/
coverage.xml

# 凭证载体一律不入库（ADR-021）。真实值只存在于被忽略的文件中，
# 占位样例走 .env.sample / *.example（check-secrets.sh 的 DENY_NAME_OK）。
.env
.env.*
!.env.sample
!.env.example
credentials*
*.pem
*.key

# 本地产物与临时文件
*.log
*.swp
.DS_Store
tmp/
.idea/
.vscode/
