Installation#

popo is published on PyPI as popo-flow and imported as popo. It needs Python 3.12 or later.

Install from PyPI#

pip install popo-flow

or, with uv:

uv add popo-flow

The core package reads network definitions, checks voltages against standards and works with results. The power-flow and estimation engines are optional extras:

Extra

Adds

Needed for

opendss

OpenDSSDirect.py

building and solving circuits, time series, sweeps

estimation

pandapower

state estimation

plot

matplotlib, SciencePlots, Great Tables

figures and tables

notebooks

matplotlib, Great Tables

running the tutorials

all

all of the above

To install every extra:

pip install "popo-flow[all]"

OpenDSSDirect.py includes the OpenDSS engine, so no separate installation is needed on any operating system.

Check the installation#

python -c "import popo; print(popo.__version__)"

This prints the installed version. The quickstart then runs a first simulation.

Install from source#

To work on popo itself, clone the repository and create an environment with every extra and the development tools:

git clone https://github.com/sambaiga/popo.git
cd popo
uv sync --all-extras --group docs

Contributing describes the tests, linting and documentation build.