Quickstart

Bootstrap a repo-local virtual environment:

scripts/bootstrap_dev_env.sh

The script creates .venv/ under the repository root and installs Modelwright with the test, quality, oracle, and documentation dependencies through the dev extra.

To also materialize public FABLE benchmark workbooks into tmp/private-workbooks/:

scripts/bootstrap_dev_env.sh --benchmarks

Activate the environment manually when useful:

source .venv/bin/activate

Run the standard local checks:

.venv/bin/python -m ruff check .
.venv/bin/python -m pytest
.venv/bin/sphinx-build -b html docs _build/html -W

CLI Shape

The public CLI uses workflow groups:

modelwright workbook extract path/to/workbook.xlsx > tmp/extraction.json
modelwright workbook graph path/to/workbook.xlsx > tmp/dependency-graph.json
modelwright conversion plan path/to/workbook.xlsx > tmp/conversion-plan.json
modelwright model infer-contract path/to/workbook.xlsx \
  --module-name generated_model \
  --output-ref "Summary!B2" \
  --contract tmp/contract.json \
  --expressions tmp/expressions.json \
  --constants tmp/constants.json
modelwright model generate \
  --contract tmp/contract.json \
  --expressions tmp/expressions.json \
  --constants tmp/constants.json \
  --out tmp/generated_model.py
modelwright validation report --scenario tmp/scenario.json --generated-values tmp/generated-values.json --oracle-values tmp/oracle-values.json

See Generated Model Artifacts for the full workflow that creates contract.json, expressions.json, and constants.json before Python generation.