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

# C extensions
*.so

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

# PyInstaller
*.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/
cover/
coverage*.json
coverage*.xml

# release.yml renders this at workflow-time and drops it under docs/ so
# mkdocs gh-deploy carries it to the gh-pages root.
docs/coverage.json

# Translations
*.mo
*.pot

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

# Sphinx documentation
docs/_build/

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

# Virtualenv-style scripts dirs (we re-include the repo-root scripts/ directory).
[Ss]cripts
!/scripts/
pyvenv.cfg
.Python
[Bb]in
[Ii]nclude
[Ll]ib
[Ll]ib64
[Ll]ocal

# uv
.uv-cache/

# mkdocs
/site

# Type checkers
.mypy_cache/
.dmypy.json
dmypy.json
.pyre/
.pytype/
.ruff_cache/
.ty_cache/

# IDE
.vscode/
.idea/
*.iml
*.code-workspace
.history/

# OS
.DS_Store
Thumbs.db

# Release metadata (rendered by scripts/release-publish.sh during CI)
.release-metadata/

# AI-specific items
.ai/
.claude/
