Skip to content

v0.4.2 — dynamic model ingestion (model_path / model_code)

Latest

Choose a tag to compare

@NicholasEhsanRoy NicholasEhsanRoy released this 13 Jul 22:51
· 1 commit to main since this release

Added

  • Dynamic model ingestion for the identifiability and oed MCP tools (NUDGE-LIM-030). Both tools now accept model_path (an absolute path to a user model file) or model_code (inline Python source) in addition to a registry model name — precedence model_code > model_path > model — loading a user's OWN differentiable model via the new nudge.inference.model_loader. The file exposes nudge_identifiability / nudge_oed builders and needs no nudge import; the loaded model reproduces the equivalent registered model to machine precision (verified: ×259 OED, the NUDGE-LIM-029 rank-deficiency guard, and the NLME arrowhead all reproduce through model_path). This makes the with-vs-without-NUDGE demo symmetric — both arms analyze the same user model file. Ships standalone JAX model files scripts/demo_ab/ad_qsp_model.py + ad_qsp_nlme_model.py.
  • Security (NUDGE-LIM-030): dynamic ingestion executes arbitrary user Python in the server process — a local, trusted-input convenience, not for untrusted / multi-tenant use.

Changed

  • GitHub README PyPI-version badge pinned to the released version (static) — the live shields.io/pypi/v badge chronically lagged several releases behind through shields' own cache and GitHub's Camo image cache.

Full detail in CHANGELOG.md.