Skip to content
github-actions[bot] edited this page Oct 3, 2026 · 5 revisions

PESLite

PESLite is an open-source, lightweight, multirate, and extensible power electronics simulator in Python. It is designed for time-domain studies of power-electronic converters and converter-based systems, combining switching and averaged models, digital control timing, event-driven operation and flexible numerical integration across multiple time scales.

This documentation describes the current development version on the main branch. For released versions and changes, see GitHub Releases and the changelog.

PESLite supports:

  • converter networks described by readable YAML simulation files;
  • switching, PWM-period-averaged and ideal averaged bridge models;
  • grid-following and grid-forming control;
  • fixed-step, adaptive and multirate integration;
  • ADC/PWM timing, digital control, protection and energy accounting;
  • events and continuation from saved states;
  • export as a standalone C++17 simulator.

The power circuit uses SI units. Controller quantities ending in _pu use each converter's own per-unit base.

Installation

pip install peslite

PESLite requires Python 3.10 or newer.

Quick start

Run a bundled example:

peslite gfl-example

The results are streamed to output/gfl-example/. A simulation file can be run in the same way:

peslite case.pes

See Getting Started to create a case and inspect its results.

Documentation

Project links

The root README is intentionally a short introduction and five-minute quick start. Detailed user, configuration and architecture documentation belongs in this documentation.

Clone this wiki locally