Skip to content

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

uv add git+https://github.com/progridanalytics/ProgridPy.git
pip install git+https://github.com/progridanalytics/ProgridPy.git

Development Setup

Clone the repository and install all dependency groups (runtime, dev, docs):

git clone https://github.com/progridanalytics/ProgridPy.git
cd ProgridPy
uv sync --all-groups
git clone https://github.com/progridanalytics/ProgridPy.git
cd ProgridPy
pip install -e ".[dev]"

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:

uv run python -c "import progridpy; print('OK')"
python -c "import progridpy; print('OK')"

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.