Skip to main content
PulsimGui — Dark Theme

PulsimGui

Professional GUI for power electronics simulation with Pulsim.

Release PyPI Docs License: MIT Python 3.10+

Download latest release · Install from PyPI · Documentation · Report a bug


PulsimGui is a cross-platform desktop interface for Pulsim, focused on modeling and validating power converter topologies.

Key Features

  • Schematic editor with drag-and-drop workflow.
  • Component library focused on power electronics.
  • Transient simulation with advanced solver controls.
  • Advanced backend telemetry for convergence, fallback, and loss/thermal diagnostics.
  • Integrated waveform viewer with signal measurements.
  • Ready-to-run examples (RC, buck, boost, and more).

PLECS-style Scope

Click any Scope component on the schematic to open a modular scope window that streams data from pulsim's NativeLiveStream during the run and finalises the same window with the full-resolution result on finish — no separate live / post-sim windows.

Scope with A/B cursors

Single shell + composable capabilities:

  • Live streaming (60 Hz polling) — wired Run/Stop button on the toolbar.
  • Post-sim finalisation — same curves, full-resolution arrays.
  • Cursors A/B with ΔT, 1/ΔT (frequency), and per-signal ΔY readouts.
  • Math signals — derived traces via a whitelisted formula (A + B, abs(A), derivative(A), moving_avg(A, 16), …).
  • FFT view — toggle the canvas to log-X magnitude (dB) of the cached signals.
  • Trigger — Free Run / Single with edge + level on any source signal.
  • SMPS macros — one-click Tsw / Fsw / Duty / Ripple on the visible window.
  • Export — CSV (master time grid + linear interp per signal), PNG, or clipboard.

The shell adapts per scope variant: ElectricalScopeVariant (blue accent, V default unit) and ThermalScopeVariant (orange accent, °C). Adding a new variant is a one-file dataclass.

Official Documentation

Full documentation is available at:

Main content includes:

  • Installation and execution
  • GUI guides and workflow
  • Simulation and backend configuration
  • Practical tutorials
  • Technical reference for contributors

Installation

1. Release (Recommended)

Use installers from Releases.

2. Install via pip

python3 -m pip install --upgrade pip
python3 -m pip install pulsimgui

Run:

pulsimgui

The pulsimgui package is published to PyPI by the release pipeline (.github/workflows/release.yml) whenever a new tag v* is released.

3. Development setup (source code)

git clone https://github.com/lgili/PulsimGUI.git
cd PulsimGui
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -e ".[dev]"
python3 -m pulsimgui

Recommended Backend

For reproducible behavior, use pulsim v0.7.9.

This is required for full advanced electrothermal support in GUI runtime:

  • staged thermal networks (single_rc, foster, cauer)
  • shared-sink coupling (shared_sink_id, shared_sink_rth, shared_sink_cth)
  • datasheet switching-loss surfaces (loss.model=datasheet)

Quick check:

python3 -c "import pulsim; print(pulsim.__version__)"

In the app: Preferences → Simulation → Backend Runtime.

Runtime Telemetry

With modern Pulsim backends, transient runs expose structured diagnostics in SimulationResult.statistics, including solver/backend telemetry and electrothermal summaries:

  • linear_solver_telemetry
  • backend_telemetry
  • fallback_trace
  • loss_summary
  • thermal_summary
  • component_electrothermal

Development

Tests

pytest

Template Smoke Test (Pre-release)

PYTHONPATH=src python3 scripts/smoke_templates.py

Lint

ruff check src tests

Local docs build

python3 -m pip install -r docs/requirements.txt
mkdocs build --strict
mkdocs serve

GitHub Pages (Docs)

Documentation is published through:

  • .github/workflows/docs-pages.yml

Automatic deploy runs on main and workflow_dispatch.

Repository setting required: Settings → Pages → Source: GitHub Actions.

Contributing

  • Open issues for bug reports and feature requests.
  • For PRs, include context, validation steps, and evidence (logs/screenshots).
  • Update docs whenever a user workflow or feature changes.

License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pulsimgui-1.1.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pulsimgui-1.1.1-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file pulsimgui-1.1.1.tar.gz.

File metadata

  • Download URL: pulsimgui-1.1.1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pulsimgui-1.1.1.tar.gz
Algorithm Hash digest
SHA256 49d95f45f6daef69c24b812c22d850c940cb0bece627980b255caf255be487d0
MD5 d439a6f17d335f9d0fe5d8c020244ad8
BLAKE2b-256 c356e6c4b0ff1e9d43a0ace3f1655d7e5f58ce6309ac11cc77c3145b68dcea0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pulsimgui-1.1.1.tar.gz:

Publisher: release.yml on lgili/PulsimGUI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pulsimgui-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: pulsimgui-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pulsimgui-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b5d44667553993a54d05d8c070c8fdfa125ebe0bb3a07a846ba57536f5d9f828
MD5 3f2ff9e3451ae4ff53d99a098dce1b56
BLAKE2b-256 2786589238feb3031589c5e9edffc5ec5c8533b6f660d92333457751ff3b7b84

See more details on using hashes here.

Provenance

The following attestation bundles were made for pulsimgui-1.1.1-py3-none-any.whl:

Publisher: release.yml on lgili/PulsimGUI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 files

1.1.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.4

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.4

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.5

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.0

2 files

0.5.4

2 files

0.5.3

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page