Skip to content

feat(powerio): expose pandapower-json, PyPSA CSV, and gridfm Parquet formats#41

Merged
qian-harvard merged 1 commit into
mainfrom
feat/powerio-folder-formats
Jun 14, 2026
Merged

feat(powerio): expose pandapower-json, PyPSA CSV, and gridfm Parquet formats#41
qian-harvard merged 1 commit into
mainfrom
feat/powerio-folder-formats

Conversation

@qian-harvard

Copy link
Copy Markdown
Contributor

Summary

powerio 0.1.1 (already our pinned floor) supports more formats than the MCP wrapper advertised. This wires them up.

  • pandapower JSON (pandapower-json, alias pp) — a text format. It already converted through the existing convert_case/save_case pass-through; only the advertised format lists were stale. Now documented in convert_case, save_case, parse_case, and the module header.
  • PyPSA static CSV folders — folder format, no single-file text form. New tools read_pypsa_csv_folder / write_pypsa_csv_folder bridge it to/from the JSON transport.
  • gridfm-datakit Parquet datasets — binary/scenario format. New tools read_gridfm / write_gridfm.

Formats still under development upstream (surge .surge.json, PowerModelsDistribution JSON, IEEE BMOPF JSON) are not in 0.1.1 and are intentionally not added here yet.

Tests

Added round-trip and error-mapping tests for all three. Full tests/test_powerio_server.py suite: 39 passed, 3 skipped.

Note

powerio/powerio_mcp.py is a synced copy of the canonical powerio.mcp.server upstream (eigenergy/powerio). Per the file header, these changes should also be landed upstream first/in parallel.

🤖 Generated with Claude Code

…formats

powerio 0.1.1 adds pandapower JSON (a text format, alias `pp`) plus the PyPSA
static CSV folder and gridfm-datakit Parquet formats, which are folder/binary
and don't fit the single-file convert_case/save_case shape.

- Document pandapower-json/`pp` in convert_case, save_case, parse_case, and the
  module header — it already converted through the text pass-through, only the
  advertised format lists were stale.
- Add read_pypsa_csv_folder / write_pypsa_csv_folder for the PyPSA CSV folder
  format, and read_gridfm / write_gridfm for the gridfm Parquet datasets; both
  bridge to/from the JSON transport like the existing tools.
- Cover all three with round-trip and error-mapping tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@qian-harvard qian-harvard merged commit 0f135af into main Jun 14, 2026
2 checks passed
@qian-harvard qian-harvard deleted the feat/powerio-folder-formats branch June 14, 2026 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant