pyPalace documentation

pyPalace is an open-source Python toolkit for simulating and analyzing superconducting quantum devices with AWS Palace.

It helps you build Palace JSON configurations, generate meshes (including from Qiskit Metal designs), run simulations locally or on HPC, visualize fields, and apply analysis workflows such as Lumped Oscillator Modeling (LOM) and Energy Participation Ratio (EPR).

The core library is not limited to qubits; see Beyond qubit applications below.

Getting started

After Install of pyPalace, read the User guide for the usual workflow, then work through the Jupyter examples in the GitHub repository (notebooks and scripts under Examples/).

Palace itself must be installed separately; see the Palace installation guide.

Overview

pyPalace wraps common Palace setup tasks in Python:

  • Configurationpypalace.builder helpers and Config to assemble and save JSON input files.

  • MeshingMesh (or from pypalace import mesh) for Gmsh export from coplanar Qiskit Metal layouts and for reading mesh attribute tables.

  • SimulationSimulation to launch Palace locally or via Slurm.

  • Analysis — utilities in the examples and pypalace.analysis for extracting Hamiltonian parameters from EM results.

Numerics rely on NumPy, SciPy, and Pandas; plotting uses Matplotlib and PyVista where examples need it.

Beyond qubit applications

Note

Not working on qubits? The Palace-facing parts of pyPalace—pypalace.builder, Config, and Simulation—are a direct, problem-agnostic wrapper around AWS Palace. You can use them for any electromagnetic setup Palace supports (resonators, filters, packaging, antennas, etc.).

Much of the documentation and the Examples/ notebooks highlight superconducting qubits (LOM, EPR, Qiskit Metal meshing). Treat those as optional: use the config and simulation workflow you need, and ignore the qubit-specific analysis unless it applies to your project.

Contact

Questions or collaboration: firasabouzahr2030@u.northwestern.edu.

Source and issues: GitHub.