Changelog#
All notable changes to popo are listed here, newest first. Versions follow semantic versioning; before 1.0 the API may change.
v0.2.0 (2026-10-13)#
Features#
powerflow: Record customer-terminal voltages per transformer in sweeps
Bug fixes#
network: Read_transformers reports the secondary winding by default
Refactoring#
plotting: [breaking] Remove comparison_plots
Documentation#
Landing page organised by task, with figures from the tutorials
Executed quickstart, plainer landing panels and a redesigned overview
User guide with executed examples, and figures in the thesis style
Tutorials as a gallery of thumbnails from their own figures
API reference with one page per subpackage and per object
Build and packaging#
Drop lets-plot from the plot extra
Bump the minor version for breaking changes below 1.0
Continuous integration#
release: Generate the changelog with git-cliff, and show it in the docs
v0.1.1 (2026-10-12)#
Documentation#
readme: Replace the internal status notes with a public status and citation
v0.1.0 (2026-10-12)#
Features#
standards: Voltage limits and inverter capability curves
network: Transformer reader capturing both rating conventions
Extract power flow, scenarios, estimation and network survey
scenarios,network: Port power-factor profile and residential-load enumeration
network,powerflow: Add weather, screening and sweep orchestration modules
estimation: Port coherent-vs-incoherent state-estimation study
profiles: Extract household, PV, EV and SMART-DS profile synthesis
plotting: Add popo.plotting, a standalone figure-style subpackage
Add Circuit, result tables, Volt-Watt, storage and per-customer voltage events
estimation: Check conversions, count observability, add line sensors
brand: A bat whose wing bones are a feeder, and a day/night overview
Bug fixes#
ci: Pin UV_PYTHON per matrix leg so the 3.13 test job actually runs on 3.13
test: Widen US sweep regression tolerance for cross-platform solver variation
scenarios: Widen write_load_shape’s values type to ArrayLike
powerflow: Rename run_eu_sweep to run_uk_sweep, matching what it reproduces
plotting: Correct LaTeX rendering, make the logo black
docs: Give the overview figure’s top label proper margin
plotting: Resolve ty type-check errors
powerflow: Read the whole transformer secondary
scenarios: Connect each installation on its customer’s own phase
estimation: Correct the meter sign, failure detection, substation measurement and conversion ratio
Documentation#
Record what is being extracted and why
Correct stale Status section to reflect actual extraction progress
Add end-to-end simulation guide for the DSS-US case study
Document all three thesis datasets accurately, add DSS-UK walkthrough
notebooks: Add OpenDSS LV modeling tutorial on popo’s API
notebooks: Add DER time-series modeling tutorial on popo’s API
Add popo.profiles to the module table, link the two tutorial notebooks
Trim README prose, drop em-dashes, add overview figure
Restore schematic overview figure, match thesis serif typography
Add a bat logo mark, embed it in the overview figure
notebooks: Write the tutorials as guides to popo, from corrected results
notebooks: Add an LV state-estimation tutorial
Add a Sphinx site in popo’s brand, ported from twiga-forecast’s
Tests#
estimation: Raise model/wls/study coverage without requiring pandapower
integration: Add US sweep regression test against a real recorded run
integration: Add UK sweep regression test against a real recorded run
plotting: Add unit tests for popo.plotting
Build and packaging#
Publish as pop-flow on PyPI
Keep test data and the secrets baseline out of the sdist
Publish as popo-flow on PyPI
Continuous integration#
Add a manual release workflow
Re-lock after a release bump; use absolute README image URLs
Build docs on pull requests and publish them to sambaiga/popo-docs
publish: Let the PyPI job read the private repository, and retry a tag by hand
Maintenance#
Project scaffolding, tooling and package skeleton
pre-commit: Sort imports as a hook of its own