strangeworks_braket package¶
Subpackages¶
Submodules¶
strangeworks_braket.device module¶
- class StrangeworksDevice(arn: str, name: str | None = None, status: str | None = None, slug: str | None = None, **kwargs)¶
Bases:
Device
- static get_devices(arns: list[str] | None = None, names: list[str] | None = None, statuses: list[str] | None = None) list[StrangeworksDevice] ¶
Get a list of devices. :param arns: Filter by list of device ARNs. Defaults to None. :type arns: Optional[list[str] :param names: Filter by list of device names. Defaults to None. :type names: Optional[list[str]] :param statuses: Filter by list of device statuses. Defaults to None. :type statuses: Optional[list[str]]
- Returns:
devices – List of devices that match the provided filters.
- Return type:
list[SwDevice]
- get_properties() DeviceCapabilities ¶
- property properties: DeviceCapabilities¶
!! processed by numpydoc !!
- run(task_specification: Circuit | Problem | Program, shots: int | None, *args, **kwargs) QuantumTask ¶
Run a task on the device. :param task_specification: The task specification. :type task_specification: Union[Circuit, Problem, OpenQasmProgram] :param shots: The number of shots to run the task for. Defaults to 1000. :type shots: Optional[int]
- Returns:
task – The task that was run.
- Return type:
QuantumTask (StrangeworksQuantumTask)
- run_batch(task_specifications: Circuit | Problem | list[Circuit | Problem], shots: int | None, max_parallel: int | None, inputs: Dict[str, float] | list[Dict[str, float]] | None, *args, **kwargs) QuantumTaskBatch ¶
Executes a batch of quantum tasks in parallel
- Parameters:
task_specifications (Union[Union[Circuit, Problem], list[Union[Circuit, Problem]]]) – Single instance or list of circuits or problems to run on device.
shots (Optional[int]) – The number of times to run the circuit or annealing problem.
max_parallel (Optional[int]) – The maximum number of quantum tasks to run in parallel. Batch creation will fail if this value is greater than the maximum allowed concurrent quantum tasks on the device.
inputs (Optional[Union[dict[str, float], list[dict[str, float]]]]) – Inputs to be passed along with the IR. If the IR supports inputs, the inputs will be updated with this value.
*args (Any) – Arbitrary arguments.
**kwargs (Any) – Arbitrary keyword arguments.
- Returns:
A batch containing all of the qauntum tasks run
- Return type:
QuantumTaskBatch
- run_hybrid(filepath: str, hyperparameters: Dict[str, Any], *args, **kwargs) QuantumTask ¶
Run a task on the device. :param filepath: Path to the python file that will be run. :type filepath: str :param hyperparameters: Dictionary of hyperparameters to pass to the task.
Must be json serializable.
- Returns:
Job – The job that was run.
- Return type:
QuantumJob (StrangeworksQuantumJob)
- property status: str¶
Return the status of this Device.
- Returns:
The status of this Device
- Return type:
str
strangeworks_braket.job module¶
- class StrangeworksQuantumJob(job: Job, *args, **kwargs)¶
Bases:
QuantumTask
- async_result() Task ¶
Get the quantum task result asynchronously.
- Returns:
Get the quantum task result asynchronously.
- Return type:
asyncio.Task
- cancel() None ¶
Cancel the job.
- Raises:
- StrangeworksError
If the job has not been submitted yet.
- static create_hybrid(device_arn: str, filepath: str, hyperparameters: Dict[str, Any], device_parameters: Dict[str, Any] | None = None, tags: Dict[str, str] | None = None, *args, **kwargs) StrangeworksQuantumJob ¶
Create a job.
- Parameters:
- device_arn: str
The name of the device to run the job on.
- filepath: str
Path to the python file that will be run.
- hyperparameters: Dict[str, Any]
Dictionary of hyperparameters to pass to the job. Must be json serializable.
- device_parameters: Optional[Dict[str, Any]]
The device parameters.
- tags: Optional[Dict[str, str]]
The tags to add to the strangeworks job.
- Returns:
- job: StrangeworksQuantumJob
The job.
- Raises:
- StrangeworksError
If the job specification is not a circuit, or openqasm program.
- static from_strangeworks_slug(id: str) StrangeworksQuantumJob ¶
Get a job from a strangeworks id.
- Parameters:
- id: str
The strangeworks id of the job.
- Returns:
- job: StrangeworksQuantumJob
The job.
- Raises:
- StrangeworksError
If no job is found for the id. Or if multiple job are found for the id.
- property id: str¶
The id of the job.
- Returns:
- id: str
The id of the job. This is the id of the job in Strangeworks.
- metadata(use_cached_value: bool = False) Dict[str, Any] ¶
Get task metadata.
- Parameters:
use_cached_value (bool) – If True, uses the value retrieved from the previous request. Default is False.
- Returns:
The metadata regarding the quantum task. If use_cached_value is True, then the value retrieved from the most recent request is used.
- Return type:
dict[str, Any]
- result() Dict[str, Any] ¶
Get the result of the job.
- Returns:
- result: BraketSchemaBase
The result of the job.
- Raises:
- StrangeworksError
If the job has not been submitted yet. Or if the job did not complete successfully. Or unable to fetch the results for the job.
- state() str ¶
Get the state of the job.
- Returns:
- state: str
The state of the job.
- Raises:
- StrangeworksError
If the job has not been submitted yet. Or if we find are not able to find the status.
strangeworks_braket.task module¶
- class StrangeworksQuantumTask(job: Job, *args, **kwargs)¶
Bases:
QuantumTask
- async_result() Task ¶
Get the quantum task result asynchronously.
- Returns:
Get the quantum task result asynchronously.
- Return type:
asyncio.Task
- cancel() None ¶
Cancel the task.
- Raises:
- StrangeworksError
If the task has not been submitted yet.
- static create(device_arn: str, task_specification: Circuit | Problem | Program | AnalogHamiltonianSimulation, shots: int, device_parameters: Dict[str, Any] | None = None, tags: Dict[str, str] | None = None, *args, **kwargs) StrangeworksQuantumTask ¶
Create a task.
- Parameters:
- device_arn: str
The name of the device to run the task on.
- task_specification: Union[Circuit, Problem, OpenQasmProgram]
The task specification.
- shots: int
The number of shots to run the task for.
- device_parameters: Optional[Dict[str, Any]]
The device parameters.
- tags: Optional[Dict[str, str]]
The tags to add to the strangeworks job.
- Returns:
- task: StrangeworksQuantumTask
The task.
- Raises:
- StrangeworksError
If the task specification is not a circuit, or openqasm program.
- static from_strangeworks_slug(id: str) StrangeworksQuantumTask ¶
Get a task from a strangeworks id.
- Parameters:
- id: str
The strangeworks id of the task.
- Returns:
- task: StrangeworksQuantumTask
The task.
- Raises:
- StrangeworksError
If no task is found for the id. Or if multiple tasks are found for the id.
- property id: str¶
The id of the task.
- Returns:
- id: str
The id of the task. This is the id of the job in Strangeworks.
- metadata(use_cached_value: bool = False) Dict[str, Any] ¶
Get task metadata.
- Parameters:
use_cached_value (bool) – If True, uses the value retrieved from the previous request. Default is False.
- Returns:
The metadata regarding the quantum task. If use_cached_value is True, then the value retrieved from the most recent request is used.
- Return type:
dict[str, Any]
- result() GateModelQuantumTaskResult | AnnealingQuantumTaskResult ¶
Get the result of the task.
- Returns:
- result: Union[GateModelQuantumTaskResult, AnnealingQuantumTaskResult]
The result of the task.
- Raises:
- StrangeworksError
If the task has not been submitted yet. Or if the task did not complete successfully. Or unable to fetch the results for the task.
- state() str ¶
Get the state of the task.
- Returns:
- state: str
The state of the task.
- Raises:
- StrangeworksError
If the task has not been submitted yet. Or if we find are not able to find the status.
Module contents¶
Strangeworks Braket SDK