Installation¶
Requirements¶
- Python 3.12 or higher
- uv (recommended) or pip for package management
Python version
ProgridPy requires Python 3.12+ due to its use of PEP 695 type parameter syntax and modern standard-library features. Earlier versions are not supported.
Install ProgridPy¶
Development Setup¶
Clone the repository and install all dependency groups (runtime, dev, docs):
uv is the recommended package manager
The CI pipeline runs uv sync --locked --group dev and uv run pytest.
Using uv locally ensures your lockfile stays consistent with CI.
Core Dependencies¶
| Package | Purpose |
|---|---|
polars |
High-performance DataFrame processing |
boto3 / botocore |
AWS S3 data transfers |
pandas |
Auxiliary data manipulation |
plotly |
Interactive metric visualizations |
streamlit |
Analytics dashboard |
requests |
HTTP downloads from ISO sources |
loguru |
Structured logging |
rich |
Terminal progress bars and formatting |
pyarrow / fastexcel |
Parquet and Excel I/O |
pydantic |
Data validation |
python-dotenv |
.env file loading |
scipy |
Statistical computations in the metrics engine |
Verification¶
Confirm the installation is working:
A successful installation prints OK with no errors.
Next Steps¶
Proceed to the Configuration guide to set up AWS credentials, ERCOT API keys, and local data directories before downloading ISO data.