Skip to content

v0.3.0 — pure plugin architecture

Choose a tag to compare

@jiweiqi jiweiqi released this 28 Apr 15:13
· 42 commits to main since this release
45ce081

sim-cli-core 0.3.0 — pure plugin architecture

This release completes the multi-month migration of solver drivers out of sim-cli's source tree. The built-in driver registry is now empty — every solver driver ships as its own plugin package, discovered via [project.entry-points."sim.drivers"].

Breaking change

After upgrading, sim-cli-core ships zero built-in drivers. To use any solver, install its plugin:

sim plugin install <name>     # e.g. ltspice, coolprop
sim plugin list               # see what's available + installed

sim plugin install resolves short names against the curated plugin index at https://github.com/svd-ai-lab/sim-plugin-index. Private plugins can be installed via git+https://... URLs.

Why

  • Solver-side libraries (vendor SDKs, file-format parsers) move on their own cadence; bundling them in sim-cli was forcing every release to wait on them.
  • Each plugin pins its own solver-side deps, eliminating cross-repo release skew.
  • Closed-source / commercial-license drivers can ship privately without bloating the public sim-cli repo.

Migration for existing users

If you previously relied on a built-in driver, install its plugin once:

sim plugin install ltspice    # (or whichever solver you use)

For developers running an editable sim-cli-core install: be aware that sim plugin install <name> --upgrade can silently replace the editable install via its transitive sim-cli-core git-URL pin. Tracked in #80; for now, follow the --upgrade with pip install -e . --force-reinstall --no-deps to restore the editable.

Highlights since v0.2.4

  • #78 — empty _BUILTIN_REGISTRY; pure plugin architecture
  • #77 — drop stale [pybamm] optional-dependency extra
  • #79 — document private-plugin install path in README