ProgridPy¶
Python library for downloading, processing, and analyzing electricity market data from US Independent System Operators (ISOs).
ProgridPy provides a unified interface for acquiring raw market data from MISO, SPP, and ERCOT, processing it into standardized Hive-partitioned Parquet datasets, computing financial trading metrics, and rendering interactive dashboards.
Data Pipeline¶
Raw ISO Data → Download → Process → Hive-Partitioned Parquet (S3/local) → Metrics Engine → Dashboard
Capabilities¶
| Capability | Description |
|---|---|
| ISO Clients | Download raw data from MISO, SPP, and ERCOT via their public APIs |
| Registry-Driven Processing | Convert raw CSVs/XLS into standardized, Hive-partitioned Parquet files |
| S3 Integration | Upload/download raw and processed data to AWS S3 with concurrent transfers |
| Metrics Engine | Compute 50+ financial metrics: risk, return, ratios, drawdowns, streaks |
| Dashboard | Streamlit-based interactive analytics with charts, heatmaps, and distributions |
| Enverus Forecasts | Wind and solar forecast data via the Enverus NRF API |
Quick Example¶
from progridpy.iso import MISO, MISORawDataType
miso = MISO()
miso.download_raw_data(
start_date="2026-01-01",
end_date="2026-01-31",
data_types=[MISORawDataType.DAY_AHEAD_EXANTE_PRICE],
)
Supported ISOs¶
| ISO | Region | Timezone Model |
|---|---|---|
| MISO | Midcontinent US | Fixed EST (24 HE always) |
| SPP | Southwest US | UTC canonical, local derived |
| ERCOT | Texas | Local with DSTFlag disambiguation |
Navigation¶
- Getting Started — Installation, configuration, project structure
- User Guide — Downloading, processing, metrics, dashboards
- API Reference — Auto-generated from source code
- Wiki — Electricity market fundamentals, data formats, trading SOPs
- Contributing — Development setup, testing, code style