Skip to content

Contributing

Issues and pull requests are welcome. Good places to start are issues labelled good first issue and help wanted, and adding a model.

Set up

git clone https://github.com/VectorInstitute/tabctx && cd tabctx
uv sync --dev --extra serve --extra mcp
uv run pre-commit install

Test

No GPU is needed: the unit tests run the whole engine and HTTP service against a fake model.

uv run pytest tests/unit -n auto    # in parallel; about 10 s
uv run pytest tests/integration     # boots a local Ray Serve cluster

Tests should be fast, deterministic and independent: no fixed ports, no shared state, and threads synchronized with events rather than sleeps.

Docs

uv sync --group docs
uv run mkdocs serve                 # http://127.0.0.1:8000

Pull requests

  • One change per pull request, with tests for the behaviour it adds or fixes and a line in CHANGELOG.md under Unreleased.
  • uv run pre-commit run --all-files passes (ruff lint and format).