boulder-opal-scale-up-sdk 1.0.3__py3-none-any.whl → 1.0.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. {boulder_opal_scale_up_sdk-1.0.3.dist-info → boulder_opal_scale_up_sdk-1.0.5.dist-info}/METADATA +1 -1
  2. boulder_opal_scale_up_sdk-1.0.5.dist-info/RECORD +73 -0
  3. boulderopalscaleupsdk/agent/worker.py +23 -4
  4. boulderopalscaleupsdk/common/dtypes.py +31 -1
  5. boulderopalscaleupsdk/device/__init__.py +0 -7
  6. boulderopalscaleupsdk/device/config_loader.py +1 -0
  7. boulderopalscaleupsdk/device/controller/qblox.py +222 -25
  8. boulderopalscaleupsdk/device/defcal.py +5 -44
  9. boulderopalscaleupsdk/device/device.py +45 -3
  10. boulderopalscaleupsdk/device/processor/__init__.py +0 -2
  11. boulderopalscaleupsdk/device/processor/common.py +1 -6
  12. boulderopalscaleupsdk/device/processor/superconducting_processor.py +34 -7
  13. boulderopalscaleupsdk/experiments/__init__.py +24 -2
  14. boulderopalscaleupsdk/experiments/chi01_scan.py +18 -15
  15. boulderopalscaleupsdk/experiments/common.py +0 -16
  16. boulderopalscaleupsdk/experiments/drag_leakage_calibration.py +66 -0
  17. boulderopalscaleupsdk/experiments/fine_amplitude_calibration.py +54 -0
  18. boulderopalscaleupsdk/experiments/power_rabi.py +22 -16
  19. boulderopalscaleupsdk/experiments/power_rabi_ef.py +67 -0
  20. boulderopalscaleupsdk/experiments/ramsey.py +21 -18
  21. boulderopalscaleupsdk/experiments/readout_classifier_calibration.py +30 -8
  22. boulderopalscaleupsdk/experiments/resonator_spectroscopy.py +20 -18
  23. boulderopalscaleupsdk/experiments/resonator_spectroscopy_by_bias.py +23 -20
  24. boulderopalscaleupsdk/experiments/resonator_spectroscopy_by_power.py +22 -21
  25. boulderopalscaleupsdk/experiments/t1.py +16 -22
  26. boulderopalscaleupsdk/experiments/t2.py +19 -16
  27. boulderopalscaleupsdk/experiments/t2_echo.py +51 -0
  28. boulderopalscaleupsdk/experiments/transmon_anharmonicity.py +26 -24
  29. boulderopalscaleupsdk/experiments/transmon_spectroscopy.py +19 -17
  30. boulderopalscaleupsdk/experiments/voltage_bias_fine_tune.py +58 -0
  31. boulderopalscaleupsdk/experiments/waveforms.py +63 -0
  32. boulderopalscaleupsdk/experiments/zz_ramsey.py +59 -0
  33. boulderopalscaleupsdk/plotting/dtypes.py +6 -3
  34. boulderopalscaleupsdk/protobuf/v1/agent_pb2.py +9 -3
  35. boulderopalscaleupsdk/protobuf/v1/agent_pb2.pyi +14 -0
  36. boulderopalscaleupsdk/protobuf/v1/agent_pb2_grpc.py +34 -0
  37. boulderopalscaleupsdk/protobuf/v1/device_pb2.py +32 -32
  38. boulderopalscaleupsdk/protobuf/v1/device_pb2.pyi +8 -4
  39. boulderopalscaleupsdk/routines/__init__.py +25 -1
  40. boulderopalscaleupsdk/routines/common.py +13 -0
  41. boulderopalscaleupsdk/routines/one_qubit_calibration.py +36 -0
  42. boulderopalscaleupsdk/routines/resonator_mapping.py +17 -1
  43. boulderopalscaleupsdk/routines/transmon_coherence.py +34 -0
  44. boulderopalscaleupsdk/routines/transmon_discovery.py +41 -0
  45. boulderopalscaleupsdk/routines/transmon_retuning.py +41 -0
  46. boulderopalscaleupsdk/stubs/maps.py +11 -2
  47. boulder_opal_scale_up_sdk-1.0.3.dist-info/RECORD +0 -62
  48. {boulder_opal_scale_up_sdk-1.0.3.dist-info → boulder_opal_scale_up_sdk-1.0.5.dist-info}/LICENSE +0 -0
  49. {boulder_opal_scale_up_sdk-1.0.3.dist-info → boulder_opal_scale_up_sdk-1.0.5.dist-info}/WHEEL +0 -0
