Skip to main content

quchip

quchip is an open-source Python toolkit for modeling superconducting quantum chips.

A predictive chip model needs more than a Hamiltonian: device physics, control-line transformations, frames and approximations, dissipation, and measured observables all belong to it. quchip represents each part explicitly. Line properties such as gain, delay, and crosstalk belong to the control chain, not to Hamiltonian terms written by hand.

Declare the chip once. The same declaration drives dressed-state analysis, model reduction, control sequencing, open-system simulation, parameter sweeps, and exact JAX gradients. The engine resolves each device's frame, applies the requested approximations, and records the bands it drops.

QuTiP is the default backend. The dynamiqs backend is JAX-native and keeps declared device and control parameters differentiable through the solve.

quchip uses GHz for ordinary frequencies, ns for time, and mK for temperature. The implemented conventions and approximations are recorded in PHYSICS.md.

Install

quchip requires Python 3.11 or newer. Install the current source:

git clone https://github.com/quchip/quchip.git
cd quchip
python -m pip install .

Optional extras are available for the dynamiqs backend, graph visualization, scqubits interoperability, tests, and development:

python -m pip install '.[dynamiqs]'
python -m pip install '.[viz]'
python -m pip install '.[scqubits]'

Extras can be combined in one install.

A minimal chip

from quchip import Capacitive, ChargeDrive, Chip, DuffingTransmon, Resonator

qubit = DuffingTransmon(freq=5.0, anharmonicity=-0.30, levels=6, label="qubit")
readout = Resonator(freq=6.8, levels=10, quality_factor=6800, label="readout")
coupling = Capacitive(qubit, readout, g=0.060, rwa=True, label="qubit-readout")
chip = Chip([qubit, readout], couplings=[coupling], frame="rotating", rwa=True)
qubit_line = ChargeDrive(qubit, label="qubit-charge")
readout_line = ChargeDrive(readout, label="readout-charge")
chip.wire(qubit_line, readout_line)

f01 = chip.freq(qubit)
f12 = chip.freq(qubit, when={qubit: 1})
fr0 = chip.freq(readout, when={qubit: 0})
fr1 = chip.freq(readout, when={qubit: 1})

The complete example derives short and selective nominal-pi Gaussian drives from $|f_{12}-f_{01}|$, then derives a Gaussian-edge readout duration from the conditional pull and resonator linewidth. Both parts run the real multilevel, lossy chip with compact reproducibility receipts.

Short and long Gaussian pulses with multilevel qubit populations

Conditional resonator IQ paths with emphasized final points

The complete walkthrough is available as authored Markdown and an executed notebook.

Tests

Install the dependencies used by all shipped test lanes:

python -m pip install -e '.[test,dynamiqs]'

Run the full suite:

python -m pytest

Run one lane:

python -m pytest -m core
python -m pytest -m physics_sentinel
python -m pytest -m extended

Examples

  • Hello, drive and readout: compare qubit-drive leakage, then resolve pulse-level dispersive readout on the same chip.
  • Cookbook: practical conventions and task recipes.

Paper and citation

The accompanying paper is quchip: A Differentiable Toolkit for Modeling Quantum Devices (arXiv:2607.17081).

If you use quchip in your work, please cite it:

@misc{alyousef2026quchip,
      title={quchip: A Differentiable Toolkit for Modeling Quantum Devices},
      author={Ibraheem AlYousef},
      year={2026},
      eprint={2607.17081},
      archivePrefix={arXiv},
      primaryClass={quant-ph},
      doi={10.48550/arXiv.2607.17081},
      url={https://arxiv.org/abs/2607.17081},
}

Citation metadata for the software itself is in CITATION.cff.

License

quchip is distributed under the Apache License 2.0. See LICENSE.

Download files

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

Source Distribution

quchip-0.1.1.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

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

quchip-0.1.1-py3-none-any.whl (445.4 kB view details)

Uploaded Python 3

File details

Details for the file quchip-0.1.1.tar.gz.

File metadata

  • Download URL: quchip-0.1.1.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for quchip-0.1.1.tar.gz
Algorithm Hash digest
SHA256 79d945d041dd0be9aa61feb109594f58f5a065c3e19b569e22e340a88faada9c
MD5 7adb13c196d8420375eb5c1ee9e3974c
BLAKE2b-256 9b098316083b81166c7f996288003d2f905a20b0819d0844ba15cc1957be064c

See more details on using hashes here.

Provenance

The following attestation bundles were made for quchip-0.1.1.tar.gz:

Publisher: release.yml on quchip/quchip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file quchip-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: quchip-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 445.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for quchip-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ae611a33b24cc62e73550d9e8e54cfb7ae41972f2781dd0f921f31aed9b3aaee
MD5 c0f4dc5f7dda7d2960396f8809dcae52
BLAKE2b-256 509aefe4241f42acb9d03d300042565fa9607db405cfd2154070727b62166455

See more details on using hashes here.

Provenance

The following attestation bundles were made for quchip-0.1.1-py3-none-any.whl:

Publisher: release.yml on quchip/quchip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.1

2 files

0.2.0

2 files

This release

0.1.1 This release

2 files

0.1.0

2 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