Skip to main content

Quantum Metal (formerly Qiskit Metal) | for quantum device design & analysis

Project description

Quantum Metal (formerly: Qiskit Metal)

PyPI Python versions PyPI downloads License CI Docs DOI GitHub stars Contributors Discord

Welcome to Quantum Metal!

Quantum Metal is an open-source framework for engineers and scientists to design superconducting quantum devices with ease.

Build a 4-qubit chip in ~15 lines of Python โ€” qubits, CPW routing, launchpads, qm.view()

Regenerate this GIF ยท Full tutorial: 2.21

๐Ÿš€ Try it now โ€” zero install

Open In Colab Open in GitHub Codespaces

One click โ†’ working Quantum Metal in your browser in 60 seconds (lite install, no Qt required).

๐Ÿ“ Where we're heading: see ROADMAP.md for the lite-by-default install (v0.7.0, shipped), the AI-orchestration profile, the open FEM stack (gmsh + Elmer + AWS Palace), and the upcoming import-path rename.


Install

pip install quantum-metal             # lite (v0.7.0+ default)
pip install "quantum-metal[full]"     # everything (v0.6.x compatibility)

Pick the install command that matches your workflow:

What you get When
๐Ÿชถ Lite pip install quantum-metal Core API, qm.view(design) headless viewer, GDS export, pure-Python analyses AI orchestration, Colab / Binder, cloud Jupyter, CI, any non-interactive workflow
๐Ÿ–ฅ๏ธ GUI pip install "quantum-metal[gui]" + MetalGUI desktop app (PySide6, qdarkstyle) Interactive design work
๐Ÿงฒ Ansys pip install "quantum-metal[ansys]" + HFSS / Q3D renderers, EPR analyses (pyaedt, pyEPR-quantum) HFSS / Q3D simulation (Windows + Ansys AEDT license)
๐Ÿ”บ Open FEM mesher pip install "quantum-metal[mesh]" + gmsh meshing (foundation for Elmer / Palace) Open-source FEM (no Ansys license). [fem] is a backward-compat alias.
๐Ÿ“ฆ Full pip install "quantum-metal[full]" All of the above Migrating from v0.6.x, want zero behavior change

Extras compose: pip install "quantum-metal[gui,ansys]" works.

Feature matrix โ€” what each install gives you
lite [gui] [ansys] [mesh] [full]
import qiskit_metal โœ… โœ… โœ… โœ… โœ…
qm.view(design) (headless matplotlib) โœ… โœ… โœ… โœ… โœ…
Build designs + components from qlibrary โœ… โœ… โœ… โœ… โœ…
GDS export โœ… โœ… โœ… โœ… โœ…
LOManalysis, LOM math, capacitance reductions โœ… โœ… โœ… โœ… โœ…
MetalGUI desktop app โ€” โœ… โ€” โ€” โœ…
HFSS / Q3D renderers โ€” โ€” โœ… โ€” โœ…
EPR analyses (EigenmodeSim, LumpedElementsSim) โ€” โ€” โœ… โ€” โœ…
gmsh mesher (for Elmer / Palace) โ€” โ€” โ€” โœ… โœ…

[fem] is a backward-compatible alias of [mesh] โ€” both install gmsh.

Source install, conda, troubleshooting, and per-persona migration recipes: docs/installation.rst ยท docs/migration-to-v0.7.0.rst.

CI runs on Python 3.10 / 3.11 / 3.12 across Linux, macOS, and Windows.


Quick Start

Create your first quantum design in a notebook or script โ€” no Qt required:

import qiskit_metal as qm
from qiskit_metal import designs
from qiskit_metal.qlibrary.qubits.transmon_pocket import TransmonPocket

# Start a planar-chip quantum device design
design = designs.DesignPlanar()
design.chips.main.size.size_x = '11mm'
design.chips.main.size.size_y = '9mm'

# Add a transmon qubit with a connector pad "a"
q1 = TransmonPocket(design, 'Q1', options=dict(
    pos_x='0.5 mm', pos_y='0.25 mm',
    pad_height='90um', pad_width='455um', pad_gap='30um',
    connection_pads=dict(a=dict()),
))

# Render to an inline matplotlib figure โ€” works in Colab, CI, any notebook
fig = qm.view(design)
fig.savefig("my_first_chip.png")

