Skip to main content

p3s - parallel pandapower solver

PyPI version Documentation Status REUSE status

CPU / GPU based AC/DC Powerflow solver

Features

Solvers

  • C++ Newton-Raphson with KLU, single and multi-threaded (using openMP)
  • GPU-resident polar Newton solver (cuDSS, cuSolverRF and cuSolverSp QR)
  • reference python / numba implementation

Study opportunities

  • batched timeseries calculation
  • N-1 contingency analysis with islanding detection (including a "reslack" feature)
  • station controllers solved inside the Newton Raphson (still under review)

Robustness

  • Armijo damped Newton-Raphson
  • DC power-flow initialisation with flat start fallback
  • voltage-band plausibility check against non-physical roots
  • per-case convergence and per-bus served masks

Integration

  • operates directly on pandapower networks (standalone)
  • zero-copy numpy interface, using pybind11, no per-call marshalling
  • Linux and Windows native builds; pip installable
  • Will be directly integrated in pandapower

Verification

  • all results are verified against pandapower
  • test pipeline automatically tests every change
  • accuracy is 1e-11 vs pandapower

Installation

Compiled C++/KLU Newton-Raphson solver (the nr_klu extension). Opt-in because it needs a C++17 compiler and SuiteSparse/KLU at build time. Installs the separate p3s-cpp distribution, whose CMake build drops nr_klu into the p3s package so from p3s import nr_klu works.

pip install p3s[cpp]              # from an index (published p3s-cpp)
pip install .[cpp]                # from a checkout (see note below)

From a source checkout, p3s-cpp is not on an index, so build it explicitly: pip install ./p3s/cpp (SuiteSparse must be available, e.g. conda install -c conda-forge suitesparse.) (cuda-toolkit1 must be available, e.g. conda install -c nvidia/label/cuda-12.4.0 cuda-toolkit.)

Look into docs/installation.md for more details.

Acknowledgment

The code in this repository was created as part of the research project “GRAVITON”, supported by the German Federal Ministry for Economic Affairs and Climate Action (BMWE) on the basis of a decision by the German Bundestag (grant no. 03EIM4109).

Supported by: Federal Ministry for Economic Affairs and Energy on the basis of a decision by the German Bundestag

Credits

This package was created with Cookiecutter and the audreyfeldroy/cookiecutter-pypackage project template.


  1. CUDA libraries are not part of this repository and must be acquired separately from NVIDIA, under their respective license terms. ↩

Metadata

Release files for parallel-pandapower-solver 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for parallel-pandapower-solver 1.1.0
File Size Uploaded
parallel_pandapower_solver-1.1.0.tar.gz 120.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for parallel-pandapower-solver 1.1.0
File Interpreter ABI Platform
parallel_pandapower_solver-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 256.5 kB

Release files / parallel_pandapower_solver-1.1.0.tar.gz

Download URL parallel_pandapower_solver-1.1.0.tar.gz
Size 120.3 kB
Tags Source
SHA-256 checksum
How to use checksums
60c49806be2cc77acdebca95298567068a6ad9fedab4b4dcf20e3ea3e00ea2b5
BLAKE2b-256 checksum
How to use checksums
4c669f2b6398d6f07b2757fae40b7199fdaa5b28b22e84016c8d002b3f5dc4c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / parallel_pandapower_solver-1.1.0-py3-none-any.whl

Download URL parallel_pandapower_solver-1.1.0-py3-none-any.whl
Size 136.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aa7fdfbaf1df56c95cfa1eb24780bb079f8ec70d2d6a83ee994ba900e865c075
BLAKE2b-256 checksum
How to use checksums
4ac9eae83ed64ed3025e298e395b8de213830bc76e94460ff8f407a089ba8a16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page