@@ -0,0 +1,41 @@
1
+ # Copyright 2025 Q-CTRL. All rights reserved.
2
+ #
3
+ # Licensed under the Q-CTRL Terms of service (the "License"). Unauthorized
4
+ # copying or use of this file, via any medium, is strictly prohibited.
5
+ # Proprietary and confidential. You may not use this file except in compliance
6
+ # with the License. You may obtain a copy of the License at
7
+ #
8
+ # https://q-ctrl.com/terms
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS. See the
12
+ # License for the specific language.
13
+
14
+ from pydantic import PrivateAttr
15
+
16
+ from boulderopalscaleupsdk.experiments import ConstantWaveform
17
+
18
+ from .common import Routine
19
+
20
+
21
+ class TransmonDiscovery(Routine):
22
+ """
23
+ Parameters for running a transmon discovery routine.
24
+
25
+ Attributes
26
+ ----------
27
+ transmon : str
28
+ The reference for the transmon to target.
29
+ spectroscopy_waveform : ConstantWaveform or None, optional
30
+ The drive pulse used during transmon spectroscopy and transmon anharmonicity.
31
+ Defaults to a 10,000 ns pulse whose amplitude is defined by the logic of the experiment.
32
+ force_rerun : bool, optional
33
+ Whether to rerun the entire routine regardless transmon's current calibration status.
34
+ Defaults to False.
35
+ """
36
+
37
+ _routine_name: str = PrivateAttr("transmon_discovery")
38
+
39
+ transmon: str
40
+ spectroscopy_waveform: ConstantWaveform | None = None
41
+ force_rerun: bool = False
@@ -0,0 +1,41 @@
1
+ # Copyright 2025 Q-CTRL. All rights reserved.
2
+ #
3
+ # Licensed under the Q-CTRL Terms of service (the "License"). Unauthorized
4
+ # copying or use of this file, via any medium, is strictly prohibited.
5
+ # Proprietary and confidential. You may not use this file except in compliance
6
+ # with the License. You may obtain a copy of the License at
7
+ #
8
+ # https://q-ctrl.com/terms
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS. See the
12
+ # License for the specific language.
13
+
14
+ from pydantic import PrivateAttr
15
+
16
+ from boulderopalscaleupsdk.experiments import ConstantWaveform
17
+
18
+ from .common import Routine
19
+
20
+
21
+ class TransmonRetuning(Routine):
22
+ """
23
+ Parameters for running a transmon retuning routine.
24
+
25
+ Attributes
26
+ ----------
27
+ transmon : str
28
+ The reference for the transmon to target.
29
+ spectroscopy_waveform : ConstantWaveform or None, optional
30
+ The drive pulse used during transmon spectroscopy.
31
+ Defaults to a 10,000 ns pulse whose amplitude is defined by the logic of the experiment.
32
+ force_rerun : bool, optional
33
+ Whether to rerun the entire routine regardless transmon's current calibration status.
34
+ Defaults to False.
35
+ """
36
+
37
+ _routine_name: str = PrivateAttr("transmon_retuning")
38
+
39
+ transmon: str
40
+ spectroscopy_waveform: ConstantWaveform | None = None
41
+ force_rerun: bool = False
@@ -1,9 +1,18 @@
1
1
  STUB_DATA_FILE_MAPPING: dict[str, list[str]] = {
2
- "feedline_discovery": [f"QM/Tuna-5/feedline_discovery/{n}.json" for n in range(1, 7)],
3
- "resonator_mapping": [f"QM/Tuna-5/resonator_mapping/{n}.json" for n in range(1, 17)],
2
+ # Experiments
3
+ "chi01_scan": ["QM/Tuna-5/chi01_scan.json"],
4
+ "coherence_t1": ["QM/Tuna-5/coherence_t1.json"],
5
+ "coherence_t2": ["QM/Tuna-5/coherence_t2.json"],
6
+ "readout_classifier_calibration": ["QM/Tuna-5/readout_classifier_calibration.json"],
4
7
  "resonator_spectroscopy": ["QM/Tuna-5/resonator_spectroscopy.json"],
5
8
  "resonator_spectroscopy_by_power": ["QM/Tuna-5/resonator_spectroscopy_by_power.json"],
6
9
  "resonator_spectroscopy_by_bias": ["QM/Tuna-5/resonator_spectroscopy_by_bias.json"],
7
10
  "ramsey": ["QM/Tuna-5/ramsey.json"],
8
11
  "power_rabi": ["QM/Tuna-5/power_rabi.json"],
12
+ "transmon_anharmonicity": ["QM/Tuna-5/transmon_anharmonicity.json"],
13
+ "transmon_spectroscopy": ["QM/Tuna-5/transmon_spectroscopy.json"],
14
+ # Routines
15
+ "feedline_discovery": [f"QM/Tuna-5/feedline_discovery/{n}.json" for n in range(1, 7)],
16
+ "resonator_mapping": [f"QM/Tuna-5/resonator_mapping/{n}.json" for n in range(1, 17)],
17
+ "transmon_discovery": [f"QM/Tuna-5/transmon_discovery/{n}.json" for n in range(1, 8)],
9
18
  }
