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 parallel-pandapower-solver[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.2.1

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.2.1
File Size Uploaded
parallel_pandapower_solver-1.2.1.tar.gz 147.1 kB Details

Built distribution (wheel)

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

Total release size: 303.1 kB

Release files / parallel_pandapower_solver-1.2.1.tar.gz

Download URL parallel_pandapower_solver-1.2.1.tar.gz
Size 147.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e940bf41c070b3c2c7470e4f8e6f3f8784e1cf77c807359f4f2a67419b717024
BLAKE2b-256 checksum
How to use checksums
c04b58052cc69dabaa7948b67158fdf572f07af45a5be0f7c485239c256b2f2c
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 Oct 9, 2026.

Transparency log

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

Download URL parallel_pandapower_solver-1.2.1-py3-none-any.whl
Size 156.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
53d983cd0b51095fd112e48c4bb8744dac36f7d6dc9fbcca42921bcebd4616a5
BLAKE2b-256 checksum
How to use checksums
214e460818e131f6fe6a4ca8446348f356e7e8d23dcdd1599f8ff284fb213987
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 Oct 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.0

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