boulder-opal-scale-up-sdk 1.0.4__py3-none-any.whl → 1.0.6__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 (56) hide show
  1. {boulder_opal_scale_up_sdk-1.0.4.dist-info → boulder_opal_scale_up_sdk-1.0.6.dist-info}/METADATA +1 -1
  2. boulder_opal_scale_up_sdk-1.0.6.dist-info/RECORD +79 -0
  3. boulderopalscaleupsdk/agent/worker.py +36 -4
  4. boulderopalscaleupsdk/common/dtypes.py +41 -2
  5. boulderopalscaleupsdk/{stubs/__init__.py → constants.py} +3 -0
  6. boulderopalscaleupsdk/device/controller/qblox.py +94 -26
  7. boulderopalscaleupsdk/device/controller/quantum_machines.py +86 -17
  8. boulderopalscaleupsdk/device/device.py +5 -1
  9. boulderopalscaleupsdk/device/processor/common.py +3 -3
  10. boulderopalscaleupsdk/device/processor/superconducting_processor.py +23 -3
  11. boulderopalscaleupsdk/errors.py +21 -0
  12. boulderopalscaleupsdk/experiments/__init__.py +16 -2
  13. boulderopalscaleupsdk/experiments/chi01_scan.py +9 -7
  14. boulderopalscaleupsdk/experiments/cz_spectroscopy_by_bias.py +84 -0
  15. boulderopalscaleupsdk/experiments/drag_leakage_calibration.py +66 -0
  16. boulderopalscaleupsdk/experiments/fine_amplitude_calibration.py +54 -0
  17. boulderopalscaleupsdk/experiments/power_rabi.py +10 -7
  18. boulderopalscaleupsdk/experiments/power_rabi_ef.py +10 -9
  19. boulderopalscaleupsdk/experiments/ramsey.py +9 -7
  20. boulderopalscaleupsdk/experiments/ramsey_ef.py +62 -0
  21. boulderopalscaleupsdk/experiments/{readout_classifier_calibration.py → readout_classifier.py} +16 -6
  22. boulderopalscaleupsdk/experiments/readout_optimization.py +57 -0
  23. boulderopalscaleupsdk/experiments/resonator_spectroscopy.py +9 -7
  24. boulderopalscaleupsdk/experiments/resonator_spectroscopy_by_bias.py +12 -11
  25. boulderopalscaleupsdk/experiments/resonator_spectroscopy_by_power.py +10 -9
  26. boulderopalscaleupsdk/experiments/t1.py +8 -6
  27. boulderopalscaleupsdk/experiments/t2.py +12 -10
  28. boulderopalscaleupsdk/experiments/t2_echo.py +12 -10
  29. boulderopalscaleupsdk/experiments/transmon_anharmonicity.py +13 -12
  30. boulderopalscaleupsdk/experiments/transmon_spectroscopy.py +10 -8
  31. boulderopalscaleupsdk/experiments/voltage_bias_fine_tune.py +58 -0
  32. boulderopalscaleupsdk/experiments/zz_ramsey.py +59 -0
  33. boulderopalscaleupsdk/grpc_interceptors/error.py +318 -0
  34. boulderopalscaleupsdk/plotting/dtypes.py +10 -8
  35. boulderopalscaleupsdk/protobuf/v1/agent_pb2.py +9 -3
  36. boulderopalscaleupsdk/protobuf/v1/agent_pb2.pyi +14 -0
  37. boulderopalscaleupsdk/protobuf/v1/agent_pb2_grpc.py +34 -0
  38. boulderopalscaleupsdk/protobuf/v1/device_pb2.py +57 -49
  39. boulderopalscaleupsdk/protobuf/v1/device_pb2.pyi +67 -41
  40. boulderopalscaleupsdk/protobuf/v1/device_pb2_grpc.py +100 -66
  41. boulderopalscaleupsdk/protobuf/v1/job_pb2.py +47 -0
  42. boulderopalscaleupsdk/protobuf/v1/job_pb2.pyi +54 -0
  43. boulderopalscaleupsdk/protobuf/v1/job_pb2_grpc.py +138 -0
  44. boulderopalscaleupsdk/routines/__init__.py +10 -1
  45. boulderopalscaleupsdk/routines/one_qubit_calibration.py +36 -0
  46. boulderopalscaleupsdk/routines/resonator_mapping.py +1 -1
  47. boulderopalscaleupsdk/routines/transmon_coherence.py +34 -0
  48. boulderopalscaleupsdk/routines/transmon_discovery.py +5 -9
  49. boulderopalscaleupsdk/routines/transmon_retuning.py +13 -3
  50. boulderopalscaleupsdk/third_party/quantum_machines/__init__.py +1 -1
  51. boulderopalscaleupsdk/third_party/quantum_machines/config.py +51 -48
  52. boulder_opal_scale_up_sdk-1.0.4.dist-info/RECORD +0 -67
  53. boulderopalscaleupsdk/stubs/dtypes.py +0 -47
  54. boulderopalscaleupsdk/stubs/maps.py +0 -18
  55. {boulder_opal_scale_up_sdk-1.0.4.dist-info → boulder_opal_scale_up_sdk-1.0.6.dist-info}/LICENSE +0 -0
  56. {boulder_opal_scale_up_sdk-1.0.4.dist-info → boulder_opal_scale_up_sdk-1.0.6.dist-info}/WHEEL +0 -0
