Skip to main content
QPDK — Quantum Process Design Kit

HTML Docs PDF Docs Binder PyPI - Version MIT Docs Tests DRC Code Coverage Model Coverage Issues PRs


QPDK is an open-source process design kit (PDK) for superconducting quantum RF applications built on gdsfactory. It provides a library of parametric quantum circuit components (transmon qubits, CPW resonators, Josephson junctions, etc.), analytical S-parameter models, routing utilities, and test-chip examples.

QPDK gives researchers, engineers, and students a scriptable, version-controlled foundation to go from concept to GDSII in minutes.

Key Features

  • Rich component library — Transmons, fluxonium, unimon qubits, CPW resonators, interdigital capacitors, SQUID junctions, launchers, bump bonds, TSVs, and more.
  • Parametric & composable — Combine Python functions (@gf.cell) into hierarchical designs or define full chips in YAML.
  • Analytical circuit models — Fast, differentiable S-parameter simulations powered by SAX and JAX.
  • Automated routing — CPW-aware routing strategies with auto-tapers for complex layouts.
  • KLayout integration — Layer definitions, technology files, and cross sections for immediate visual inspection.
  • Regression-tested — GDS regression tests, netlist checks, and model validation.
  • Notebook-driven workflows — Jupyter notebooks for frequency modeling, tolerance analysis, parameter extraction, pulse-level simulation, and optimization.
  • GDSFactory+ integration — Seamlessly design, verify, and validate chips with the enhanced commercial extension. Includes access to 43+ foundry PDKs, graphical layout and schematic editors directly in VSCode, an AI assistant, and comprehensive verification tools (DRC, LVS, Connectivity checks).

Notable Components

QPDK ships with a broad set of ready-to-use superconducting circuit components. Browse all the components in the documentation.

Qubits

Transmon Fluxonium
Double-pad capacitively shunted qubit Superinductance-shunted qubit
Transmon Fluxonium
Unimon SQUID Junction
Resonator-embedded junction qubit Superconducting quantum interference device
Unimon SQUID Junction

Passive Components

CPW Resonator Interdigital Capacitor
Meandering coplanar waveguide resonator Finger-style lumped-element capacitor
CPW Resonator Interdigital Capacitor

Composite Components

Transmon with Resonator & Probeline — Qubit cell with coupled resonator and probeline section:

Transmon with Resonator and Probeline

Sample Test Chips

QPDK includes some complete, tapeout-ready test chip examples that demonstrate real-world design workflows.

Qubit Test Chip

A four-transmon test chip with coupled readout resonators, probeline routing, flux lines, and launchers. Defined entirely in YAML.

Qubit Test Chip

Filled Qubit Test Chip

The same qubit test chip with magnetic vortex trapping holes filling the ground plane and chip edges.

Filled Qubit Test Chip

Flip-Chip (Flipmon) Test Chip

A four-flipmon test chip demonstrating flip-chip qubit integration with coupled readout resonators, interdigital capacitor inputs, probeline routing, and flux lines — shown here with ground-plane filling and chip edges.

Flipmon Test Chip

Resonator Test Chip

A 16-resonator characterization chip with systematically varied CPW widths and gaps across two probelines. Ideal for extracting loss tangents and kinetic inductance. Also check the notebook demonstrating network model simulations and fabrication tolerance Monte Carlo.

Resonator Test Chip

Quick Start

import gdsfactory as gf
from qpdk import PDK

PDK.activate()

# Create a transmon qubit
from qpdk.cells.transmon import double_pad_transmon

qubit = double_pad_transmon(pad_size=(250, 400), pad_gap=15)
qubit.plot()
# Build a complete test chip from YAML
from gdsfactory.read import from_yaml
from qpdk import tech

chip = from_yaml(
    "qpdk/samples/qubit_test_chip.pic.yml",
    routing_strategies=tech.routing_strategies,
)
chip.show()  # Opens in KLayout

Examples & Notebooks

  • PDK cells in the documentation — Collection of all available geometries.
  • qpdk/samples/ — Example layouts and simulations including qubit test chips, resonator arrays, routing demos, and 3D export.
  • notebooks/ — Jupyter notebooks covering:
    • Resonator frequency modeling and S-parameter analysis
    • Circuit simulation with SAX
    • Monte Carlo fabrication tolerance analysis
    • Hamiltonian parameter extraction with scqubits
    • Pulse-level quantum gate simulation with QuTiP
    • Capacitor geometry optimization with Optuna
    • Dispersive shift calculation with Pymablock
    • Transmon design optimization with NetKet
  • gsim example notebooks — Electromagnetic simulation examples using Palace and Meep with gdsfactory.

Installation

We recommend using uv for package management. just is used for project-specific recipes.

Installation for Users

Install the package with:

uv pip install qpdk

Or with pip:

pip install qpdk

Optional dependencies for the analytical models and simulation tools (SAX, scqubits, JAX) can be installed with:

uv pip install qpdk[models]

KLayout Technology Installation

To use the PDK in KLayout (for viewing GDS files with correct layers and technology settings), install the technology files:

python -m qpdk.install_tech

Installation for Contributors

For contributors, please follow the installation and development workflow instructions.

Project Structure

quantum-rf-pdk/
├── qpdk/               Core Python package
│   ├── cells/          Component definitions (transmons, resonators, capacitors, …)
│   ├── models/         Analytical models, mostly S-parameters
│   ├── samples/        Example layouts and complete test chips
│   ├── klayout/        KLayout technology files
│   └── tech.py         Layer stack, cross sections, routing strategies
├── tests/              Regression, integration and unit tests
├── notebooks/          Jupyter notebooks for design and simulation workflows
└── docs/               Sphinx documentation (HTML + PDF)

Documentation

Contributing

We welcome contributions of all sizes: new components, improved models, bug fixes, documentation, and notebook tutorials. Please see the contributing guide to get started.

Support

For commercial support, training, and custom PDK development, please visit gdsfactory+ (gdsfactory.com/plus).

License

QPDK is released under the MIT License.

Metadata

Release files for qpdk 0.4.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 qpdk 0.4.0
File Size Uploaded
qpdk-0.4.0.tar.gz 127.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qpdk 0.4.0
File Interpreter ABI Platform
qpdk-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 280.5 kB

Release files / qpdk-0.4.0.tar.gz

Download URL qpdk-0.4.0.tar.gz
Size 127.9 kB
Tags Source
SHA-256 checksum
How to use checksums
eb04539afef0b5695cf0b702f673f54cc201cd767f2f135e4427feca01394c32
BLAKE2b-256 checksum
How to use checksums
bb54d3da107107f69d3e54253aac4d818afb6b49e500e0b1797711460e46bca9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / qpdk-0.4.0-py3-none-any.whl

Download URL qpdk-0.4.0-py3-none-any.whl
Size 152.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
57847ffd1c0cd3a56baba803fd09f2e520cd76d325283f53002e75b3be531d5e
BLAKE2b-256 checksum
How to use checksums
0ec1552d0a35c606ae8ae0add63e914d166ae866de8401122231db8c8ccfb88d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.1

2 release files

This release

0.4.0 This release

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.0.2

2 release files

0.0.1

2 release files

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