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.