__pycache__/
*.py[cod]
.venv/
venv/
build/
dist/
*.egg-info/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/
.idea/
.vscode/

# Built by scripts/build_pages.py and `uv build`
site/
dist/

# Fetched by scripts/vendor_pyodide.py, verified against scripts/pyodide.lock
.pyodide/

# Interpreters fetched by scripts/build_vsix.py, verified against
# scripts/runtime.lock. Nine of them is 238 MB, so the cache is load-bearing
# rather than a convenience — but it is still a download, not a source.
.cache/

# The VS Code extension's build output. `bundled/` is assembled by
# scripts/build_vsix.py from wheels built here plus their pure-Python
# dependencies, so it is reproducible rather than tracked.
editors/vscode/node_modules/
editors/vscode/out/
editors/vscode/bundled/
editors/vscode/*.vsix
editors/vscode/.vscode-test/

# Atomic-write scratch copies. An editor writing `foo.py` may leave a
# `foo.py.tmp.<pid>.<hash>` beside it, and one of these was committed once —
# invisible to ruff, mypy and pytest, because none of them looks at a file that
# does not end in `.py`.
*.py.tmp.*