@@ -1,67 +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=mx59XmjiThZ-k2fq0t8Kjp3jh9U8ze1lvEIYZ82pxPo,9851
6
- boulderopalscaleupsdk/common/typeclasses.py,sha256=dUpM4vDNQCxVuB45LTyEWO7SuLyzUlG6mJuseM80Chw,3668
7
- boulderopalscaleupsdk/device/__init__.py,sha256=vLaJ1FP36xV5eX6VD7nShqxVBm3UzsBMIK1pmSiTIag,550
8
- boulderopalscaleupsdk/device/common.py,sha256=NxiFdpHXd1Es2_8iqUeAqhL4R4W-POzHoWYtu13JCyo,1875
9
- boulderopalscaleupsdk/device/config_loader.py,sha256=kGUaUtYAREYN7grtQ9SUO3dPUqiHVUnVOQbXFZpXvtw,3414
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=duPHmJ9weYbnqILvZltU1HKu21HMVVew7MSPVnxumv8,26573
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=3IPmcLx89ZDv9sCPncozWA-hhnZRZK3OiOiBcAW05lI,739
16
- boulderopalscaleupsdk/device/device.py,sha256=MF6qMU3PCm2MkJ20Waoeih3Q4ghAxs2-VXWmrJU_pTA,2151
17
- boulderopalscaleupsdk/device/processor/__init__.py,sha256=YLn1UTCIX0CYfah1muLXrhujJx7sz56JZQ4Pn4DnKd0,972
18
- boulderopalscaleupsdk/device/processor/common.py,sha256=1ot1MbK6P1rZspX9bpfFXUSzlzr70x0GIDAVsFKcMTA,9667
19
- boulderopalscaleupsdk/device/processor/superconducting_processor.py,sha256=pTnF60L8PqHRouXrnBdUvogYClHNK2-JEHFg52bAnMk,12718
20
- boulderopalscaleupsdk/experiments/__init__.py,sha256=DaA6uZE_jk4nKyks1Itlfqyz43fsVqIi1GIr2_8p63g,1985
21
- boulderopalscaleupsdk/experiments/chi01_scan.py,sha256=cNwzlfzGDTnuxpAeiU_tsy3YXB19IWhq8-Ugk1Aofng,2152
22
- boulderopalscaleupsdk/experiments/common.py,sha256=m-A91hOcLYHBqL9jUI4-ia_13U0-wv711aMgCyjiGqw,2535
23
- boulderopalscaleupsdk/experiments/power_rabi.py,sha256=rkJ_3Opny-KKVRN0qehBknyiKZ39jlyHIDTm_Yn2p80,2241
24
- boulderopalscaleupsdk/experiments/power_rabi_ef.py,sha256=lTRTaf8j56g_hX3LVzFYqdaRVMYOAbAjYf_F4FJ3cZI,2339
25
- boulderopalscaleupsdk/experiments/ramsey.py,sha256=06niPOuTYKlgNfmBCjYWSV5zgbkMpaSzx9nAMWaSnLg,2066
26
- boulderopalscaleupsdk/experiments/readout_classifier_calibration.py,sha256=ZUVIYTMXHQQaBGlhwiIOoKszFBc7m9G57K4Zb80RAOM,1589
27
- boulderopalscaleupsdk/experiments/resonator_spectroscopy.py,sha256=4JAYBwwBEID0-UmnBAaQaiA2XYskMpoaXIR0H1Iega4,2141
28
- boulderopalscaleupsdk/experiments/resonator_spectroscopy_by_bias.py,sha256=TGsN9SKA6jB1ahwOibQ6geXQtdifxYbAkrQ6jY5u3uU,2761
29
- boulderopalscaleupsdk/experiments/resonator_spectroscopy_by_power.py,sha256=_VbeRm-LIS5NJI3eLbmU-6Zt-0fBsA9AvorGJTfak_k,2309
30
- boulderopalscaleupsdk/experiments/t1.py,sha256=ZLu3r0wA-q63TT7900miC8oEZNmHD4pKfZAdA0r5gKk,1511
31
- boulderopalscaleupsdk/experiments/t2.py,sha256=cNvOkdtuI3468aKwQHZIVbM3ZMBGLCNcaJ0UjL5Ouh0,1649
32
- boulderopalscaleupsdk/experiments/t2_echo.py,sha256=aTqrBQeEAr0nEmVHyZvDB453YEjHz0oe9kHJE-6nPa0,1659
33
- boulderopalscaleupsdk/experiments/transmon_anharmonicity.py,sha256=EyqtmTmbLyi710Pb0x3NMlcNnWNd8tGlxG-TJsgXrH0,2777
34
- boulderopalscaleupsdk/experiments/transmon_spectroscopy.py,sha256=khmwNR8WS9qCDHZTs7Dw5Ov0UCnHXtzOe1koG98XWzQ,2279
35
- boulderopalscaleupsdk/experiments/waveforms.py,sha256=zyzADCra9T0wphltrhfj75wB2y4qwTSvcU2mBJQNrjU,1712
36
- boulderopalscaleupsdk/grpc_interceptors/__init__.py,sha256=PkdOlllLbRWycofvGCCxDY60Ydp_U0QM5l4u3Fsnno4,616
37
- boulderopalscaleupsdk/grpc_interceptors/auth.py,sha256=PSe_b9ckqhcb3xf1Y4jpn1TjfEWfokkarqfUHIz6HIs,4165
38
- boulderopalscaleupsdk/plotting/__init__.py,sha256=pkdCky3YHqc3PLRy_h9puJKAO4AqSJGebb26x7XayR4,959
39
- boulderopalscaleupsdk/plotting/dtypes.py,sha256=aXHf09EZrV95O5oHhAZuLgu-y1__yRpOUJI_UqWrYHk,4769
40
- boulderopalscaleupsdk/protobuf/v1/agent_pb2.py,sha256=yExXTLC3g_TnHJWkfYsF_kctsftxONyZOBtOFDTTuec,5364
41
- boulderopalscaleupsdk/protobuf/v1/agent_pb2.pyi,sha256=YJdOKaOtI2PGk7ct_LuC8_6NeKsLCXMriVEt4-0TWYM,2536
42
- boulderopalscaleupsdk/protobuf/v1/agent_pb2_grpc.py,sha256=UH8u9ZmvMjteAYKtTmA-IWSGZmhCQLHdg0_OuKCaYew,6875
43
- boulderopalscaleupsdk/protobuf/v1/device_pb2.py,sha256=OZbeKMy-XzpwvVNzzrcFvUpDBIAM59pTJ0EvRMm9fvY,11541
44
- boulderopalscaleupsdk/protobuf/v1/device_pb2.pyi,sha256=zhMvVaXJWQ2rIrioLX9jgggcsYD78rVPbaYdpNJ8Phw,6731
45
- boulderopalscaleupsdk/protobuf/v1/device_pb2_grpc.py,sha256=0CtrO8gKkcfHn7flQLFAySyOVpdDgzct_EaMMF73rUY,19445
46
- boulderopalscaleupsdk/protobuf/v1/task_pb2.py,sha256=Sd-xzEOJkEZAFw_A0cNXVKOZ_Q71XrIkMl8OTuL9zoo,7132
47
- boulderopalscaleupsdk/protobuf/v1/task_pb2.pyi,sha256=o4QeMmUCT_x19eL7dlNE0LtdqJi1e9kv2gMiD7Z4pwg,6048
48
- boulderopalscaleupsdk/protobuf/v1/task_pb2_grpc.py,sha256=yP2FZ148RmSYFHivatCXuM13oRBDA5wBwmvhZQNBTXQ,5826
49
- boulderopalscaleupsdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
- boulderopalscaleupsdk/routines/__init__.py,sha256=lIq1QgC8fJUR7fFr1U0rivjMse9HElYA_VtPzgvqsLQ,833
51
- boulderopalscaleupsdk/routines/common.py,sha256=BvZ1DvCJDFHkauOEq8z-Mkj_mwO-1BSRLHkiTaIbJ0U,775
52
- boulderopalscaleupsdk/routines/resonator_mapping.py,sha256=qWQMTm-lr3FSUaC3aRFWLjsCDYFu7sqqXNAudSgOig8,1186
53
- boulderopalscaleupsdk/routines/transmon_discovery.py,sha256=Xf8FdzBpGEhU0cm8D_zmdHqh76-CglyVBnuAWyV4gpc,1695
54
- boulderopalscaleupsdk/routines/transmon_retuning.py,sha256=ePBUYk5MTYDPJuYXB0SCIvJxNGCt9VBegs2HELrPvnM,921
55
- boulderopalscaleupsdk/stubs/__init__.py,sha256=vLaJ1FP36xV5eX6VD7nShqxVBm3UzsBMIK1pmSiTIag,550
56
- boulderopalscaleupsdk/stubs/dtypes.py,sha256=VH2QqmmaSegv03KEaZBqB-REHhvk5h3GPfQgCJTAYQE,1361
57
- boulderopalscaleupsdk/stubs/maps.py,sha256=oSGfEOCGSAZjqDRVbHr0B7S3VnyV1pvdRBa5NqnXxuA,1087
58
- boulderopalscaleupsdk/third_party/__init__.py,sha256=b9T2IVfz9bMenSsLQuaf4A14ySinjNnSGx68hLsFHZE,596
59
- boulderopalscaleupsdk/third_party/quantum_machines/__init__.py,sha256=ORD6crMw6gtoIp8dmusdwSiU4pje739fOacOfHXSOls,2541
60
- boulderopalscaleupsdk/third_party/quantum_machines/config.py,sha256=tQsWx_nSXSFT4fRuMzuvliplyRsB9Sy70kHqsKuTA-A,20756
61
- boulderopalscaleupsdk/third_party/quantum_machines/constants.py,sha256=5PpAi6MZ53yEinBHerY2ssi30BR37JnLBWL21irpZ8Y,870
62
- boulderopalscaleupsdk/utils/__init__.py,sha256=vLaJ1FP36xV5eX6VD7nShqxVBm3UzsBMIK1pmSiTIag,550
63
- boulderopalscaleupsdk/utils/serial_utils.py,sha256=SzvY-WFD0b8IGSh6PTv7F9y1W2IPPYmj8pY3AsX-xlM,2062
64
- boulder_opal_scale_up_sdk-1.0.4.dist-info/LICENSE,sha256=wqX4S5Brcwkwo750l9grSspwm0cyMsZtZEa1Vx3_WiE,36587
65
- boulder_opal_scale_up_sdk-1.0.4.dist-info/METADATA,sha256=FaWi1Ga5R86tAKggtLbRMXgCz8SgRBO-5P0sPlpPg9Q,2419
66
- boulder_opal_scale_up_sdk-1.0.4.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
67
- boulder_opal_scale_up_sdk-1.0.4.dist-info/RECORD,,
@@ -1,47 +0,0 @@
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 pathlib import Path
15
- from typing import Any
16
-
17
- from pydantic import TypeAdapter
18
- from pydantic.dataclasses import dataclass
19
-
20
-
21
- @dataclass
22
- class StubMetadata:
23
- api_url: str
24
- app_name: str
25
- device_name: str
26
- controller_type: str
27
- routine_name: str
28
- parameters: dict[str, Any]
29
- created_at: str
30
-
31
-
32
- @dataclass
33
- class StubData:
34
- raw_data: dict[str, Any]
35
- metadata: StubMetadata | None = None
36
-
37
- def to_dict(self) -> dict[str, Any]:
38
- return TypeAdapter(type(self)).dump_python(self)
39
-
40
- @classmethod
41
- def from_str(cls, data: str) -> "StubData":
42
- return TypeAdapter(cls).validate_json(data)
43
-
44
- @classmethod
45
- def load_from_file(cls, file_path: Path) -> "StubData":
46
- with file_path.open("rb") as file:
47
- return cls.from_str(file.read().decode("utf-8"))
@@ -1,18 +0,0 @@
1
- STUB_DATA_FILE_MAPPING: dict[str, list[str]] = {
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"],
7
- "resonator_spectroscopy": ["QM/Tuna-5/resonator_spectroscopy.json"],
8
- "resonator_spectroscopy_by_power": ["QM/Tuna-5/resonator_spectroscopy_by_power.json"],
9
- "resonator_spectroscopy_by_bias": ["QM/Tuna-5/resonator_spectroscopy_by_bias.json"],
10
- "ramsey": ["QM/Tuna-5/ramsey.json"],
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)],
18
- }