# byte-compiled / build
__pycache__/
*.py[cod]
build/
dist/
*.egg-info/
.eggs/

# environments (kept outside the tree, but guard anyway)
.venv/
venv/

# pixi working directory: environments, task cache, and config.toml.
# All of it is ignored, config.toml included - it holds a machine-specific
# absolute path (`detached-environments`), so committing it would impose one
# developer's layout on every clone and on CI. See docs/contributing.md for
# the one-line local setup. pixi.lock itself IS tracked.
.pixi/

# test / coverage
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
coverage.xml
coverage-reports/
htmlcov/
junit.xml

# docs build
site/

# notebooks
.ipynb_checkpoints/
.jupyter_cache/

# project memory - never commit (see repo CLAUDE.md policy)
CLAUDE.md

# IDE
.idea/
.vscode/
