# Python
__pycache__/
*.pyc
*.egg-info/
dist/
build/

# Virtualenvs
.venv/
venv/

# Test / coverage artifacts
.pytest_cache/
# Glob covers .coverage, .coverage.host.42, and the space-suffixed
# ".coverage 2" macOS sometimes leaves behind from parallel test runs.
.coverage*
htmlcov/
# Hypothesis writes machine-local fuzz-corpora here under
# .hypothesis/examples and .hypothesis/constants. Non-deterministic
# across machines; would bloat the sdist and harm reproducibility if
# it leaked into a build. The hatch sdist-exclude in pyproject.toml is
# the second line of defence.
.hypothesis/

# Type-checker / linter caches.
.mypy_cache/
.ruff_cache/

# Editor / IDE
.idea/
.vscode/
*.swp

# macOS Finder droppings
.DS_Store

# iCloud Drive sometimes lands "Filename 2.ext" duplicates next to a
# canonical file when a sync races a local edit. Pattern catches every
# extension and depth so a stale pre-edit copy can't accidentally get
# committed (the 2.7.x cycle picked up `ingest 2.py`, `CHANGELOG 2.md`,
# `plugin 2.json`, and `test_ingest 2.py` before this rule landed).
* [0-9].*
* [0-9]

# Local Claude Code settings (keep settings.json shared, ignore the per-machine one)
.claude/settings.local.json
