__pycache__/
*.py[cod]
*.egg-info/
build/
dist/
# …but the TS package's build output IS committed (plus its lua/ + sql/
# copies), so a git/tarball install works without running build scripts —
# pnpm's tarball shortcut skips `prepare`, and consumers found that out the
# hard way. Temporary until the package ships on npm; CI fails if the
# committed dist drifts from the sources.
!ts/dist/
!ts/lua/
!ts/sql/

.venv/
venv/

.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
coverage.xml
htmlcov/

.DS_Store
.idea/
.vscode/

ts/node_modules/
ts/dist/test/
