v0.3.3
- MCP server: unified the advertised tool surface to semantic verbs:
convert,save,summary,parse,normalize,matrix, anddisplay.
The tools route transmission cases, distribution cases, PyPSA CSV folders, and
gridfm datasets by format. Distributionparsereturns canonicalbmopf-json
as its serial transport; transmissionparsereturnspowerio-json.
summarynow has one canonical JSON schema across MCP and the CLI's new
powerio summarycommand. Gridfm is a format behindparse/save, not its
own MCP tool. PowerWorld.pwddisplay files parse throughdisplay, leaving
room for a future open display format without renaming the tool. Older case,
matrix, and PyPSA helper names stay as direct Python compatibility callables
for one release, but they are no longer advertised as MCP tools. - Python API: restored the undocumented
powerio.Case = Networkalias for one
release, but left it out of__all__and docs; remove it in 0.4.0. The
experimental distribution surface now usespowerio.dist.DistNetworkas
the primary name to match the nativeDistNetworkhub type, while the
exportedpowerio.dist.DistCase = DistNetworkalias stays for one release.
powerio.distis gated on the draft BMOPF schema (PIO_DIST_ABI_VERSION= 1)
and not yet under the stability guarantee. - No C ABI change:
PIO_ABI_VERSIONstays 4 andPIO_DIST_ABI_VERSIONstays 1,
and the matrix builders are unchanged. The native extension's internal pyclass
names changed (PyCase → PyNetwork,_DistCase → _DistNetwork) sorepr()
now renders the publicNetwork(...)/DistNetwork(...)form directly; a
rebuilt wheel is required.
What's Changed
Full Changelog: v0.3.2...v0.3.3