diff --git a/azure-quantum/azure/quantum/target/__init__.py b/azure-quantum/azure/quantum/target/__init__.py index 7c9db49a2..7986a1a05 100644 --- a/azure-quantum/azure/quantum/target/__init__.py +++ b/azure-quantum/azure/quantum/target/__init__.py @@ -10,6 +10,7 @@ from .ionq import IonQ from .quantinuum import Quantinuum from .rigetti import Rigetti +from .pasqal import Pasqal # Default targets to use when there is no target class # associated with a given target ID @@ -17,5 +18,6 @@ "ionq": IonQ, "quantinuum": Quantinuum, "rigetti": Rigetti, - "toshiba": Solver + "toshiba": Solver, + "pasqal": Pasqal } diff --git a/azure-quantum/azure/quantum/target/pasqal/__init__.py b/azure-quantum/azure/quantum/target/pasqal/__init__.py new file mode 100644 index 000000000..7713846e5 --- /dev/null +++ b/azure-quantum/azure/quantum/target/pasqal/__init__.py @@ -0,0 +1,16 @@ +"""Defines targets and helper functions for the Pasqal provider""" + +## +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. +## + +__all__ = [ + "InputParams", + "Result", + "Pasqal", + "PasqalTarget", +] + +from .result import Result +from .target import InputParams, Pasqal, PasqalTarget diff --git a/azure-quantum/azure/quantum/target/pasqal/result.py b/azure-quantum/azure/quantum/target/pasqal/result.py new file mode 100644 index 000000000..9a0d489fd --- /dev/null +++ b/azure-quantum/azure/quantum/target/pasqal/result.py @@ -0,0 +1,44 @@ +"""Defines targets and helper functions for the Pasqal provider""" + +## +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. +## + +__all__ = [ + "Result", +] + +import json +from typing import Union, Dict, List, TypeVar, cast + +from ...job import Job + + +class Result: + """Downloads the data of a completed Job and provides a dictionary of registers. + + >>> from azure.quantum.job import Job + >>> from azure.quantum.target.pasqal import Result + >>> job = Job(...) # This job should come from a Pasqal target + >>> job.wait_until_completed() + >>> result = Result(job) + """ + + def __init__(self, job: Job) -> None: + """ + Decode the results of a Job with output type of "pasqal.pulser-results.v1" + + :raises: RuntimeError if the job has not completed successfully + """ + + if job.details.status != "Succeeded": + raise RuntimeError( + "Cannot retrieve results as job execution failed " + f"(status: {job.details.status}." + f"error: {job.details.error_data})" + ) + self.data = cast(Dict[str, int], json.loads(job.download_data(job.details.output_data_uri))) + + def __getitem__(self, register_name: str) -> int: + return self.data[register_name] \ No newline at end of file diff --git a/azure-quantum/azure/quantum/target/pasqal/target.py b/azure-quantum/azure/quantum/target/pasqal/target.py new file mode 100644 index 000000000..a1cc246e5 --- /dev/null +++ b/azure-quantum/azure/quantum/target/pasqal/target.py @@ -0,0 +1,121 @@ +"""Defines targets and helper functions for the Pasqal provider""" + +## +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. +## + +__all__ = [ + "InputParams", + "Pasqal", + "PasqalTarget", +] + +from dataclasses import dataclass +from enum import Enum +from typing import Union, Any, Dict, List, Optional + +from ..target import Target +from ... import Job +from ...workspace import Workspace + + +class PasqalTarget(str, Enum): + """The known targets for the Pasqal provider + """ + + SIM_EMU_FREE = "pasqal.sim.emu_free" + SIM_EMU_TN = "pasqal.sim.emu_tn" + QPU_FRESNEL = "pasqal.qpu.fresnel" + """A simulator target for Quil. See https://github.com/quil-lang/qvm for more info.""" + + def simulators() -> List[str]: + """Returns a list of simulator targets""" + return [ + PasqalTarget.SIM_EMU_FREE.value, + PasqalTarget.SIM_EMU_TN.value + ] + + def qpus() -> List[str]: + """Returns a list of QPU targets""" + return [ + PasqalTarget.QPU_FRESNEL.value + ] + + def num_qubits(target_name) -> int: + """Returns the number of qubits supported by the given target""" + if target_name == PasqalTarget.SIM_EMU_FREE.value: + return 12 + elif target_name == PasqalTarget.SIM_EMU_TN.value: + return 100 + elif target_name == PasqalTarget.QPU_FRESNEL.value: + return 20 + else: + raise ValueError(f"Unknown target {target_name}") + + +@dataclass +class InputParams: + runs: int = 1 + """The number of times to run the experiment.""" + + +class Pasqal(Target): + """Pasqal target, defaults to the simulator PasqalTarget.SIM_EMU_FREE + + In order to process the results of a Quil input to this target, we recommend using the included Result class. + """ + + target_names = tuple(target.value for target in PasqalTarget) + + def __init__( + self, + workspace: Workspace, + name: Union[PasqalTarget, str] = PasqalTarget.SIM_EMU_FREE, + input_data_format: str = "pasqal.pulser.v1", + output_data_format: str = "pasqal.pulser-results.v1", + capability: str = "BasicExecution", + provider_id: str = "pasqal", + encoding: str = "", + **kwargs, + ): + super().__init__( + workspace=workspace, + name=name, + input_data_format=input_data_format, + output_data_format=output_data_format, + capability=capability, + provider_id=provider_id, + content_type="text/plain", + encoding=encoding, + **kwargs, + ) + + def submit( + self, + input_data: Any, + name: str = "azure-quantum-job", + input_params: Union[InputParams, None, Dict[str, Any]] = None, + **kwargs, + ) -> Job: + """Submit input data and return Job. + + Provide input_data_format, output_data_format and content_type + keyword arguments to override default values. + + :param input_data: Input data + :type input_data: Any + :param name: Job name + :type name: str + :param input_params: Input parameters, see :class:`azure.quantum.target.pasqal.InputParams` for details. + :type input_params: Union[InputParams, None, Dict[str, Any]] + :return: Azure Quantum job + :rtype: Job + """ + if isinstance(input_params, InputParams): + typed_input_params = input_params + input_params = { + "runs": typed_input_params.runs, + } + + return super().submit(input_data, name, input_params, **kwargs) diff --git a/azure-quantum/tests.live/Run.ps1 b/azure-quantum/tests.live/Run.ps1 index 6d91f52f1..86a5e64d1 100644 --- a/azure-quantum/tests.live/Run.ps1 +++ b/azure-quantum/tests.live/Run.ps1 @@ -61,6 +61,9 @@ function PyTestMarkExpr() { if ($AzureQuantumCapabilities -notcontains "submit.rigetti") { $MarkExpr += " and not rigetti" } + if ($AzureQuantumCapabilities -notcontains "submit.pasqal") { + $MarkExpr += " and not pasqal" + } if ($AzureQuantumCapabilities -notcontains "submit.quantinuum") { $MarkExpr += " and not quantinuum" } diff --git a/azure-quantum/tests/unit/recordings/test_job_submit_pasqal_default_input_params.yaml b/azure-quantum/tests/unit/recordings/test_job_submit_pasqal_default_input_params.yaml new file mode 100644 index 000000000..0d59df827 --- /dev/null +++ b/azure-quantum/tests/unit/recordings/test_job_submit_pasqal_default_input_params.yaml @@ -0,0 +1,769 @@ +interactions: +- request: + body: client_id=PLACEHOLDER&grant_type=client_credentials&client_info=1&client_secret=PLACEHOLDER&scope=https%3A%2F%2Fquantum.microsoft.com%2F.default + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '144' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - azsdk-python-identity/1.14.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-client-cpu: + - x64 + x-client-current-telemetry: + - 4|730,2| + x-client-os: + - win32 + x-client-sku: + - MSAL.Python + x-client-ver: + - 1.23.0 + method: POST + uri: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/oauth2/v2.0/token + response: + body: + string: '{"token_type": "Bearer", "expires_in": 86399, "ext_expires_in": 86399, + "refresh_in": 43199, "access_token": "fake_token"}' + headers: + content-length: + - '121' + content-type: + - application/json; charset=utf-8 + status: + code: 200 + message: OK +- request: + body: 'b''{"containerName": "job-00000000-0000-0000-0000-000000000001"}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/storage/sasUri?api-version=2022-09-12-preview&test-sequence-id=1 + response: + body: + string: '{"sasUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "access_token": "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '190' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-date: + - Thu, 14 Sep 2023 15:25:56 GMT + x-ms-version: + - '2023-01-03' + method: GET + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?restype=container&sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw + response: + body: + string: "\uFEFFContainerNotFoundThe + specified container does not exist.\nRequestId:4fe11d85-b01e-001f-4f1f-e77504000000\nTime:2023-09-14T15:25:54.7913563Z" + headers: + content-length: + - '223' + content-type: + - application/xml + x-ms-version: + - '2023-01-03' + status: + code: 404 + message: The specified container does not exist. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-date: + - Thu, 14 Sep 2023 15:25:57 GMT + x-ms-version: + - '2023-01-03' + method: PUT + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?restype=container&sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw + response: + body: + string: '' + headers: + content-length: + - '0' + x-ms-version: + - '2023-01-03' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-date: + - Thu, 14 Sep 2023 15:25:57 GMT + x-ms-version: + - '2023-01-03' + method: GET + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?restype=container&sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw + response: + body: + string: '' + headers: + content-length: + - '0' + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-version: + - '2023-01-03' + status: + code: 200 + message: OK +- request: + body: 'b''{"sequence_builder": "{\\"version\\": \\"1\\", \\"name\\": \\"pulser-exported\\", + \\"register\\": [{\\"name\\": \\"q0\\", \\"x\\": -10.0, \\"y\\": 0.0}, {\\"name\\": + \\"q1\\", \\"x\\": -5.0, \\"y\\": -8.660254}, {\\"name\\": \\"q2\\", \\"x\\": + -5.0, \\"y\\": 0.0}, {\\"name\\": \\"q3\\", \\"x\\": 0.0, \\"y\\": 0.0}, {\\"name\\": + \\"q4\\", \\"x\\": 5.0, \\"y\\": -8.660254}, {\\"name\\": \\"q5\\", \\"x\\": + 7.5, \\"y\\": 4.330127}], \\"channels\\": {\\"ch_global\\": \\"rydberg_global\\"}, + \\"variables\\": {}, \\"operations\\": [{\\"op\\": \\"pulse\\", \\"channel\\": + \\"ch_global\\", \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": + \\"constant\\", \\"duration\\": 124, \\"value\\": 12.566370614359172}, \\"detuning\\": + {\\"kind\\": \\"constant\\", \\"duration\\": 124, \\"value\\": 25.132741228718345}, + \\"phase\\": 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": + \\"ch_global\\", \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": + \\"constant\\", \\"duration\\": 400, \\"value\\": 0.0}, \\"detuning\\": {\\"kind\\": + \\"constant\\", \\"duration\\": 400, \\"value\\": -25.132741228718345}, \\"phase\\": + 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", + \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", + \\"duration\\": 100, \\"value\\": 12.566370614359172}, \\"detuning\\": {\\"kind\\": + \\"constant\\", \\"duration\\": 100, \\"value\\": 25.132741228718345}, \\"phase\\": + 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", + \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", + \\"duration\\": 400, \\"value\\": 0.0}, \\"detuning\\": {\\"kind\\": \\"constant\\", + \\"duration\\": 400, \\"value\\": -25.132741228718345}, \\"phase\\": 0.0, \\"post_phase_shift\\": + 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", \\"protocol\\": + \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", \\"duration\\": + 100, \\"value\\": 12.566370614359172}, \\"detuning\\": {\\"kind\\": \\"constant\\", + \\"duration\\": 100, \\"value\\": 25.132741228718345}, \\"phase\\": 0.0, \\"post_phase_shift\\": + 0.0}], \\"measurement\\": null, \\"device\\": {\\"version\\": \\"1\\", \\"channels\\": + [{\\"id\\": \\"rydberg_global\\", \\"basis\\": \\"ground-rydberg\\", \\"addressing\\": + \\"Global\\", \\"max_abs_detuning\\": 31.41592653589793, \\"max_amp\\": 12.566370614359172, + \\"min_retarget_interval\\": null, \\"fixed_retarget_t\\": null, \\"max_targets\\": + null, \\"clock_period\\": 4, \\"min_duration\\": 16, \\"max_duration\\": 100000000, + \\"mod_bandwidth\\": 2, \\"eom_config\\": {\\"limiting_beam\\": \\"RED\\", \\"max_limiting_amp\\": + 251.32741228718345, \\"intermediate_detuning\\": 4398.22971502571, \\"controlled_beams\\": + [\\"BLUE\\", \\"RED\\"], \\"mod_bandwidth\\": 11}}], \\"name\\": \\"Fresnel\\", + \\"dimensions\\": 2, \\"rydberg_level\\": 60, \\"min_atom_distance\\": 5, \\"max_atom_num\\": + 20, \\"max_radial_distance\\": 35, \\"interaction_coeff_xy\\": null, \\"supports_slm_mask\\": + false, \\"max_layout_filling\\": 0.5, \\"reusable_channels\\": false, \\"pre_calibrated_layouts\\": + [], \\"is_virtual\\": false}, \\"layout\\": {\\"coordinates\\": [[-12.5, 4.330127], + [-10.0, 0.0], [-7.5, -4.330127], [-7.5, 4.330127], [-5.0, -8.660254], [-5.0, + 0.0], [-5.0, 8.660254], [-2.5, -4.330127], [-2.5, 4.330127], [0.0, -8.660254], + [0.0, 0.0], [0.0, 8.660254], [2.5, -4.330127], [2.5, 4.330127], [5.0, -8.660254], + [5.0, 0.0], [5.0, 8.660254], [7.5, -4.330127], [7.5, 4.330127], [10.0, 0.0]], + \\"slug\\": \\"TriangularLatticeLayout(20, 5.0\\\\u00b5m)\\"}}"}''' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '3645' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Thu, 14 Sep 2023 15:25:58 GMT + x-ms-version: + - '2023-01-03' + method: PUT + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw + response: + body: + string: '' + headers: + content-length: + - '0' + x-ms-version: + - '2023-01-03' + status: + code: 201 + message: Created +- request: + body: 'b''{"id": "00000000-0000-0000-0000-000000000001", "name": "qdk-python-test", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "itemType": "Job", + "containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "outputDataFormat": + "pasqal.pulser-results.v1"}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '534' + Content-Type: + - application/json + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=1 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "metadata": null, + "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", "outputDataFormat": + "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net:443/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + null, "errorData": null, "isCancelling": false, "tags": [], "name": "qdk-python-test", + "id": "00000000-0000-0000-0000-000000000001", "providerId": "pasqal", "target": + "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:25:56.3905584+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1071' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=1 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "metadata": null, + "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", "outputDataFormat": + "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + null, "errorData": null, "isCancelling": false, "tags": [], "name": "qdk-python-test", + "id": "00000000-0000-0000-0000-000000000001", "providerId": "pasqal", "target": + "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:25:56.3905584+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1306' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=2 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "metadata": null, + "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", "outputDataFormat": + "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:25:56.3905584+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1314' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=3 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "metadata": null, + "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", "outputDataFormat": + "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:25:56.3905584+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1314' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=4 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "metadata": null, + "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", "outputDataFormat": + "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:25:56.3905584+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1314' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=5 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "metadata": null, + "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", "outputDataFormat": + "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:25:56.3905584+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1314' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=6 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "metadata": null, + "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", "outputDataFormat": + "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:25:56.3905584+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1314' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=7 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "metadata": null, + "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", "outputDataFormat": + "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:25:56.3905584+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1314' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=8 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "metadata": null, + "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", "outputDataFormat": + "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:25:56.3905584+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1314' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=9 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "metadata": null, + "sessionId": null, "status": "Succeeded", "jobType": "QuantumComputing", "outputDataFormat": + "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": "2023-09-14T15:26:02.634789+00:00", "cancellationTime": + null, "quantumComputingData": {"count": 1}, "errorData": null, "isCancelling": + false, "tags": [], "name": "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:25:56.3905584+00:00", + "endExecutionTime": "2023-09-14T15:26:03.116888+00:00", "costEstimate": {"currencyCode": + "USD", "events": [{"dimensionId": "compute-time", "dimensionName": "Computing + Time", "measureUnit": "per hour", "amountBilled": 0.0, "amountConsumed": 0.00013, + "unitPrice": 0.0}], "estimatedTotal": 0.0}, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1594' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=10 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "metadata": null, + "sessionId": null, "status": "Succeeded", "jobType": "QuantumComputing", "outputDataFormat": + "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": "2023-09-14T15:26:02.634789+00:00", "cancellationTime": + null, "quantumComputingData": {"count": 1}, "errorData": null, "isCancelling": + false, "tags": [], "name": "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:25:56.3905584+00:00", + "endExecutionTime": "2023-09-14T15:26:03.116888+00:00", "costEstimate": {"currencyCode": + "USD", "events": [{"dimensionId": "compute-time", "dimensionName": "Computing + Time", "measureUnit": "per hour", "amountBilled": 0.0, "amountConsumed": 0.00013, + "unitPrice": 0.0}], "estimatedTotal": 0.0}, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1594' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=11 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {}, "metadata": null, + "sessionId": null, "status": "Succeeded", "jobType": "QuantumComputing", "outputDataFormat": + "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": "2023-09-14T15:26:02.634789+00:00", "cancellationTime": + null, "quantumComputingData": {"count": 1}, "errorData": null, "isCancelling": + false, "tags": [], "name": "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:25:56.3905584+00:00", + "endExecutionTime": "2023-09-14T15:26:03.116888+00:00", "costEstimate": {"currencyCode": + "USD", "events": [{"dimensionId": "compute-time", "dimensionName": "Computing + Time", "measureUnit": "per hour", "amountBilled": 0.0, "amountConsumed": 0.00013, + "unitPrice": 0.0}], "estimatedTotal": 0.0}, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1594' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-date: + - Thu, 14 Sep 2023 15:26:10 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2023-01-03' + method: GET + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json + response: + body: + string: '{"000000": 8, "000001": 1, "000010": 5, "000100": 11, "001000": 11, + "001001": 3, "001010": 4, "001011": 8, "001100": 1, "001101": 1, "001111": + 2, "010000": 5, "010001": 4, "010010": 1, "010100": 2, "100000": 8, "100001": + 5, "100010": 6, "100100": 2, "100111": 1, "101100": 3, "101110": 1, "110000": + 2, "110001": 2, "111000": 1, "111010": 1, "111101": 1, "access_token": "fake_token"}' + headers: + accept-ranges: + - bytes + content-length: + - '383' + content-range: + - bytes 0-352/353 + content-type: + - application/json + x-ms-blob-content-md5: + - VY/pMhnN6m1kVilyt97ykA== + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Thu, 14 Sep 2023 15:25:57 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2023-01-03' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/azure-quantum/tests/unit/recordings/test_job_submit_pasqal_dict_input_params.yaml b/azure-quantum/tests/unit/recordings/test_job_submit_pasqal_dict_input_params.yaml new file mode 100644 index 000000000..d12e833b7 --- /dev/null +++ b/azure-quantum/tests/unit/recordings/test_job_submit_pasqal_dict_input_params.yaml @@ -0,0 +1,811 @@ +interactions: +- request: + body: client_id=PLACEHOLDER&grant_type=client_credentials&client_info=1&client_secret=PLACEHOLDER&scope=https%3A%2F%2Fquantum.microsoft.com%2F.default + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '144' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - azsdk-python-identity/1.14.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-client-cpu: + - x64 + x-client-current-telemetry: + - 4|730,2| + x-client-os: + - win32 + x-client-sku: + - MSAL.Python + x-client-ver: + - 1.23.0 + method: POST + uri: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/oauth2/v2.0/token + response: + body: + string: '{"token_type": "Bearer", "expires_in": 86399, "ext_expires_in": 86399, + "refresh_in": 43199, "access_token": "fake_token"}' + headers: + content-length: + - '121' + content-type: + - application/json; charset=utf-8 + status: + code: 200 + message: OK +- request: + body: 'b''{"containerName": "job-00000000-0000-0000-0000-000000000001"}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/storage/sasUri?api-version=2022-09-12-preview&test-sequence-id=1 + response: + body: + string: '{"sasUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "access_token": "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '190' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-date: + - Thu, 14 Sep 2023 15:26:13 GMT + x-ms-version: + - '2023-01-03' + method: GET + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?restype=container&sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw + response: + body: + string: "\uFEFFContainerNotFoundThe + specified container does not exist.\nRequestId:3730c147-a01e-003c-041f-e7efc7000000\nTime:2023-09-14T15:26:11.0848115Z" + headers: + content-length: + - '223' + content-type: + - application/xml + x-ms-version: + - '2023-01-03' + status: + code: 404 + message: The specified container does not exist. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-date: + - Thu, 14 Sep 2023 15:26:14 GMT + x-ms-version: + - '2023-01-03' + method: PUT + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?restype=container&sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw + response: + body: + string: '' + headers: + content-length: + - '0' + x-ms-version: + - '2023-01-03' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-date: + - Thu, 14 Sep 2023 15:26:14 GMT + x-ms-version: + - '2023-01-03' + method: GET + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?restype=container&sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw + response: + body: + string: '' + headers: + content-length: + - '0' + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-version: + - '2023-01-03' + status: + code: 200 + message: OK +- request: + body: 'b''{"sequence_builder": "{\\"version\\": \\"1\\", \\"name\\": \\"pulser-exported\\", + \\"register\\": [{\\"name\\": \\"q0\\", \\"x\\": -10.0, \\"y\\": 0.0}, {\\"name\\": + \\"q1\\", \\"x\\": -5.0, \\"y\\": -8.660254}, {\\"name\\": \\"q2\\", \\"x\\": + -5.0, \\"y\\": 0.0}, {\\"name\\": \\"q3\\", \\"x\\": 0.0, \\"y\\": 0.0}, {\\"name\\": + \\"q4\\", \\"x\\": 5.0, \\"y\\": -8.660254}, {\\"name\\": \\"q5\\", \\"x\\": + 7.5, \\"y\\": 4.330127}], \\"channels\\": {\\"ch_global\\": \\"rydberg_global\\"}, + \\"variables\\": {}, \\"operations\\": [{\\"op\\": \\"pulse\\", \\"channel\\": + \\"ch_global\\", \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": + \\"constant\\", \\"duration\\": 124, \\"value\\": 12.566370614359172}, \\"detuning\\": + {\\"kind\\": \\"constant\\", \\"duration\\": 124, \\"value\\": 25.132741228718345}, + \\"phase\\": 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": + \\"ch_global\\", \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": + \\"constant\\", \\"duration\\": 400, \\"value\\": 0.0}, \\"detuning\\": {\\"kind\\": + \\"constant\\", \\"duration\\": 400, \\"value\\": -25.132741228718345}, \\"phase\\": + 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", + \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", + \\"duration\\": 100, \\"value\\": 12.566370614359172}, \\"detuning\\": {\\"kind\\": + \\"constant\\", \\"duration\\": 100, \\"value\\": 25.132741228718345}, \\"phase\\": + 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", + \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", + \\"duration\\": 400, \\"value\\": 0.0}, \\"detuning\\": {\\"kind\\": \\"constant\\", + \\"duration\\": 400, \\"value\\": -25.132741228718345}, \\"phase\\": 0.0, \\"post_phase_shift\\": + 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", \\"protocol\\": + \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", \\"duration\\": + 100, \\"value\\": 12.566370614359172}, \\"detuning\\": {\\"kind\\": \\"constant\\", + \\"duration\\": 100, \\"value\\": 25.132741228718345}, \\"phase\\": 0.0, \\"post_phase_shift\\": + 0.0}], \\"measurement\\": null, \\"device\\": {\\"version\\": \\"1\\", \\"channels\\": + [{\\"id\\": \\"rydberg_global\\", \\"basis\\": \\"ground-rydberg\\", \\"addressing\\": + \\"Global\\", \\"max_abs_detuning\\": 31.41592653589793, \\"max_amp\\": 12.566370614359172, + \\"min_retarget_interval\\": null, \\"fixed_retarget_t\\": null, \\"max_targets\\": + null, \\"clock_period\\": 4, \\"min_duration\\": 16, \\"max_duration\\": 100000000, + \\"mod_bandwidth\\": 2, \\"eom_config\\": {\\"limiting_beam\\": \\"RED\\", \\"max_limiting_amp\\": + 251.32741228718345, \\"intermediate_detuning\\": 4398.22971502571, \\"controlled_beams\\": + [\\"BLUE\\", \\"RED\\"], \\"mod_bandwidth\\": 11}}], \\"name\\": \\"Fresnel\\", + \\"dimensions\\": 2, \\"rydberg_level\\": 60, \\"min_atom_distance\\": 5, \\"max_atom_num\\": + 20, \\"max_radial_distance\\": 35, \\"interaction_coeff_xy\\": null, \\"supports_slm_mask\\": + false, \\"max_layout_filling\\": 0.5, \\"reusable_channels\\": false, \\"pre_calibrated_layouts\\": + [], \\"is_virtual\\": false}, \\"layout\\": {\\"coordinates\\": [[-12.5, 4.330127], + [-10.0, 0.0], [-7.5, -4.330127], [-7.5, 4.330127], [-5.0, -8.660254], [-5.0, + 0.0], [-5.0, 8.660254], [-2.5, -4.330127], [-2.5, 4.330127], [0.0, -8.660254], + [0.0, 0.0], [0.0, 8.660254], [2.5, -4.330127], [2.5, 4.330127], [5.0, -8.660254], + [5.0, 0.0], [5.0, 8.660254], [7.5, -4.330127], [7.5, 4.330127], [10.0, 0.0]], + \\"slug\\": \\"TriangularLatticeLayout(20, 5.0\\\\u00b5m)\\"}}"}''' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '3645' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Thu, 14 Sep 2023 15:26:14 GMT + x-ms-version: + - '2023-01-03' + method: PUT + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw + response: + body: + string: '' + headers: + content-length: + - '0' + x-ms-version: + - '2023-01-03' + status: + code: 201 + message: Created +- request: + body: 'b''{"id": "00000000-0000-0000-0000-000000000001", "name": "qdk-python-test", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "itemType": "Job", + "containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "outputDataFormat": + "pasqal.pulser-results.v1"}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '545' + Content-Type: + - application/json + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=1 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=rcw", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net:443/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + null, "errorData": null, "isCancelling": false, "tags": [], "name": "qdk-python-test", + "id": "00000000-0000-0000-0000-000000000001", "providerId": "pasqal", "target": + "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1140' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=1 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=2 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=3 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=4 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=5 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=6 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=7 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=8 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=9 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Finishing", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": "2023-09-14T15:26:21.458744+00:00", "cancellationTime": + null, "quantumComputingData": {"count": 1}, "errorData": null, "isCancelling": + false, "tags": [], "name": "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": "2023-09-14T15:26:21.815009+00:00", "costEstimate": {"currencyCode": + "USD", "events": [{"dimensionId": "compute-time", "dimensionName": "Computing + Time", "measureUnit": "per hour", "amountBilled": 0.0, "amountConsumed": 9.9e-05, + "unitPrice": 0.0}], "estimatedTotal": 0.0}, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1605' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=10 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Succeeded", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": "2023-09-14T15:26:21.458744+00:00", "cancellationTime": + null, "quantumComputingData": {"count": 1}, "errorData": null, "isCancelling": + false, "tags": [], "name": "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": "2023-09-14T15:26:21.815009+00:00", "costEstimate": {"currencyCode": + "USD", "events": [{"dimensionId": "compute-time", "dimensionName": "Computing + Time", "measureUnit": "per hour", "amountBilled": 0.0, "amountConsumed": 9.9e-05, + "unitPrice": 0.0}], "estimatedTotal": 0.0}, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1605' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=11 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Succeeded", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": "2023-09-14T15:26:21.458744+00:00", "cancellationTime": + null, "quantumComputingData": {"count": 1}, "errorData": null, "isCancelling": + false, "tags": [], "name": "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": "2023-09-14T15:26:21.815009+00:00", "costEstimate": {"currencyCode": + "USD", "events": [{"dimensionId": "compute-time", "dimensionName": "Computing + Time", "measureUnit": "per hour", "amountBilled": 0.0, "amountConsumed": 9.9e-05, + "unitPrice": 0.0}], "estimatedTotal": 0.0}, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1605' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=12 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 150}, "metadata": + null, "sessionId": null, "status": "Succeeded", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": "2023-09-14T15:26:21.458744+00:00", "cancellationTime": + null, "quantumComputingData": {"count": 1}, "errorData": null, "isCancelling": + false, "tags": [], "name": "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:12.3674246+00:00", + "endExecutionTime": "2023-09-14T15:26:21.815009+00:00", "costEstimate": {"currencyCode": + "USD", "events": [{"dimensionId": "compute-time", "dimensionName": "Computing + Time", "measureUnit": "per hour", "amountBilled": 0.0, "amountConsumed": 9.9e-05, + "unitPrice": 0.0}], "estimatedTotal": 0.0}, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1605' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-date: + - Thu, 14 Sep 2023 15:26:31 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2023-01-03' + method: GET + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json + response: + body: + string: '{"000000": 15, "000001": 2, "000010": 6, "000011": 2, "000100": 14, + "000110": 2, "001000": 11, "001001": 9, "001010": 12, "001011": 4, "001100": + 1, "001101": 2, "001110": 2, "010000": 7, "010001": 3, "010011": 1, "010100": + 1, "010110": 1, "011001": 1, "011011": 1, "011100": 3, "100000": 11, "100001": + 7, "100010": 8, "100011": 7, "100100": 3, "100110": 1, "101000": 1, "101100": + 1, "101110": 2, "110000": 4, "111000": 4, "111001": 1, "access_token": "fake_token"}' + headers: + accept-ranges: + - bytes + content-length: + - '464' + content-range: + - bytes 0-433/434 + content-type: + - application/json + x-ms-blob-content-md5: + - DuvZdv6iKrQurGuU+9dWLQ== + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Thu, 14 Sep 2023 15:26:12 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2023-01-03' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/azure-quantum/tests/unit/recordings/test_job_submit_pasqal_typed_input_params.yaml b/azure-quantum/tests/unit/recordings/test_job_submit_pasqal_typed_input_params.yaml new file mode 100644 index 000000000..a3e73bd68 --- /dev/null +++ b/azure-quantum/tests/unit/recordings/test_job_submit_pasqal_typed_input_params.yaml @@ -0,0 +1,809 @@ +interactions: +- request: + body: client_id=PLACEHOLDER&grant_type=client_credentials&client_info=1&client_secret=PLACEHOLDER&scope=https%3A%2F%2Fquantum.microsoft.com%2F.default + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '144' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - azsdk-python-identity/1.14.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-client-cpu: + - x64 + x-client-current-telemetry: + - 4|730,2| + x-client-os: + - win32 + x-client-sku: + - MSAL.Python + x-client-ver: + - 1.23.0 + method: POST + uri: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/oauth2/v2.0/token + response: + body: + string: '{"token_type": "Bearer", "expires_in": 86399, "ext_expires_in": 86399, + "refresh_in": 43199, "access_token": "fake_token"}' + headers: + content-length: + - '121' + content-type: + - application/json; charset=utf-8 + status: + code: 200 + message: OK +- request: + body: 'b''{"containerName": "job-00000000-0000-0000-0000-000000000001"}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/storage/sasUri?api-version=2022-09-12-preview&test-sequence-id=1 + response: + body: + string: '{"sasUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "access_token": "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '190' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-date: + - Thu, 14 Sep 2023 15:26:34 GMT + x-ms-version: + - '2023-01-03' + method: GET + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?restype=container&sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw + response: + body: + string: "\uFEFFContainerNotFoundThe + specified container does not exist.\nRequestId:d657cc65-301e-002e-721f-e79417000000\nTime:2023-09-14T15:26:31.7766727Z" + headers: + content-length: + - '223' + content-type: + - application/xml + x-ms-version: + - '2023-01-03' + status: + code: 404 + message: The specified container does not exist. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-date: + - Thu, 14 Sep 2023 15:26:34 GMT + x-ms-version: + - '2023-01-03' + method: PUT + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?restype=container&sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw + response: + body: + string: '' + headers: + content-length: + - '0' + x-ms-version: + - '2023-01-03' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-date: + - Thu, 14 Sep 2023 15:26:34 GMT + x-ms-version: + - '2023-01-03' + method: GET + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?restype=container&sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw + response: + body: + string: '' + headers: + content-length: + - '0' + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-version: + - '2023-01-03' + status: + code: 200 + message: OK +- request: + body: 'b''{"sequence_builder": "{\\"version\\": \\"1\\", \\"name\\": \\"pulser-exported\\", + \\"register\\": [{\\"name\\": \\"q0\\", \\"x\\": -10.0, \\"y\\": 0.0}, {\\"name\\": + \\"q1\\", \\"x\\": -5.0, \\"y\\": -8.660254}, {\\"name\\": \\"q2\\", \\"x\\": + -5.0, \\"y\\": 0.0}, {\\"name\\": \\"q3\\", \\"x\\": 0.0, \\"y\\": 0.0}, {\\"name\\": + \\"q4\\", \\"x\\": 5.0, \\"y\\": -8.660254}, {\\"name\\": \\"q5\\", \\"x\\": + 7.5, \\"y\\": 4.330127}], \\"channels\\": {\\"ch_global\\": \\"rydberg_global\\"}, + \\"variables\\": {}, \\"operations\\": [{\\"op\\": \\"pulse\\", \\"channel\\": + \\"ch_global\\", \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": + \\"constant\\", \\"duration\\": 124, \\"value\\": 12.566370614359172}, \\"detuning\\": + {\\"kind\\": \\"constant\\", \\"duration\\": 124, \\"value\\": 25.132741228718345}, + \\"phase\\": 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": + \\"ch_global\\", \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": + \\"constant\\", \\"duration\\": 400, \\"value\\": 0.0}, \\"detuning\\": {\\"kind\\": + \\"constant\\", \\"duration\\": 400, \\"value\\": -25.132741228718345}, \\"phase\\": + 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", + \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", + \\"duration\\": 100, \\"value\\": 12.566370614359172}, \\"detuning\\": {\\"kind\\": + \\"constant\\", \\"duration\\": 100, \\"value\\": 25.132741228718345}, \\"phase\\": + 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", + \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", + \\"duration\\": 400, \\"value\\": 0.0}, \\"detuning\\": {\\"kind\\": \\"constant\\", + \\"duration\\": 400, \\"value\\": -25.132741228718345}, \\"phase\\": 0.0, \\"post_phase_shift\\": + 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", \\"protocol\\": + \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", \\"duration\\": + 100, \\"value\\": 12.566370614359172}, \\"detuning\\": {\\"kind\\": \\"constant\\", + \\"duration\\": 100, \\"value\\": 25.132741228718345}, \\"phase\\": 0.0, \\"post_phase_shift\\": + 0.0}], \\"measurement\\": null, \\"device\\": {\\"version\\": \\"1\\", \\"channels\\": + [{\\"id\\": \\"rydberg_global\\", \\"basis\\": \\"ground-rydberg\\", \\"addressing\\": + \\"Global\\", \\"max_abs_detuning\\": 31.41592653589793, \\"max_amp\\": 12.566370614359172, + \\"min_retarget_interval\\": null, \\"fixed_retarget_t\\": null, \\"max_targets\\": + null, \\"clock_period\\": 4, \\"min_duration\\": 16, \\"max_duration\\": 100000000, + \\"mod_bandwidth\\": 2, \\"eom_config\\": {\\"limiting_beam\\": \\"RED\\", \\"max_limiting_amp\\": + 251.32741228718345, \\"intermediate_detuning\\": 4398.22971502571, \\"controlled_beams\\": + [\\"BLUE\\", \\"RED\\"], \\"mod_bandwidth\\": 11}}], \\"name\\": \\"Fresnel\\", + \\"dimensions\\": 2, \\"rydberg_level\\": 60, \\"min_atom_distance\\": 5, \\"max_atom_num\\": + 20, \\"max_radial_distance\\": 35, \\"interaction_coeff_xy\\": null, \\"supports_slm_mask\\": + false, \\"max_layout_filling\\": 0.5, \\"reusable_channels\\": false, \\"pre_calibrated_layouts\\": + [], \\"is_virtual\\": false}, \\"layout\\": {\\"coordinates\\": [[-12.5, 4.330127], + [-10.0, 0.0], [-7.5, -4.330127], [-7.5, 4.330127], [-5.0, -8.660254], [-5.0, + 0.0], [-5.0, 8.660254], [-2.5, -4.330127], [-2.5, 4.330127], [0.0, -8.660254], + [0.0, 0.0], [0.0, 8.660254], [2.5, -4.330127], [2.5, 4.330127], [5.0, -8.660254], + [5.0, 0.0], [5.0, 8.660254], [7.5, -4.330127], [7.5, 4.330127], [10.0, 0.0]], + \\"slug\\": \\"TriangularLatticeLayout(20, 5.0\\\\u00b5m)\\"}}"}''' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '3645' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Thu, 14 Sep 2023 15:26:35 GMT + x-ms-version: + - '2023-01-03' + method: PUT + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw + response: + body: + string: '' + headers: + content-length: + - '0' + x-ms-version: + - '2023-01-03' + status: + code: 201 + message: Created +- request: + body: 'b''{"id": "00000000-0000-0000-0000-000000000001", "name": "qdk-python-test", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "itemType": "Job", + "containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "outputDataFormat": + "pasqal.pulser-results.v1"}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '545' + Content-Type: + - application/json + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=1 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=rcw", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net:443/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + null, "errorData": null, "isCancelling": false, "tags": [], "name": "qdk-python-test", + "id": "00000000-0000-0000-0000-000000000001", "providerId": "pasqal", "target": + "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1140' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=1 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=2 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=3 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=4 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=5 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=6 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=7 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=8 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=9 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Waiting", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/outputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": null, "cancellationTime": null, "quantumComputingData": + {"count": 1}, "errorData": null, "isCancelling": false, "tags": [], "name": + "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", "providerId": + "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": null, "costEstimate": null, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=10 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Succeeded", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": "2023-09-14T15:26:46.714753+00:00", "cancellationTime": + null, "quantumComputingData": {"count": 1}, "errorData": null, "isCancelling": + false, "tags": [], "name": "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": "2023-09-14T15:26:47.13937+00:00", "costEstimate": {"currencyCode": + "USD", "events": [{"dimensionId": "compute-time", "dimensionName": "Computing + Time", "measureUnit": "per hour", "amountBilled": 0.0, "amountConsumed": 0.00012, + "unitPrice": 0.0}], "estimatedTotal": 0.0}, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1604' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=11 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Succeeded", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": "2023-09-14T15:26:46.714753+00:00", "cancellationTime": + null, "quantumComputingData": {"count": 1}, "errorData": null, "isCancelling": + false, "tags": [], "name": "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": "2023-09-14T15:26:47.13937+00:00", "costEstimate": {"currencyCode": + "USD", "events": [{"dimensionId": "compute-time", "dimensionName": "Computing + Time", "measureUnit": "per hour", "amountBilled": 0.0, "amountConsumed": 0.00012, + "unitPrice": 0.0}], "estimatedTotal": 0.0}, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1604' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - testapp azsdk-python-quantum/0.0.1.0a1 Python/3.9.17 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://eastus.quantum.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Quantum/workspaces/myworkspace/jobs/00000000-0000-0000-0000-000000000001?api-version=2022-09-12-preview&test-sequence-id=12 + response: + body: + string: '{"containerUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001?sv=PLACEHOLDER&sig=PLACEHOLDER&se=PLACEHOLDER&srt=co&ss=b&sp=racw", + "inputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/inputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.input.json", + "inputDataFormat": "pasqal.pulser.v1", "inputParams": {"runs": 200}, "metadata": + null, "sessionId": null, "status": "Succeeded", "jobType": "QuantumComputing", + "outputDataFormat": "pasqal.pulser-results.v1", "outputDataUri": "https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json", + "beginExecutionTime": "2023-09-14T15:26:46.714753+00:00", "cancellationTime": + null, "quantumComputingData": {"count": 1}, "errorData": null, "isCancelling": + false, "tags": [], "name": "qdk-python-test", "id": "00000000-0000-0000-0000-000000000001", + "providerId": "pasqal", "target": "pasqal.sim.emu_free", "creationTime": "2023-09-14T15:26:33.2035228+00:00", + "endExecutionTime": "2023-09-14T15:26:47.13937+00:00", "costEstimate": {"currencyCode": + "USD", "events": [{"dimensionId": "compute-time", "dimensionName": "Computing + Time", "measureUnit": "per hour", "amountBilled": 0.0, "amountConsumed": 0.00012, + "unitPrice": 0.0}], "estimatedTotal": 0.0}, "itemType": "Job", "access_token": + "fake_token"}' + headers: + connection: + - keep-alive + content-length: + - '1604' + content-type: + - application/json; charset=utf-8 + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.17.0 Python/3.9.17 (Windows-10-10.0.22621-SP0) + x-ms-date: + - Thu, 14 Sep 2023 15:26:52 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2023-01-03' + method: GET + uri: https://mystorage.blob.core.windows.net/job-00000000-0000-0000-0000-000000000001/rawOutputData?sv=PLACEHOLDER&sr=b&sig=PLACEHOLDER&se=PLACEHOLDER&sp=r&rscd=attachment%3B%20filename%3Dqdk-python-test-00000000-0000-0000-0000-000000000001.output.json + response: + body: + string: '{"000000": 29, "000001": 6, "000010": 5, "000011": 2, "000100": 20, + "000110": 2, "000111": 1, "001000": 11, "001001": 10, "001010": 17, "001011": + 5, "001100": 2, "001110": 2, "010000": 6, "010001": 8, "010010": 1, "010011": + 1, "010100": 3, "010101": 1, "011000": 1, "011010": 1, "011100": 2, "100000": + 18, "100001": 11, "100010": 12, "100011": 6, "100100": 4, "100111": 1, "101000": + 1, "101101": 1, "101110": 1, "110000": 2, "110010": 1, "111000": 3, "111001": + 1, "111010": 1, "111100": 1, "access_token": "fake_token"}' + headers: + accept-ranges: + - bytes + content-length: + - '519' + content-range: + - bytes 0-488/489 + content-type: + - application/json + x-ms-blob-content-md5: + - WGc55dnzzYvaj8IuqSQiyQ== + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Thu, 14 Sep 2023 15:26:33 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2023-01-03' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/azure-quantum/tests/unit/test_pasqal.py b/azure-quantum/tests/unit/test_pasqal.py new file mode 100644 index 000000000..3fa0f2e36 --- /dev/null +++ b/azure-quantum/tests/unit/test_pasqal.py @@ -0,0 +1,61 @@ +## +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +## + +from typing import Dict, Any, Union, Optional +from unittest.mock import MagicMock + +import pytest +from numpy import pi, mean + +from azure.quantum.target import Pasqal +from azure.quantum.target.pasqal import Result, InputParams, PasqalTarget +from common import QuantumTestBase, DEFAULT_TIMEOUT_SECS + +TEST_PULSER = """{"sequence_builder": "{\\"version\\": \\"1\\", \\"name\\": \\"pulser-exported\\", \\"register\\": [{\\"name\\": \\"q0\\", \\"x\\": -10.0, \\"y\\": 0.0}, {\\"name\\": \\"q1\\", \\"x\\": -5.0, \\"y\\": -8.660254}, {\\"name\\": \\"q2\\", \\"x\\": -5.0, \\"y\\": 0.0}, {\\"name\\": \\"q3\\", \\"x\\": 0.0, \\"y\\": 0.0}, {\\"name\\": \\"q4\\", \\"x\\": 5.0, \\"y\\": -8.660254}, {\\"name\\": \\"q5\\", \\"x\\": 7.5, \\"y\\": 4.330127}], \\"channels\\": {\\"ch_global\\": \\"rydberg_global\\"}, \\"variables\\": {}, \\"operations\\": [{\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", \\"duration\\": 124, \\"value\\": 12.566370614359172}, \\"detuning\\": {\\"kind\\": \\"constant\\", \\"duration\\": 124, \\"value\\": 25.132741228718345}, \\"phase\\": 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", \\"duration\\": 400, \\"value\\": 0.0}, \\"detuning\\": {\\"kind\\": \\"constant\\", \\"duration\\": 400, \\"value\\": -25.132741228718345}, \\"phase\\": 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", \\"duration\\": 100, \\"value\\": 12.566370614359172}, \\"detuning\\": {\\"kind\\": \\"constant\\", \\"duration\\": 100, \\"value\\": 25.132741228718345}, \\"phase\\": 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", \\"duration\\": 400, \\"value\\": 0.0}, \\"detuning\\": {\\"kind\\": \\"constant\\", \\"duration\\": 400, \\"value\\": -25.132741228718345}, \\"phase\\": 0.0, \\"post_phase_shift\\": 0.0}, {\\"op\\": \\"pulse\\", \\"channel\\": \\"ch_global\\", \\"protocol\\": \\"min-delay\\", \\"amplitude\\": {\\"kind\\": \\"constant\\", \\"duration\\": 100, \\"value\\": 12.566370614359172}, \\"detuning\\": {\\"kind\\": \\"constant\\", \\"duration\\": 100, \\"value\\": 25.132741228718345}, \\"phase\\": 0.0, \\"post_phase_shift\\": 0.0}], \\"measurement\\": null, \\"device\\": {\\"version\\": \\"1\\", \\"channels\\": [{\\"id\\": \\"rydberg_global\\", \\"basis\\": \\"ground-rydberg\\", \\"addressing\\": \\"Global\\", \\"max_abs_detuning\\": 31.41592653589793, \\"max_amp\\": 12.566370614359172, \\"min_retarget_interval\\": null, \\"fixed_retarget_t\\": null, \\"max_targets\\": null, \\"clock_period\\": 4, \\"min_duration\\": 16, \\"max_duration\\": 100000000, \\"mod_bandwidth\\": 2, \\"eom_config\\": {\\"limiting_beam\\": \\"RED\\", \\"max_limiting_amp\\": 251.32741228718345, \\"intermediate_detuning\\": 4398.22971502571, \\"controlled_beams\\": [\\"BLUE\\", \\"RED\\"], \\"mod_bandwidth\\": 11}}], \\"name\\": \\"Fresnel\\", \\"dimensions\\": 2, \\"rydberg_level\\": 60, \\"min_atom_distance\\": 5, \\"max_atom_num\\": 20, \\"max_radial_distance\\": 35, \\"interaction_coeff_xy\\": null, \\"supports_slm_mask\\": false, \\"max_layout_filling\\": 0.5, \\"reusable_channels\\": false, \\"pre_calibrated_layouts\\": [], \\"is_virtual\\": false}, \\"layout\\": {\\"coordinates\\": [[-12.5, 4.330127], [-10.0, 0.0], [-7.5, -4.330127], [-7.5, 4.330127], [-5.0, -8.660254], [-5.0, 0.0], [-5.0, 8.660254], [-2.5, -4.330127], [-2.5, 4.330127], [0.0, -8.660254], [0.0, 0.0], [0.0, 8.660254], [2.5, -4.330127], [2.5, 4.330127], [5.0, -8.660254], [5.0, 0.0], [5.0, 8.660254], [7.5, -4.330127], [7.5, 4.330127], [10.0, 0.0]], \\"slug\\": \\"TriangularLatticeLayout(20, 5.0\\\\u00b5m)\\"}}"}""" + +@pytest.mark.pasqal +@pytest.mark.live_test +class TestPasqalTarget(QuantumTestBase): + """Tests the azure.quantum.target.Pasqal class.""" + + def _run_job( + self, + pulser: str, + input_params: Union[InputParams, Dict[str, Any], None], + ) -> Optional[Result]: + workspace = self.create_workspace() + + target = Pasqal(workspace=workspace, name=PasqalTarget.SIM_EMU_FREE) + job = target.submit( + input_data=pulser, + name="qdk-python-test", + input_params=input_params, + ) + + job.wait_until_completed(timeout_secs=DEFAULT_TIMEOUT_SECS) + job.refresh() + + job = workspace.get_job(job.id) + self.assertTrue(job.has_completed()) + + return Result(job) + + def test_job_submit_pasqal_typed_input_params(self) -> None: + num_runs = 200 + result = self._run_job(TEST_PULSER, InputParams(runs=num_runs)) + self.assertIsNotNone(result) + self.assertEqual(sum(v for v in result.data.values() if isinstance(v, int)), num_runs) + + def test_job_submit_pasqal_dict_input_params(self) -> None: + num_runs = 150 + result = self._run_job(TEST_PULSER, input_params={"runs": num_runs}) + self.assertIsNotNone(result) + self.assertEqual(sum(v for v in result.data.values() if isinstance(v, int)), num_runs) + + def test_job_submit_pasqal_default_input_params(self) -> None: + default_num_runs = 100 + result = self._run_job(TEST_PULSER, None) + self.assertIsNotNone(result) + self.assertEqual(sum(v for v in result.data.values() if isinstance(v, int)), default_num_runs)