job_spec
¶
Core module for oqtopus-client.
Classes:
-
OqtopusJobSpec–Thin wrapper input for job submission.
OqtopusJobSpec
dataclass
¶
OqtopusJobSpec(
device_id: str,
job_type: JobsJobType | str,
program: str | Sequence[str],
shots: int = 1000,
name: str | None = None,
description: str | None = None,
transpiler_info: Mapping[str, Any] = dict(),
simulator_info: Mapping[str, Any] = dict(),
mitigation_info: Mapping[str, Any] = dict(),
operator: Sequence[
OqtopusEstimationOperator
| JobsS3OperatorItem
| Mapping[str, Any]
]
| None = None,
)
Thin wrapper input for job submission.
Use job_type to choose the execution type (e.g. sampling / estimation).
Attributes:
-
device_id(Required) –Target device ID.
-
job_type(Required) –Job type.
-
program(Required) –One program string or a sequence of program strings.
-
shots(Optional) –Number of shots. Default is
1000. -
name(Optional) –Job name.
-
description(Optional) –Job description.
-
transpiler_info(Optional) –Transpiler settings.
-
simulator_info(Optional) –Simulator settings.
-
mitigation_info(Optional) –Error mitigation settings.
-
operator(Optional) –Operator definitions for estimation-style jobs.
Methods:
-
estimation–Create an estimation job request helper.
-
multi_manual–Create a multi-manual job request helper.
-
sampling–Create a sampling job request helper.
-
sse–Create an SSE job request helper.
-
to_model–Convert to the generated
JobsSubmitJobRequestmodel. -
to_s3_submit_job_info–Convert to the generated
JobsS3SubmitJobInfomodel.
estimation
classmethod
¶
estimation(
*,
device_id: str,
program: str | Sequence[str],
shots: int = 1000,
name: str | None = None,
description: str | None = None,
transpiler_info: Mapping[str, Any] | None = None,
simulator_info: Mapping[str, Any] | None = None,
mitigation_info: Mapping[str, Any] | None = None,
operator: Sequence[
OqtopusEstimationOperator
| JobsS3OperatorItem
| Mapping[str, Any]
]
| None = None,
) -> OqtopusJobSpec
Create an estimation job request helper.
Parameters:
-
(device_id¶Required) –Target device ID.
-
(program¶Required) –A QASM string or a sequence of QASM strings.
-
(shots¶Optional, default:1000) –Number of shots. Default is
1000. -
(name¶Optional, default:None) –Job name.
-
(description¶Optional, default:None) –Job description.
-
(transpiler_info¶Optional, default:None) –Transpiler settings.
-
(simulator_info¶Optional, default:None) –Simulator settings.
-
(mitigation_info¶Optional, default:None) –Error mitigation settings.
-
(operator¶Optional, default:None) –Operator definitions.
Returns:
-
OqtopusJobSpec–An estimation job specification.
multi_manual
classmethod
¶
multi_manual(
*,
device_id: str,
program: str | Sequence[str],
shots: int = 1000,
name: str | None = None,
description: str | None = None,
transpiler_info: Mapping[str, Any] | None = None,
simulator_info: Mapping[str, Any] | None = None,
mitigation_info: Mapping[str, Any] | None = None,
operator: Sequence[
OqtopusEstimationOperator
| JobsS3OperatorItem
| Mapping[str, Any]
]
| None = None,
) -> OqtopusJobSpec
Create a multi-manual job request helper.
Parameters:
-
(device_id¶Required) –Target device ID.
-
(program¶Required) –A QASM string or a sequence of QASM strings.
-
(shots¶Optional, default:1000) –Number of shots. Default is
1000. -
(name¶Optional, default:None) –Job name.
-
(description¶Optional, default:None) –Job description.
-
(transpiler_info¶Optional, default:None) –Transpiler settings.
-
(simulator_info¶Optional, default:None) –Simulator settings.
-
(mitigation_info¶Optional, default:None) –Error mitigation settings.
-
(operator¶Optional, default:None) –Operator definitions.
Returns:
-
OqtopusJobSpec–A multi-manual job specification.
sampling
classmethod
¶
sampling(
*,
device_id: str,
program: str | Sequence[str],
shots: int = 1000,
name: str | None = None,
description: str | None = None,
transpiler_info: Mapping[str, Any] | None = None,
simulator_info: Mapping[str, Any] | None = None,
mitigation_info: Mapping[str, Any] | None = None,
operator: Sequence[
OqtopusEstimationOperator
| JobsS3OperatorItem
| Mapping[str, Any]
]
| None = None,
) -> OqtopusJobSpec
Create a sampling job request helper.
Parameters:
-
(device_id¶Required) –Target device ID.
-
(program¶Required) –A QASM string or a sequence of QASM strings.
-
(shots¶Optional, default:1000) –Number of shots. Default is
1000. -
(name¶Optional, default:None) –Job name.
-
(description¶Optional, default:None) –Job description.
-
(transpiler_info¶Optional, default:None) –Transpiler settings.
-
(simulator_info¶Optional, default:None) –Simulator settings.
-
(mitigation_info¶Optional, default:None) –Error mitigation settings.
-
(operator¶Optional, default:None) –Operator definitions.
Returns:
-
OqtopusJobSpec–A sampling job specification.
sse
classmethod
¶
sse(
*,
device_id: str,
program: str | Sequence[str],
shots: int = 1000,
name: str | None = None,
description: str | None = None,
transpiler_info: Mapping[str, Any] | None = None,
simulator_info: Mapping[str, Any] | None = None,
mitigation_info: Mapping[str, Any] | None = None,
) -> OqtopusJobSpec
Create an SSE job request helper.
Parameters:
-
(device_id¶Required) –Target device ID.
-
(program¶Required) –A Python script string or a sequence of script strings.
-
(shots¶Optional, default:1000) –Number of shots. Default is
1000. -
(name¶Optional, default:None) –Job name.
-
(description¶Optional, default:None) –Job description.
-
(transpiler_info¶Optional, default:None) –Transpiler settings.
-
(simulator_info¶Optional, default:None) –Simulator settings.
-
(mitigation_info¶Optional, default:None) –Error mitigation settings.
Returns:
-
OqtopusJobSpec–An SSE job specification.
to_model
¶
to_model() -> JobsSubmitJobRequest
Convert to the generated JobsSubmitJobRequest model.
This method has no arguments. It converts required/optional fields already set on this instance.
Returns:
-
JobsSubmitJobRequest–The generated job submission request model.
to_s3_submit_job_info
¶
to_s3_submit_job_info() -> JobsS3SubmitJobInfo
Convert to the generated JobsS3SubmitJobInfo model.
Returns:
-
JobsS3SubmitJobInfo–The generated S3 offload payload model.
Raises:
-
ValueError–If an SSE job does not contain exactly one Python program.