Open Source · Apache License 2.0
Documentation for
cryogenic wiring
A comprehensive suite of tools for managing and visualizing dilution refrigerator wiring configurations for quantum computing systems.
Features
Everything you need to document, validate, and visualize your dilution refrigerator wiring.
YAML-Based Configuration
Define wiring setups in human-readable YAML with reusable modules and component catalogs.
Schema Validation
JSON Schema + Pydantic v2 ensure your configurations are always correct and consistent.
Diagram Generation
Publication-quality SVG wiring diagrams suitable for academic papers and presentations.
CLI & Web UI
Full-featured CLI tool and interactive web application for every workflow preference.
Cooldown History
Organize wiring configurations by year and cooldown ID with automatic versioning and diffs.
Module System
Define reusable component templates with per-line overrides for flexible configuration.
Data Model
A standardized format for describing RF/microwave wiring inside dilution refrigerators.
Temperature Stages
Component Types
| Component | Key Field | Label |
|---|---|---|
| Attenuator | value_dB | 10 dB |
| Filter | filter_type | Lowpass |
| Isolator | - | ISO |
| Amplifier | gain_dB | +40 dB |
Line Types
Drive signals to qubits
Measurement stimulus
Amplified return signal
Diagram as a Code
Build, validate, and visualize wiring configurations programmatically with
cryowire.
pip install cryowire Define Components
Create typed components with Pydantic v2 models.
from cryowire import (
CooldownBuilder, ChipConfig, CooldownMetadata,
Attenuator, Filter, Isolator, Amplifier, Stage,
)
catalog = {
"XMA-10dB": Attenuator(manufacturer="XMA", model="2082-6431-10", value_dB=10),
"XMA-20dB": Attenuator(manufacturer="XMA", model="2082-6431-20", value_dB=20),
"Eccosorb": Filter(manufacturer="XMA", model="EF-03", filter_type="Eccosorb"),
"K&L-LPF": Filter(manufacturer="K&L", model="5VLF", filter_type="Lowpass"),
"RT-AMP": Amplifier(manufacturer="MITEQ", model="AFS3", amplifier_type="RT", gain_dB=20),
"LNF-HEMT": Amplifier(manufacturer="LNF", model="LNC03_14A", amplifier_type="HEMT", gain_dB=40),
"LNF-ISO": Isolator(manufacturer="LNF", model="ISC4_12A"),
} Build a Cooldown
Fluent builder API with per-line overrides.
cooldown = (
CooldownBuilder(
chip=ChipConfig(name="sample-8q", num_qubits=8, qubits_per_readout_line=4),
metadata=CooldownMetadata(cryo="my-cryo", cooldown_id="cd001", date="2026-03-09"),
catalog=catalog,
control={
Stage.K50: ["XMA-10dB"],
Stage.K4: ["XMA-20dB"],
Stage.MXC: ["XMA-20dB", "Eccosorb"],
},
readout_send={
Stage.K50: ["XMA-10dB"],
Stage.K4: ["XMA-10dB"],
},
readout_return={
Stage.RT: ["RT-AMP"],
Stage.K50: ["LNF-HEMT"],
Stage.CP: ["LNF-ISO", "LNF-ISO"],
},
)
.add("C00", Stage.STILL, "K&L-LPF") # per-line override
.remove("RR00", Stage.CP, index=1) # remove second isolator on RR00
.representative("C00", "RS00", "RR00") # mark lines for diagram
.build()
) Summary & Diagram
Generate terminal tables, Markdown, HTML, and publication-quality SVG diagrams.
# Print a Rich-formatted table to the terminal
cooldown.summary()
# Export as Markdown or HTML
md = cooldown.summary(fmt="markdown")
html = cooldown.summary(fmt="html")
# Generate a publication-quality wiring diagram
cooldown.diagram(output="wiring.svg", representative=True) Export & Validate
Write YAML files and validate against the spec.
# Export as a cooldown directory
cooldown.write("output/")
# output/
# ├── metadata.yaml
# ├── chip.yaml
# ├── components.yaml
# ├── control.yaml
# ├── readout_send.yaml
# └── readout_return.yaml
# Validate existing YAML files
from cryowire import validate_wiring
validate_wiring(data) # raises jsonschema.ValidationError on failure Ecosystem
A modular, well-separated architecture across eight repositories.
Formal specification and JSON Schema definitions for the YAML wiring format. Defines stages, component types, and line types.
Python library and CLI providing data models, validation, diagram generation, programmatic building, and a terminal interface for wiring configurations.
Web application with FastAPI backend and Next.js frontend for browsing, editing, and managing wiring configs.
Read-only browser for cooldown.yaml files. Drop a file to instantly view cooldown metadata, wiring summary tables, and line details.
Try it live →GitHub template repository for creating dilution refrigerator wiring data repositories with recommended structure.
VS Code extension that previews cooldown.yaml files as interactive wiring diagrams in a side panel with auto-reload.
Chrome extension that detects cooldown.yaml on GitHub and opens the cryowire viewer with one click.
GitHub Action that auto-discovers cooldown directories and runs validate + build in CI on every push and pull request.
Quick Start
Get up and running with cryowire in minutes.
Install
pip install cryowire Initialize a data project
cryowire init ./my-data
cd my-data Customize components & modules
vi components.yaml # define your lab's parts
vi templates/*.yaml # adjust standard wiring modules Create a new cooldown
cryowire new your-cryo --qubits 8 Edit your wiring
# your-cryo/2026/cd001/control.yaml
modules:
ctrl:
stages:
50K:
- XMA-10dB
4K:
- XMA-20dB
MXC:
- XMA-20dB
- Eccosorb
lines:
- line_id: C00
qubit: Q00
module: ctrl Build & validate
cryowire build your-cryo/2026/cd001/
cryowire validate your-cryo/2026/cd001/