Example image

Prefer the interactive desktop GUI?

Install with pip install "quantum-metal[gui]", then replace the qm.view(...) line with the GUI flow:

from qiskit_metal import MetalGUI

gui = MetalGUI(design)        # launch the interactive editor
gui.rebuild()                 # re-render after edits
gui.edit_component('Q1')      # select for editing
gui.autoscale()
# ... later
gui.main_window.close()

See docs/headless-usage.rst for the full no-Qt workflow and what to use when.

Next: browse the tutorial notebooks (40+ Jupyter notebooks covering the full API) or the online documentation.


Transition notices

Qiskit Metal โ†’ Quantum Metal rebrand (in progress)
  • โœ… New project name: Quantum Metal
  • โœ… PyPI package: quantum-metal (current; the old qiskit-metal package stays archived at its pre-v0.5 state)
  • โœ… Lite-by-default install (v0.7.0)
  • ๐Ÿ”œ Repository rename to quantum-metal โ€” will keep redirects so existing clones and links continue to work
  • ๐Ÿ”œ Python import path rename (qiskit_metal โ†’ quantum_metal) โ€” target v0.8 or v1.0. Plan to update your imports ahead of that release. A FutureWarning fires on import qiskit_metal advertising this. Suppress with QISKIT_METAL_SUPPRESS_RENAME_WARNING=1.

๐ŸŒ Ecosystem

Quantum Metal is one of the core tools in a growing community ecosystem for superconducting quantum device design and education:


๐ŸŒฑ From IBM to a Community-Maintained Project

Originally developed at IBM, conceived and led by Dr. Zlatko K. Minev, Quantum Metal has transitioned into a community-driven project supported by universities, research groups, labs, and individual contributors worldwide.

Development continues through the Quantum Device Consortium (QDC), the broader community, and active maintainers โ€” in close collaboration with Zlatko Minev and contributors across QDW/QDC shaping this next chapter.

Acknowledgements for the v0.5+ community release effort and ongoing contributors are tracked in the changelog and the contributors graph.


Community and Support


Contributing

If you'd like to contribute, please read the contribution guidelines and the contributor guide in the docs. This project adheres to the code of conduct. We use GitHub issues for bugs and feature requests.


Architecture

For a high-level walkthrough of the codebase โ€” Core, Renderers, Analyses, GUI, Utilities โ€” and how they interact, see README_Architecture.md.

Module-level deep dive: docs/overview.rst ยท docs/workflow.rst.


Authors and Citation

Quantum Metal is the work of many people who contribute to the project at different levels. The project was conceived and developed by Zlatko Minev at IBM, then co-led with Thomas McConkey, and has since transitioned to community maintenance through the QDC.

If you use Quantum Metal in your research, please cite it โ€” see the BibTeX entry.

Changelog and Release Notes

Release notes for each version are published on the GitHub releases page. Developer notes for in-flight releases live in changelog.md.

License

Apache License 2.0

Project details


Download files

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

Source Distribution

quantum_metal-0.7.1.tar.gz (4.6 MB view details)

Uploaded Source

Built Distribution

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

quantum_metal-0.7.1-py3-none-any.whl (5.0 MB view details)

Uploaded Python 3

File details

Details for the file quantum_metal-0.7.1.tar.gz.

File metadata

  • Download URL: quantum_metal-0.7.1.tar.gz
  • Upload date:
  • Size: 4.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quantum_metal-0.7.1.tar.gz
Algorithm Hash digest
SHA256 fc9502c1474ac62a184bfcf095755bb456a24334af5f3736b42498134845ec03
MD5 12a9c002b49f0217495ccfa531e60260
BLAKE2b-256 bab7ab60563481ae8b85f389073a0b68446f3289e1ff73fd72d6beeee267a32b

See more details on using hashes here.

File details

Details for the file quantum_metal-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: quantum_metal-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quantum_metal-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aefe2fe1c6ed259c3e88ba68577d208c95f50ef6cf6bab5eca79ad691b12b253
MD5 2e949ff2a407735dcd27033f3294ea4e
BLAKE2b-256 298bcfce71519b6dede2dc01edfe1f334bd1939b2d4c3c0857bd412e6c7b7401

See more details on using hashes here.

Supported by

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