Skip to main content

Python GUI for gds2palace

Intro

Install

pip install setupEM

Full documentation, installation guide, and usage walkthrough: https://github.com/VolkerMuehlhaus/setupEM

Recent changes

What's New - October 29, 2026

File > Edit *.py model in place (new, setupEM and setupThermal): edits a gds2palace model script directly, e.g. one from the gds2palace MCP server, an example or your own code. Create Model and File > Save write only the values you change; the script's loops, comments and custom code stay. Settings the script computes itself are greyed out. A script that builds several models (a parameter sweep) lists them on the Create Model tab, and Start Simulation runs the ticked ones. After importing a script that setupEM didn't write, a bar below the menu offers Edit in place instead.

File > Import from *.py model now runs a gds2palace script to read it, without reading the GDSII file and without meshing. The run stops where the script builds the model, so its solver start never runs. The import now gets exactly what gds2palace would get, also values and ports the script computes. Before, ports made in a loop (as in many gds2palace MCP scripts) were left out, and the imported model was missing them. The script's own code before building the model does run, e.g. a script that generates its GDSII file writes it. If the run fails, the import reads the script text as before, and the bar below the menu says why.

File menu: the three Recent submenus are now one Open Recent submenu, with sections for configs, imported *.py models and *.py models edited in place. A file reopens the way it was opened. The menu is grouped as open, recent, save, preferences. Load Default Config and Save as Default Config are removed: defaults for new models are set in File > Preferences. An existing default.simcfg / default.tsimcfg in your home directory still opens with Load Config, and Save Config can write it.

Import and edit in place now read a stackup given as utilities.get_stackup_path("SG13G2_FEM_200um.xml"), the way the gds2palace MCP server writes it (needs gds2palace 0.9.1 or later). Before, an imported model using that syntax had no stackup file.

What's New - October 21, 2026

Tools > Simplify GDS: the simplification code moved to gds_prepare_for_EM (module gds_simplify_for_em), where the gds2palace MCP server uses it too. setupEM now requires gds_prepare_for_EM 1.6.0 or later; pip install --upgrade setupEM updates it.

Fix: with Merge via arrays (and no fill removal or merging per layer), the simplified file still contained the original subcells as extra top-level cells. Without a cell name, gds2palace reads the first top-level cell, which could be one of them, e.g. a pad cell instead of the design. These left-over cells are now removed.

What's New - October 19, 2026

Stackup Editor, ADS Momentum (*.ltd) import: metals with an EXPAND thickness operation now make the dielectric next to them thicker, as in ADS, instead of reaching into the dielectric below. Before, a thick EXPAND DOWN metal (e.g. MET1/MET2 in a GaAs stackup) overlapped the layers underneath it, and a via could end up with zero height. Files where long lines are wrapped or END_... markers follow the last entry on the same line now import too; before, they failed with "No usable dielectric slabs".

Full history: CHANGES.md


Note: the setupEM PyPI package itself requires:

  • gds2palace>=0.9.0
  • gds_prepare_for_EM>=1.6.0
  • PySide6
  • shiboken6
  • scipy
  • requests
  • scikit-rf
  • matplotlib
  • numpy
  • gdspy
  • meshio
  • pyvista
  • pyvistaqt

(Other Python modules mentioned above are only needed to run standalone helper scripts in this repository, not to use the installed package.)

Metadata

Release files for setupEM 0.15.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 setupEM 0.15.0
File Size Uploaded Provenance Actions
setupem-0.15.0.tar.gz 387.1 kB Without provenance Details for setupem-0.15.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for setupEM 0.15.0
File Interpreter ABI Platform Actions
setupem-0.15.0-py3-none-any.whl Python 3 none any Details for setupem-0.15.0-py3-none-any.whl

Total release size: 773.4 kB

Release files / setupem-0.15.0.tar.gz

Download URL setupem-0.15.0.tar.gz
Size 387.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ba51ff9d66dae315ed58136e0e038f08fba251efef08c2ea4af2524da209b218
BLAKE2b-256 checksum
How to use checksums
d19b6ee771c7a5f489ab0e36c1e069d95f954137e0c5ac136b6f4a71e491c331
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / setupem-0.15.0-py3-none-any.whl

Download URL setupem-0.15.0-py3-none-any.whl
Size 386.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e036c00ce51428f56c7ad9f6c7b520eb4193961a9d306e60a6413dbbd022e1e6
BLAKE2b-256 checksum
How to use checksums
1ab76f7e7364ed1c984e72bdf985ea1c77777929c89cd98345b528dd08bbcbfa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for setupEM 0.15.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.15.0 This release

2 release files No provenance

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