Migrating to v0.7.0 (lite-by-default install)¶
Note
v0.7.0 is released. pip install quantum-metal now installs
the lite-by-default configuration described below. See the
changelog
for the full list of changes.
TL;DR¶
In v0.7.0, pip install quantum-metal no longer pulls
PySide6, qdarkstyle, pyaedt, pyEPR-quantum, or gmsh. Those
move into opt-in extras.
The fastest migration is one of:
# Want everything? Restore the v0.6.x experience:
pip install "quantum-metal[full]"
# Just MetalGUI?
pip install "quantum-metal[gui]"
# Just HFSS / Q3D / EPR (no GUI)?
pip install "quantum-metal[ansys]"
# Just gmsh meshing (for Elmer / Palace / open FEM)?
pip install "quantum-metal[mesh]"
# ``[fem]`` is a backward-compatible alias of ``[mesh]``.
# Headless designs, GDS export, qm.view, no heavy deps?
pip install quantum-metal # base install — much smaller
Who is affected¶
You need to do something if any of these describe your v0.6.x install:
You run
MetalGUI(the desktop Qt GUI)You import or use the HFSS / Q3D renderers (
QAnsysRenderer,QHFSSPyaedt,QQ3DPyaedt,QHFSSDrivenmodalPyaedt,QHFSSEigenmodePyaedt)You import or use the EPR analyses (
LOManalysis,LumpedElementsSim,EigenmodeSim,extract_transmon_coupled_Noscillator)You import or use the gmsh / Elmer renderers (
QGmshRenderer,Vec3DArray, therenderer_elmermodule)
You probably don’t need to do anything if your workflow is:
Build a design (
DesignPlanar,DesignFlipChip, …)Add components from
qiskit_metal.qlibraryView it inline with
qm.view(design)Export to GDS via
QGDSRendererRun pure-Python analyses that don’t touch
quantization/orsimulation/modules
The lite install covers the second list out of the box.
What changed¶
Base dependencies (the v0.7.0 pip install quantum-metal
slim install):
All current base deps except PySide6, qdarkstyle, pyaedt, pyEPR-quantum, and gmsh.
New optional-dependencies (extras you opt in to):
Extra |
Pulls |
|---|---|
|
|
|
|
|
|
|
alias of |
|
all of the above — v0.6.x compatibility set |
The Python API surface itself is unchanged. MetalGUI,
QHFSSPyaedt, QGmshRenderer, LOManalysis still exist
in the same import paths. They just raise a clear
ModuleNotFoundError at use time if you didn’t install the
extra they need.
Migration recipes¶
I am a desktop GUI user¶
If your workflow opens MetalGUI and edits designs visually:
pip install "quantum-metal[gui]"
You’re done. Nothing else changes.
I run HFSS / Q3D analyses¶
Your workflow uses QHFSSPyaedt or any of the AEDT-based
renderers, or the EPR analyses
(LOManalysis, EigenmodeSim, LumpedElementsSim):
pip install "quantum-metal[ansys]"
If you also use MetalGUI, install both:
pip install "quantum-metal[gui,ansys]"
I use the gmsh / Elmer FEM path¶
pip install "quantum-metal[mesh]" # or [fem] (alias)
Note that gmsh on Apple Silicon Macs still needs the brew
gmsh package — see README_Open_FEM_Stack.md.
ElmerFEM itself is an external CLI binary — it does not
ship with the extra and must be installed separately.
I want the v0.6.x all-batteries-included install¶
pip install "quantum-metal[full]"
This is the no-think migration — the install is bit-for-bit the same dep set you had on v0.6.x.
I am driving Quantum Metal from an AI agent / orchestrator¶
This is the workflow v0.7.0 was designed for. The base install is now what you want:
pip install quantum-metal
You get the design builders, all of qlibrary, all
pure-Python analyses, GDS export, and the headless
qm.view(design) viewer in a few dozen MB instead of ~1 GB.
If your orchestrator dispatches to a specific backend, install only that extra at the dispatch layer:
# Worker pod handling HFSS jobs
pip install "quantum-metal[ansys]"
# Worker pod handling gmsh-based meshing
pip install "quantum-metal[mesh]"
Common errors and fixes¶
ModuleNotFoundError: No module named 'PySide6'¶
You instantiated MetalGUI on a lite install. Fix:
pip install "quantum-metal[gui]"
ModuleNotFoundError: No module named 'pyEPR'¶
You called an EPR-using analysis (LOManalysis.run_lom,
extract_transmon_coupled_Noscillator, or any of the
HFSS/Q3D renderers’ simulation methods) on a lite install.
Fix:
pip install "quantum-metal[ansys]"
ModuleNotFoundError: No module named 'gmsh'¶
You instantiated QGmshRenderer or the Elmer renderer on
a lite install. Fix:
pip install "quantum-metal[mesh]" # or [fem] (alias)
Could not load the Qt platform plugin 'xcb' (and similar
QPA-style errors)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
These come from PySide6 starting up. On a lite install they
shouldn’t fire at all. If they do, you’re either running
MetalGUI directly or you have a stray
import PySide6 in your own code. See Using Quantum Metal without the Qt GUI
for the Qt-free workflow.
Why this change¶
Three forces drove it:
AI orchestration. Increasingly, Quantum Metal is used inside LLM-driven design loops and multi-backend solver pipelines. None of those need a desktop Qt GUI; they want a fast, predictable, scriptable Python library.
Cloud / Colab / Binder. Hundreds of MB of Qt + AEDT in the base install is friction every notebook environment has to work around. Many just give up and pin an older version.
Academic and educational use. Users without an Ansys license shouldn’t be forced to install pyaedt + pyEPR to import
qiskit_metal.
The Qt-free path was added in v0.6.0 (qm.view(design),
lazy Qt initialization). The v0.7.0 flip completes the
story by making the lite install the default, with
extras for the heavy backends.
See Using Quantum Metal without the Qt GUI for what the lite install gives you today, and ROADMAP.md for what’s coming next.
Reporting issues¶
If the migration recipe for your scenario isn’t covered
above, please open an issue at
https://github.com/qiskit-community/qiskit-metal/issues with
the label v0.7.0-migration. Include:
Your previous install command (
pip install ...)Which Python entry points / classes you use
The error message you hit
We’ll add your case to this doc so the next person hits a search result instead of a wall.