Installation¶
From PyPI¶
Optional extras install only what you need:
| Extra | Installs | For |
|---|---|---|
sources |
nba_api, pbpstats |
Downloading raw data yourself |
fit |
NumPyro, LightGBM, Optuna, MLflow, SHAP | Fitting models rather than using published ones |
api |
FastAPI, Uvicorn | Running the inference service |
dashboard |
Streamlit, Plotly | Running the dashboard locally |
From source¶
This project uses uv, which manages the virtual environment and the lockfile together.
Why uv rather than pip and venv
uv sync reads uv.lock, which pins every transitive dependency to an exact
version. Two people running it on different machines get byte-identical
environments. That is what makes a result reproducible.
If you would rather not use uv, requirements.txt is generated from the same
lockfile:
Supported versions¶
Python 3.10 through 3.13, tested on every push. Linux and macOS are tested; Windows should work but is not covered by continuous integration.