Interconnection Queues#
All ISOs support retrieving interconnection queues with iso.get_interconnection_queue
methods.
Each of the ISOs report slightly differently fields for their queues, so a best effort was made to standardize column names. When a column couldn’t be standardized, it is appended to end of the returned dataframe.
Below you can see preview of each of ISOs interconnection queues
NYISO#
import gridstatus
nyiso = gridstatus.NYISO()
nyiso.get_interconnection_queue()
/home/docs/checkouts/readthedocs.org/user_builds/isodata/checkouts/latest/gridstatus/nyiso.py:472: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
queue = pd.concat(dfs)
/home/docs/checkouts/readthedocs.org/user_builds/isodata/checkouts/latest/gridstatus/nyiso.py:517: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
.replace(" ", 0)
/home/docs/checkouts/readthedocs.org/user_builds/isodata/checkouts/latest/gridstatus/nyiso.py:524: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.
queue["Proposed COD"] = pd.to_datetime(
/home/docs/checkouts/readthedocs.org/user_builds/isodata/checkouts/latest/gridstatus/nyiso.py:528: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.
queue["Proposed In-Service Date"] = pd.to_datetime(
/home/docs/checkouts/readthedocs.org/user_builds/isodata/checkouts/latest/gridstatus/nyiso.py:532: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.
queue["Proposed Initial-Sync Date"] = pd.to_datetime(
Queue ID | Project Name | Interconnecting Entity | County | State | Interconnection Location | Transmission Owner | Generation Type | Capacity (MW) | Summer Capacity (MW) | ... | Withdrawn Date | Withdrawal Comment | Actual Completion Date | Proposed In-Service Date | Proposed Initial-Sync Date | Last Updated Date | Z | S | Availability of Studies | SGIA Tender Date | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0276 | Homer Solar Energy Center | Homer Solar Energy Center LLC | Cortland | NY | Cortland - Fenner 115kV | NM-NG | Solar | 90.0 | 90.0 | ... | NaN | NaN | NaT | 2026-03-01 | 2026-03-01 | 2023-07-31 | C | 11 | FES, SRIS, FS | 2021-02-08 |
1 | 0396A | Wood Street Transformer | New York State Electric & Gas | Putnam | NY | Wood St. 345/115kV | NYSEG | AC Transmission | 0.0 | NaN | ... | NaN | NaN | NaT | 2023-12-01 | NaT | 2021-04-30 | G | 12 | SIS | NaT |
2 | 0429 | North Rockland Station | Orange & Rockland | Steuben | NY | Line Y88 345kV | ConEd | AC Transmission | 0.0 | NaN | ... | NaN | NaN | NaT | 2024-06-01 | NaT | 2022-03-31 | G | 12 | SIS | NaT |
3 | 0430 | Cedar Rapids Transmission | H.Q. Energy Services U.S. Inc. | St. Lawrence | NY | Dennison - Alcoa 115kV | NM-NG | AC Transmission | 0.0 | NaN | ... | NaN | NaN | NaT | 2021-10-01 | NaT | 2019-12-31 | D | 12 | SIS, FS | 2018-10-02 |
4 | 0495 | Mohawk Solar | Mohawk Solar LLC | Montgomery | NY | St. Johnsville - Marshville 115kV | NM-NG | Solar | 90.5 | 90.5 | ... | NaN | NaN | NaT | 2024-09-01 | 2024-09-01 | 2022-09-30 | F | 11 | FES, SRIS, FS | 2021-02-08 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1689 | 0768 | Janis Solar | Janis Solar, LLC | Cortland | NY | Willet 34.5kV | NYSEG | Solar | 20.0 | 20.0 | ... | NaN | NaN | 2022-11-30 | NaT | NaT | 2022-11-30 | C | 14 | FES, SIS, FS | NaT |
1690 | 0769 | North County Energy Storage | NY Power Authority | Franklin | NY | Willis 115kV | NYPA | Energy Storage | 20.0 | 20.0 | ... | NaN | NaN | 2023-09-30 | NaT | NaT | 2023-09-30 | D | 14 | SIS | NaT |
1691 | 0775 | Puckett Solar | Puckett Solar, LLC | Chenango | NY | Chenango Forks 34.5kV | NYSEG | Solar | 20.0 | 20.0 | ... | NaN | NaN | 2022-09-30 | NaT | NaT | 2022-09-30 | C | 14 | SIS, FS | NaT |
1692 | 0781 | Marcy South SSR Detection | NY Power Authority | Delaware | NY | Fraser - Annex 345 kV Substation | NYPA | AC Transmission | 0.0 | NaN | ... | NaN | NaN | 2019-09-30 | NaT | NaT | 2019-09-30 | E | 14 | SIS, FS | NaT |
1693 | 0849 | Somerset Load | Somerset Operating Company, LLC | Niagara | NY | Kintigh 345kV | NYSEG | Load | 250.0 | 250.0 | ... | NaN | NaN | 2022-07-31 | NaT | NaT | 2022-07-31 | A | 14 | SIS, FS | NaT |
1694 rows × 24 columns
CAISO#
caiso = gridstatus.CAISO()
caiso.get_interconnection_queue()
Queue ID | Project Name | Interconnecting Entity | County | State | Interconnection Location | Transmission Owner | Generation Type | Capacity (MW) | Summer Capacity (MW) | ... | Interconnection Request Receive Date | Interconnection Agreement Status | Study Process | Proposed On-line Date (as filed with IR) | System Impact Study or Phase I Cluster Study | Facilities Study (FAS) or Phase II Cluster Study | Optional Study (OS) | Full Capacity, Partial or Energy Only (FC/P/EO) | Off-Peak Deliverability and Economic Only | Feasibility Study or Supplemental Review | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 22 | MONTEZUMA (HIGH WINDS III) | None | SOLANO | CA | Birds Landing 230 kV | PGAE | Wind Turbine + Storage | 38.00 | None | ... | 2003-11-18 00:00:00 | Executed | AMEND 39 | 2005-06-30 07:00:00 | Complete | Complete | NaN | Partial Capacity | Off-Peak Deliverability | NaN |
1 | 32 | TULE WIND | None | SAN DIEGO | CA | Boulevard East Substation 138 kV | SDGE | Wind Turbine | 193.80 | None | ... | 2004-05-12 00:00:00 | Executed | Serial LGIP | 2007-09-01 07:00:00 | Complete | Complete | NaN | Partial Capacity | Off-Peak Deliverability | Waived |
2 | 61 | FRESNO COGENERATION EXPANSION PROJECT | None | FRESNO | CA | Helm-Kerman 70 kV Line | PGAE | Steam Turbine + Storage | 73.27 | None | ... | 2005-03-28 00:00:00 | Executed | AMEND 39 | 2006-05-31 07:00:00 | Complete | Complete | NaN | NaN | Off-Peak Deliverability | NaN |
3 | 72 | LAKE ELSINORE ADVANCED PUMPED STORAGE PROJECT | None | RIVERSIDE | CA | Proposed Lee Lake Substation 500 kV | SDGE | Storage | 500.00 | None | ... | 2005-04-26 00:00:00 | Executed | Serial LGIP | 2008-12-31 08:00:00 | Complete | Re-Study | NaN | Full Capacity | NaN | Waived |
4 | 81 | BOTTLE ROCK POWER | None | LAKE | CA | Geysers #17-Fulton 230 kV Line | PGAE | Steam Turbine + Storage | 52.01 | None | ... | 2005-09-13 00:00:00 | Executed | Serial LGIP | 2006-09-01 07:00:00 | Complete | Complete | NaN | Energy Only | Off-Peak Deliverability | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2277 | 2191 | FREIGHT ENERGY STORAGE | None | SAN DIEGO | CA | Border Substation 69 kV | SDGE | Storage | 50.00 | None | ... | 2021-04-15 00:00:00 | NaN | C14 | 2025-06-01 07:00:00 | NaN | NaN | NaN | Full Capacity | NaN | NaN |
2278 | 2193 | VENTANA ENERGY STORAGE | None | SAN BERNARDINO | CA | Lugo | SCE | Storage | 250.00 | None | ... | 2021-11-19 00:00:00 | NaN | ISP | 2024-06-01 07:00:00 | NaN | NaN | NaN | Full Capacity | Off-Peak Deliverability | NaN |
2279 | 2194 | PRONGHORN ENERGY STORAGE | None | LOS ANGELES | CA | Antelope | SCE | Storage | 120.00 | None | ... | 2022-05-07 00:00:00 | NaN | ISP | 2026-06-01 07:00:00 | NaN | NaN | NaN | Full Capacity | Off-Peak Deliverability | NaN |
2280 | 2197 | VENTANA RELIABILITY PROJECT | None | SAN BERNARDINO | CA | Lugo | SCE | Storage | 250.00 | None | ... | 2022-09-29 00:00:00 | NaN | ISP | 2024-06-01 07:00:00 | NaN | NaN | NaN | Full Capacity | Off-Peak Deliverability | NaN |
2281 | 2198 | VISTA RELIABILITY | None | LOS ANGELES | CA | Vincent | SCE | Storage | 250.00 | None | ... | 2022-10-14 00:00:00 | NaN | ISP | 2024-06-01 07:00:00 | NaN | NaN | NaN | Full Capacity | Off-Peak Deliverability | NaN |
2282 rows × 36 columns
SPP#
spp = gridstatus.SPP()
spp.get_interconnection_queue()
Queue ID | Project Name | Interconnecting Entity | County | State | Interconnection Location | Transmission Owner | Generation Type | Capacity (MW) | Summer Capacity (MW) | ... | Withdrawal Comment | Actual Completion Date | In-Service Date | Commercial Operation Date | Cessation Date | Current Cluster | Cluster Group | Replacement Generator Commercial Op Date | Service Type | Status (Original) | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | GEN-2024-SR9 | None | None | Beaver County | OK | Beaver County Substation 345 kV | OG&E | Wind | 150.0 | 150.0 | ... | None | None | NaN | 1/1/2027 | NaN | Surplus | 04 SOUTHEAST | NaN | ER | NaN |
1 | GEN-2024-SR8 | None | None | Greely County | NE | Tap New Spalding - North Loup 115 kV Line | NPPD | Battery/Storage | 70.0 | 70.0 | ... | None | None | NaN | 12/31/2026 | NaN | Surplus | 02 NEBRASKA | NaN | ER | NaN |
2 | GEN-2024-SR7 | None | None | Beaver County | OK | Beaver County Substation 345 kV | OG&E | Wind | 200.0 | 200.0 | ... | None | None | NaN | 6/1/2027 | NaN | Surplus | 04 SOUTHEAST | NaN | ER | NaN |
3 | GEN-2024-SR6 | None | None | Johnston County | OK | Interconnecting at Hugo - Sunnyside 345 kV tra... | OG&E | Solar | 200.0 | 200.0 | ... | None | None | NaN | NaN | NaN | Surplus | 04 SOUTHEAST | NaN | ER | NaN |
4 | GEN-2024-SR5 | None | None | Drumright | OK | 138 kV Greenwood Station | OG&E | Battery/Storage | 176.9 | 176.9 | ... | None | None | NaN | 6/1/2025 | NaN | Surplus | 04 SOUTHEAST | NaN | ER | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2346 | GEN-2000-005 | None | None | Lake Thunderbird | OK | NaN | OGE | Thermal - Gas | 825.0 | 0.0 | ... | None | None | NaN | NaN | NaN | NaN | NaN | NaN | ER | WITHDRAWN |
2347 | GEN-2000-004 | None | None | Valliant | OK | NaN | AEP | Thermal - Gas | 800.0 | 0.0 | ... | None | None | NaN | NaN | NaN | NaN | NaN | NaN | ER | WITHDRAWN |
2348 | GEN-2000-003 | None | None | Moore County | TX | NaN | SPS | Thermal - Gas | 280.0 | 0.0 | ... | None | None | NaN | NaN | NaN | NaN | NaN | NaN | ER | WITHDRAWN |
2349 | GEN-2000-001 | None | None | Newport | NaN | NaN | NaN | Thermal - Gas | 100.0 | 0.0 | ... | None | None | NaN | NaN | NaN | NaN | NaN | NaN | ER | WITHDRAWN |
2350 | GEN-1999-099 | None | None | NaN | NaN | NaN | NaN | 0.0 | 0.0 | ... | None | None | NaN | NaN | NaN | NaN | NaN | NaN | NaN | WITHDRAWN |
2351 rows × 25 columns
Ercot#
ercot = gridstatus.Ercot()
ercot.get_interconnection_queue()
Queue ID | Project Name | Interconnecting Entity | County | State | Interconnection Location | Transmission Owner | Generation Type | Capacity (MW) | Summer Capacity (MW) | ... | IA Signed | Air Permit | GHG Permit | Water Availability | Meets Planning | Meets All Planning | CDR Reporting Zone | Approved for Energization | Approved for Synchronization | Comment | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 15INR0064b | Harald (BearKat Wind B) | CIP | Glasscock | Texas | 59903 Bearkat 345kV | None | Wind - Wind Turbine | 162.10 | None | ... | 2018-05-30 | Not Required | Not Required | Not Required | 2018-05-30 00:00:00 | 2018-09-19 00:00:00 | WEST | 2020-02-10 | 2020-05-12 | NaN |
1 | 16INR0049 | Nazareth Solar | TX Nazareth Solar, LLC | Castro | Texas | tap 345kV 23914 Tule Canyon - 23912 Ogallala C2 | None | Solar - Photovoltaic Solar | 204.00 | None | ... | 2023-06-07 | Not Required | Not Required | Not Required | 2024-03-22 00:00:00 | NaN | PANHANDLE | NaT | NaT | NaN |
2 | 16INR0081 | Mesteno Wind | Mesteno Windpower, LLC | Starr | Texas | 80355 Del Sol 345kV | None | Wind - Wind Turbine | 201.60 | None | ... | 2018-04-25 | Not Required | Not Required | Not Required | 2018-04-25 00:00:00 | 2019-03-28 00:00:00 | SOUTH | 2019-11-26 | 2019-12-12 | NaN |
3 | 16INR0085 | Priddy Wind | ENGIE North America | Mills | Texas | tap 345kV 1444 Brown – 3422 Killeen | None | Wind - Wind Turbine | 302.40 | None | ... | 2020-08-13 | Not Required | Not Required | Not Required | 2021-03-29 00:00:00 | 2021-04-30 00:00:00 | NORTH | 2021-10-13 | 2021-11-19 | NaN |
4 | 16INR0104 | Big Sampson Wind | Big Sampson Wind Project, LLC | Crockett | Texas | tap 345kV 76015 Cedar Canyon - 7053 Noelke | None | Wind - Wind Turbine | 400.00 | None | ... | 2019-11-08 | Not Required | Not Required | Not Required | NaN | NaN | WEST | NaT | NaT | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1526 | 29INR0015 | Funston Solar (Alternative POI Lone Star) | Funston Solar LLC | Jones | Texas | tap 345kV 68001 Claytonville - 68000 West Shac... | None | Solar - Photovoltaic Solar | 355.22 | None | ... | NaT | NaN | NaN | Not Required | NaN | NaN | WEST | NaT | NaT | NaN |
1527 | 29INR0017 | Big Rooter East Solar SLF | Big Rooter East, LLC | Robertson | Texas | 39950 TNP One Plant 345 kV | None | Solar - Photovoltaic Solar | 554.47 | None | ... | NaT | NaN | NaN | Not Required | NaN | NaN | NORTH | NaT | NaT | NaN |
1528 | 29INR0018 | Big Rooter East Storage SLF | Big Rooter East, LLC | Robertson | Texas | 39950 TNP One Plant 345 kV | None | Other - Battery Energy Storage | 0.00 | None | ... | NaT | NaN | NaN | Not Required | NaN | NaN | NORTH | NaT | NaT | NaN |
1529 | 30INR0002 | Southeast Oklahoma Pumped Storage | Apex Energy Solutions, LLC | Lamar | Texas | 1692 Paris Switch 345kV | None | Other - Energy Storage | 1232.00 | None | ... | NaT | NaN | NaN | NaN | NaN | NaN | NORTH | NaT | NaT | NaN |
1530 | 30INR0005 | Woodland Energy Storage | Woodland Energy Storage, LLC | Bosque | Texas | 68040 Kopperl Substation 345kV | None | Other - Battery Energy Storage | 207.60 | None | ... | NaT | NaN | NaN | Not Required | NaN | NaN | NORTH | NaT | NaT | NaN |
1531 rows × 35 columns
MISO#
miso = gridstatus.MISO()
miso.get_interconnection_queue()
Queue ID | Project Name | Interconnecting Entity | County | State | Interconnection Location | Transmission Owner | Generation Type | Capacity (MW) | Summer Capacity (MW) | ... | giaToExec | studyCycle | studyGroup | studyPhase | svcType | dp1ErisMw | dp1NrisMw | dp2ErisMw | dp2NrisMw | sisPhase1 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | J3240 | None | None | Fulton | IL | Other_ | Solar | 150.0 | 150.0 | ... | NaN | 0.0 | 0.0 | 0.0 | 0.0 | ||||||
1 | J3247 | None | None | Vigo | IN | SPELTERVILLE | Battery Storage | 200.0 | 200.0 | ... | NaN | 0.0 | 0.0 | 0.0 | 0.0 | ||||||
2 | J3248 | None | None | Posey | IN | Savitran 138/34.5kV (facilities above 100kV) | Battery Storage | 250.0 | 250.0 | ... | NaN | 0.0 | 0.0 | 0.0 | 0.0 | ||||||
3 | J3256 | None | None | Clark | IL | 4GALLATIN - 4KANSAS 138.0kV | AMEREN ILLINOIS | Solar | 200.0 | 200.0 | ... | NaN | DPP-2023 | Central | 0.0 | 0.0 | 0.0 | 0.0 | |||
4 | J3259 | None | None | Renville | MN | Cedar Mountain | GREAT RIVER ENERGY | Battery Storage | 250.0 | 250.0 | ... | NaN | DPP-2023 | West | 0.0 | 0.0 | 0.0 | 0.0 | |||
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2599 | J3237 | None | None | Itasca | MN | National Tac Plant 115kV (Customer-owned) | Wind | 86.0 | 86.0 | ... | NaN | 0.0 | 0.0 | 0.0 | 0.0 | ||||||
2600 | J3238 | None | None | Evangeline | LA | Cocodrie - Ville Platte 230.0kV | Solar | 155.0 | 155.0 | ... | NaN | 0.0 | 0.0 | 0.0 | 0.0 | ||||||
2601 | J3239 | None | None | Christian | IL | Pana 138kV | Wind | 175.0 | 175.0 | ... | NaN | DPP-2023 | Central | 0.0 | 0.0 | 0.0 | 0.0 | ||||
2602 | J544 | None | None | 0.0 | 0.0 | ... | 2018-01-12T05:00:00+00:00 | 98.1 | 98.1 | 98.1 | 98.1 | ||||||||||
2603 | J446 | None | None | 0.0 | 0.0 | ... | NaN | 0.0 | 0.0 | 0.0 | 0.0 |
2604 rows × 31 columns
ISONE#
isone = gridstatus.ISONE()
isone.get_interconnection_queue()
Queue ID | Project Name | Interconnecting Entity | County | State | Interconnection Location | Transmission Owner | Generation Type | Capacity (MW) | Summer Capacity (MW) | ... | I39 | Dev | Zone | System Impact Study Completed | Feasiblity Study Status | System Impact Study Status | Optional Interconnection Study Status | Facilities Study Status | Interconnection Agreement Status | Project Status | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1525 | Battery Storage | None | New Haven | CT | The Primary Point of Interconnection will be l... | NaN | BAT | 134.7 | 134.7 | ... | N | PD | CT | N | NaN | NaN | NaN | NaN | NaN | NaN |
1 | 1524 | Battery Storage | None | Hartford | CT | The Primary Point of Interconnection will be l... | NaN | BAT | 237.6 | 237.6 | ... | N | PD | CT | N | NaN | NaN | NaN | NaN | NaN | NaN |
2 | 1523 | Battery Storage | None | Norfolk | MA | National Grid’s 115kV South Wrentham substation | NaN | BAT | 250.0 | 250.0 | ... | N | PD | RI | N | NaN | NaN | NaN | NaN | NaN | NaN |
3 | 1522 | Battery Storage | None | Bristol | MA | Primary Point of Interconnection will be Natio... | NaN | BAT | 150.0 | 150.0 | ... | N | PD | RI | N | NaN | NaN | NaN | NaN | NaN | NaN |
4 | 1521 | Solar CNR only | None | Addison | VT | Vergennes 115 kV Substation | NaN | SUN | 0.0 | 50.0 | ... | N | NaN | VT | N | NaN | NaN | NaN | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1670 | 5 | Brayton Pt | None | Bristol | MA | Brayton Point 345 kV Station | NGRID | NaN | NaN | NaN | ... | Y | NaN | RI | Y | NaN | NaN | NaN | NaN | NaN | NaN |
1671 | 4 | EMI Dighton Power Project | None | Bristol | MA | U6 Line | NGRID | NG | NaN | NaN | ... | Y | NaN | SEMA | Y | NaN | NaN | NaN | NaN | NaN | NaN |
1672 | 3 | Androscoggin Energy Center | None | Franklin | ME | Jay 115 kV Substation | CMP | DFO NG | NaN | NaN | ... | Y | NaN | ME | Y | NaN | NaN | NaN | NaN | NaN | NaN |
1673 | 2 | EMI-Tiverton | None | Newport | RI | Near Tiverton 115 kV Substation | NGRID | NG | NaN | NaN | ... | Y | NaN | SEMA | Y | NaN | NaN | NaN | NaN | NaN | NaN |
1674 | 1 | Millennium+K117 | None | Worcester | MA | W 123 Line | NGRID | DFO NG | NaN | NaN | ... | Y | NaN | WMA | Y | NaN | NaN | NaN | NaN | NaN | NaN |
1675 rows × 32 columns
PJM#
pjm = gridstatus.PJM()
pjm.get_interconnection_queue()
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[7], line 1
----> 1 pjm = gridstatus.PJM()
2 pjm.get_interconnection_queue()
File ~/checkouts/readthedocs.org/user_builds/isodata/checkouts/latest/gridstatus/pjm.py:434, in PJM.__init__(self, api_key, retries)
431 self.api_key = api_key or os.getenv("PJM_API_KEY")
433 if not self.api_key:
--> 434 raise ValueError("api_key must be provided or set in PJM_API_KEY env var")
ValueError: api_key must be provided or set in PJM_API_KEY env var