Grid Data Models (GDM)
GDM is a python package containing data models for power system assets and datasets. This package is actively being developed at National Renewable Energy Laboratory (NREL).
Installation
You can install the latest version of grid-data-models from PyPi.
pip install grid-data-models
Why Grid Data Models?
In an effort to reduce code duplication and provide client packages a standard interface to interact with power system data, a group of research engineers at NREL is working on developing standard data models. Features:
- Built-in validation layer: Use of pydantic allows us to validate model fields.
- Time series data management: GDM uses infrasys package which enables efficient time series data management by sharing arrays across components and offloading system memory. For example, we can attach time series power consumption data to a load profile.
- Built-in unit conversion: GDM leverages pint for unit conversion for power system quantities. For example, power, voltage, time, etc.
- JSON serialization/deserialization: GDM uses infrasys to serialize and deserialize distribution system components to/from JSON.
- Track System Changes: Supports tracking changes within a distribution model (both temporal and scenario-based static updates), enabling powerful scenario management capabilities.
- Graph-Based Analysis: Exposes a connectivity graph using NetworkX, allowing advanced graph-based algorithms and visualizations.
- Interoperability: Easily integrates with existing tools.
- Model reduction: Built-in support for multiple model reduction algorithms.
How to get started?
To get started, you can clone and pip install this library from here.
Model Context Protocol (MCP) Integration
GDM includes an MCP server that enables AI assistants to interact with power system models through natural language. The MCP integration provides:
- System inspection and analysis - Query components, analyze topology, validate connectivity
- Validation and diagnostics - Diagnose errors, suggest fixes, and automatically apply corrections
- System operations - Merge, split, and extract subsystems
- Documentation and API access - Search documentation and get component API references
To install with MCP support:
pip install -e ".[mcp]"
To run the MCP server:
gdm-mcp-server
For more details, see the MCP documentation.
Contributors
- Aadil Latif
- Daniel Thom
- Jeremy Keen
- Kapil Duwadi
- Tarek Elgindy
- Pedro Andres Sanchez Perez
Metadata
Release files for grid-data-models 2.3.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| grid_data_models-2.3.8.tar.gz | 92.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| grid_data_models-2.3.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 242.3 kB
Release files / grid_data_models-2.3.8.tar.gz
| Download URL | grid_data_models-2.3.8.tar.gz |
|---|---|
| Size | 92.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
067a323efbe4ae4479e617c087bd1c390ba9475db24eddecd008bad9d8142a1a
|
|
BLAKE2b-256 checksum How to use checksums |
a66cca3f8a20b8fe41085b70e74ab95d017f0e9c08328efd49f6f68bd70ce26a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logRelease files / grid_data_models-2.3.8-py3-none-any.whl
| Download URL | grid_data_models-2.3.8-py3-none-any.whl |
|---|---|
| Size | 150.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ead1a440a66170bf805be8e520dfcd7d0b01dbf39104de43252920643f490132
|
|
BLAKE2b-256 checksum How to use checksums |
9fe6110fd02fde9fdff20e7c157cf8112b25abdcfbc9ff3c38c5db44cefc9767
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency log