Headless core of the SuMo (Surrogate Model) meta-modeling tools: build, evaluate, cross-validate, and interrogate surrogate models — UQ (Sobol indices, uncertainty propagation, correlation), sampling (LHS / grid / manual-UQ), and MOGA optimization — as a standalone, importable Python package.
Aggregates the computational core of the mmux/vite flaskapi Dakota modules plus recycled utilities from earlier MetaModeling trials. No Flask, no oSPARC, no UI: pure computation on top of the Dakota wheel.
- Runtime engine = the PyPI wheel
itis-dakota==1.5.9(Dakota 6.20), pinned for exact parity with the mmux/vite flaskapi engine, on Python 3.11. - The in-repo
itis-dakota/checkout is the IT'IS Dakota fork, kept for reference only — this package consumes the pre-built wheels published to PyPI and does not build the fork. - Engine calls happen through
dakota.environment.study(input_string=...)executed inside aProcessPoolExecutor; the package never shells out to adakotabinary. - Engine caveats, the wheel-build process, and the 6.23+
Interface::interface_cacheregression (why we stay on 1.5.9) are documented inDAKOTA-STUBS.md, including the T16mo upgrade ladder.
Every module in this package was either ported from an earlier mmux repo or
deliberately written new. The port source is mmux_vite's flaskapi (branch
jgo/sobol-indices @ 22685f7); utilities were recycled from
itis_dakota_projects / itis_dakota_projects_clean; the lineage reaches back to
mmux_python (mmux_gui). The in-repo itis-dakota/ fork checkout is reference-only.
Full per-repo / per-branch / per-commit inventory — what was ported, what was
deliberately not ported, and what remains as porting candidates — is in
PORTING.md.
uv sync # Python 3.11, resolves itis-dakota==1.5.9
uv run itis-sumo validate # engine probe (expect: Version 1.5.9)
uv run pytest # 123 tests, standalone
uv run python examples/headless_smoke.py # surrogate -> CV -> Sobolsrc/itis_sumo/
core/ Dakota execution primitives (DakotaObject, wiofiles)
config/ NIDR string composers (surrogate/MOGA/UQ confs)
data/ data processing (healing, bounds, correlation, dominance)
sampling/ LHS / manual-UQ / grid sampling
evaluate/ end-to-end runs (sumo eval, CV+metrics, MOGA, Sobol, UQ)
preprocess/ DataPreprocessor + function-jobs pydantic models
utils/ engine validation + NIDR config guard
- Published docs: https://itisfoundation.github.io/itis-sumo/
SPEC.md— living spec (goals, constraints, invariants, research, tasks)PORTING.md— port provenance per source repo/branch/commitDAKOTA-STUBS.md— engine stubs, wheel build, regressions