@@ -1,62 +0,0 @@
1
- boulderopalscaleupsdk/__init__.py,sha256=nD3YDqPiE52mmuUrIlDUrYSyljpMsDJvc5HsubBUSs4,592
2
- boulderopalscaleupsdk/agent/__init__.py,sha256=aFkAtHJDOdXA126JklxYz0ix1k4lCcLLS9DQp8zUKMk,1092
3
- boulderopalscaleupsdk/agent/worker.py,sha256=kmse4bg3z8O5JyDVD-LwNO8fHPSP4eZuncNXGXTabGE,8070
4
- boulderopalscaleupsdk/common/__init__.py,sha256=vLaJ1FP36xV5eX6VD7nShqxVBm3UzsBMIK1pmSiTIag,550
5
- boulderopalscaleupsdk/common/dtypes.py,sha256=tGsv5u83BaP1SlwshzZ7fEhFNYOLBSr58HBk3toqPN4,9614
6
- boulderopalscaleupsdk/common/typeclasses.py,sha256=dUpM4vDNQCxVuB45LTyEWO7SuLyzUlG6mJuseM80Chw,3668
7
- boulderopalscaleupsdk/device/__init__.py,sha256=_vgOT4E05P-ZA-CmBfL54Yt0BeHUjOvZkfLQN8Qk_ow,705
8
- boulderopalscaleupsdk/device/common.py,sha256=NxiFdpHXd1Es2_8iqUeAqhL4R4W-POzHoWYtu13JCyo,1875
9
- boulderopalscaleupsdk/device/config_loader.py,sha256=RxCD77Z52lVaMYcimdyxoz9V3hb1Q5ta4xk1eU7wwxM,3367
10
- boulderopalscaleupsdk/device/controller/__init__.py,sha256=ePkrCbX1ORm05fS0BEQ8cx7DPxGGN6IkUoNH6eQL1DM,1136
11
- boulderopalscaleupsdk/device/controller/base.py,sha256=xuT4VzRulknxppiQpzYYn_TwuRNfV9wHMqjN2okA8Lw,793
12
- boulderopalscaleupsdk/device/controller/qblox.py,sha256=c-wG9jAZHy6hCTO7ynKvwJbW1MPNJJh9ryfedthuuz8,22543
13
- boulderopalscaleupsdk/device/controller/quantum_machines.py,sha256=m0_zO7Cn-Ea1-ewG7qgjEnt4GXtQMvBv_oz-dnOmI9k,5320
14
- boulderopalscaleupsdk/device/controller/resolver.py,sha256=hW5U58dmJf_IGmD4EK_bbn0XU-N9autFBFHmqbRnY2Y,3812
15
- boulderopalscaleupsdk/device/defcal.py,sha256=CL9T-oy94st20NyQZWW8mHJU4Nlx2DKZ-o5x1mf6L8c,1912
16
- boulderopalscaleupsdk/device/device.py,sha256=pphqr3OLav1gdoOp7i5ESNYsTfQl-YqfYf0FBdksjLQ,706
17
- boulderopalscaleupsdk/device/processor/__init__.py,sha256=O9d4tMcii3OOGez845qXp06D_AxYMoHr-7ICEStlNro,1038
18
- boulderopalscaleupsdk/device/processor/common.py,sha256=IMT2w-4QOp6ssdWyb0Z-SSCjEeZHGqcn3HwAy2a8yDA,9827
19
- boulderopalscaleupsdk/device/processor/superconducting_processor.py,sha256=PMaYEzdCu3G-JcJ8vy0jX-pNYBehNh6_Faoiw9nNtJU,12372
20
- boulderopalscaleupsdk/experiments/__init__.py,sha256=ZiboRxWevNF-NyYNNimEhf7excAGTaUkfb5xfxrdO08,1686
21
- boulderopalscaleupsdk/experiments/chi01_scan.py,sha256=0tD0s-D9_aAaUBPw7d0eitysTxZr1N_UdIHtJb9GERg,2079
22
- boulderopalscaleupsdk/experiments/common.py,sha256=_TdZACP_iWBXl04PBWyVYCqQT_vJ8N1pQTRycovspA4,2853
23
- boulderopalscaleupsdk/experiments/power_rabi.py,sha256=VNxOaYzMBv5_7d97ZbquEdaR6um4V_OQavMsaEeMtyE,2153
24
- boulderopalscaleupsdk/experiments/ramsey.py,sha256=7pnAiOfRQxAUK_qgccr6cPagMz9yOYrOCGyY_yEsM-k,2038
25
- boulderopalscaleupsdk/experiments/readout_classifier_calibration.py,sha256=36xtyRdT3Y_kTLybXx6YcUycBQ04UdqE8kWSrA1hXeY,945
26
- boulderopalscaleupsdk/experiments/resonator_spectroscopy.py,sha256=vSL2qKOD6P0UntwDj2BNAmLdjHT670tiJzJCOFqDCRQ,2100
27
- boulderopalscaleupsdk/experiments/resonator_spectroscopy_by_bias.py,sha256=mytJjCQxlY87uK_tG8rvP3BWztiIo-i9PdUKXojYoY0,2726
28
- boulderopalscaleupsdk/experiments/resonator_spectroscopy_by_power.py,sha256=N1ibW6ZWSrsRs6-es0bBGkRSc-1WeqU4pwpKRSpZBhE,2225
29
- boulderopalscaleupsdk/experiments/t1.py,sha256=k1Nn2FD18dDHx2_-nvV0QGf10cJvXAI_xNfHtLUZGM8,1776
30
- boulderopalscaleupsdk/experiments/t2.py,sha256=wMIWwRcWoLXRmNPinoe9ltQl0kR4ueGYvWVo2gjog5Y,1596
31
- boulderopalscaleupsdk/experiments/transmon_anharmonicity.py,sha256=nlMYrlmY3vwm8FtrrvsNwqdBa-193Jl3f-Y231rzC9k,2811
32
- boulderopalscaleupsdk/experiments/transmon_spectroscopy.py,sha256=lpeHKaQaYCdovuqnhLrAECbp-J0inrh68M7PNjjNsx4,2239
33
- boulderopalscaleupsdk/grpc_interceptors/__init__.py,sha256=PkdOlllLbRWycofvGCCxDY60Ydp_U0QM5l4u3Fsnno4,616
34
- boulderopalscaleupsdk/grpc_interceptors/auth.py,sha256=PSe_b9ckqhcb3xf1Y4jpn1TjfEWfokkarqfUHIz6HIs,4165
35
- boulderopalscaleupsdk/plotting/__init__.py,sha256=pkdCky3YHqc3PLRy_h9puJKAO4AqSJGebb26x7XayR4,959
36
- boulderopalscaleupsdk/plotting/dtypes.py,sha256=PlVzGpoZfrqVULPJfpRQq3JmgjUgVH7ZPdPkIys_AnE,4737
37
- boulderopalscaleupsdk/protobuf/v1/agent_pb2.py,sha256=yExXTLC3g_TnHJWkfYsF_kctsftxONyZOBtOFDTTuec,5364
38
- boulderopalscaleupsdk/protobuf/v1/agent_pb2.pyi,sha256=YJdOKaOtI2PGk7ct_LuC8_6NeKsLCXMriVEt4-0TWYM,2536
39
- boulderopalscaleupsdk/protobuf/v1/agent_pb2_grpc.py,sha256=UH8u9ZmvMjteAYKtTmA-IWSGZmhCQLHdg0_OuKCaYew,6875
40
- boulderopalscaleupsdk/protobuf/v1/device_pb2.py,sha256=lu-FLsrwT_xnG0411zN2lE1yvtpIiMF22M8hvCpP4Zk,11429
41
- boulderopalscaleupsdk/protobuf/v1/device_pb2.pyi,sha256=NCrnlIXEsTKZaXjgEdy1cXxgOu4Xli0qbUm4_mOXqf8,6527
42
- boulderopalscaleupsdk/protobuf/v1/device_pb2_grpc.py,sha256=0CtrO8gKkcfHn7flQLFAySyOVpdDgzct_EaMMF73rUY,19445
43
- boulderopalscaleupsdk/protobuf/v1/task_pb2.py,sha256=Sd-xzEOJkEZAFw_A0cNXVKOZ_Q71XrIkMl8OTuL9zoo,7132
44
- boulderopalscaleupsdk/protobuf/v1/task_pb2.pyi,sha256=o4QeMmUCT_x19eL7dlNE0LtdqJi1e9kv2gMiD7Z4pwg,6048
45
- boulderopalscaleupsdk/protobuf/v1/task_pb2_grpc.py,sha256=yP2FZ148RmSYFHivatCXuM13oRBDA5wBwmvhZQNBTXQ,5826
46
- boulderopalscaleupsdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
- boulderopalscaleupsdk/routines/__init__.py,sha256=jSrTzE_d-4z-wA8NK9akzVtUJJ_CG026qs8orMuWKfk,143
48
- boulderopalscaleupsdk/routines/common.py,sha256=Lav4eH4GJyRJXBZwmhA3b34UTgck5x4URex3SBSctwM,224
49
- boulderopalscaleupsdk/routines/resonator_mapping.py,sha256=A7Z5jGicezYMxvC4yeRrLu-MbYHfMaZ6h2AuMwBPrBo,475
50
- boulderopalscaleupsdk/stubs/__init__.py,sha256=vLaJ1FP36xV5eX6VD7nShqxVBm3UzsBMIK1pmSiTIag,550
51
- boulderopalscaleupsdk/stubs/dtypes.py,sha256=VH2QqmmaSegv03KEaZBqB-REHhvk5h3GPfQgCJTAYQE,1361
52
- boulderopalscaleupsdk/stubs/maps.py,sha256=fgEwVyaJ1i5io_NCAABJb7Cyyl_zgdjb8xot75ujw8U,575
53
- boulderopalscaleupsdk/third_party/__init__.py,sha256=b9T2IVfz9bMenSsLQuaf4A14ySinjNnSGx68hLsFHZE,596
54
- boulderopalscaleupsdk/third_party/quantum_machines/__init__.py,sha256=ORD6crMw6gtoIp8dmusdwSiU4pje739fOacOfHXSOls,2541
55
- boulderopalscaleupsdk/third_party/quantum_machines/config.py,sha256=tQsWx_nSXSFT4fRuMzuvliplyRsB9Sy70kHqsKuTA-A,20756
56
- boulderopalscaleupsdk/third_party/quantum_machines/constants.py,sha256=5PpAi6MZ53yEinBHerY2ssi30BR37JnLBWL21irpZ8Y,870
57
- boulderopalscaleupsdk/utils/__init__.py,sha256=vLaJ1FP36xV5eX6VD7nShqxVBm3UzsBMIK1pmSiTIag,550
58
- boulderopalscaleupsdk/utils/serial_utils.py,sha256=SzvY-WFD0b8IGSh6PTv7F9y1W2IPPYmj8pY3AsX-xlM,2062
59
- boulder_opal_scale_up_sdk-1.0.3.dist-info/LICENSE,sha256=wqX4S5Brcwkwo750l9grSspwm0cyMsZtZEa1Vx3_WiE,36587
60
- boulder_opal_scale_up_sdk-1.0.3.dist-info/METADATA,sha256=dp1B2PKwkUsZPAQOD9Yndjt1A6_rQMnm1tyReMkpNVk,2419
61
- boulder_opal_scale_up_sdk-1.0.3.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
62
- boulder_opal_scale_up_sdk-1.0.3.dist-info/RECORD,,