Installation
Python
pip install kardashevRequires Python 3.9+. Core dependencies: httpx, requests, pandas, numpy, pytz, openpyxl, lxml.
Optional environment variables
Only needed for direct ISONE LMP (and the legacy PJM DataMiner2 CSV path, which is dead as of 2026-07):
export ISONE_USERNAME=...
export ISONE_PASSWORD=...
# Legacy only - DataMiner2 CSV feeds are decommissioned
export PJM_USERNAME=...
export PJM_PASSWORD=...
# Optional override for api.pjm.com (otherwise the public DataMiner2 UI subscription key is used)
export PJM_API_KEY=...ISO-NE credentials are a free account with that ISO. No credentials are required for any other dataset or ISO. For PJM LMP today, prefer the hosted Client (see Data Sources).
Verify the install
import kardashev
print(kardashev.__version__)JavaScript / TypeScript
npm install kardashevRequires Node.js 18+. No optional dependencies, no environment variables - the JS client only talks to the hosted API, which needs no credentials.
Verify the install
import { Client } from "kardashev";
const kl = new Client();
console.log(await kl.carbonLatest());MCP (AI agents)
npx -y kardashev-mcpStdio Model Context Protocol server for Cursor, Claude Code, and other MCP clients. Wraps the hosted API — LMP, carbon, load, curtailment, interconnection queues, ERCOT large loads, and the live ERCOT RT−DA spread forecast + track record. No API key.
Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"kardashev": {
"command": "npx",
"args": ["-y", "kardashev-mcp"]
}
}
}Claude Code: claude mcp add kardashev -- npx -y kardashev-mcp.
Source: kardashev-lab/kardashev-mcp . Registry: io.github.kardashev-lab/kardashev-mcp.