buildx
.DS_Store
BPTK_Py/.DS_Store
*.DS_Store
.eggs/
*.*pyc
*__pycache
*.csv
*.log
results/
venv
.idea/
.ipynb_checkpoints/
.vscode
dist/
*.egg-info
build/
_build
test*.ipynb
.env
.claude
tests/state
/state
.mypy_cache/
.pytest_cache/

# Rust engine build artifacts
target/
Cargo.lock
BPTK_Py/_rust_engine*.so
BPTK_Py/_rust_engine*.pyd

# Generated Python files from XMILE compiler
# XMILE models (*.stmx) are compiled to Python during tests
tests/test_models/*.py

# marimo session/autosave caches (the notebook .py itself IS tracked)
__marimo__/

# uv artefacts. uv creates both in the repo root when it resolves a sandbox —
# the marimo engine does this, and the Pyodide checks will too. Neither belongs
# to the project, which builds with maturin and uses venv/.
# (.venv also ships its own .gitignore containing "*", so it hides itself — but
# that is uv's convention, not our rule, so state it explicitly.)
.venv/
uv.lock

# Build output: `just build-all` and the CI wheel job write here
dist/
platform-dist/
smoke/

# node, used only by the Pyodide test runner
node_modules/
package-lock.json

# Coverage output
.coverage
htmlcov/
