This class has methods for creating programs and jobs that execute on
Quantum Engine:
create_program
run
run_sweep
Another set of methods return information about programs and jobs that
have been previously created on the Quantum Engine, as well as metadata
about available processors:
get_program
list_processors
get_processor
list_jobs
get_job
Args
project_id
A project_id string of the Google Cloud Project to use.
API interactions will be attributed to this project and any
resources created will be owned by the project. See
https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects
proto_version
The version of cirq protos to use. If None, then
ProtoVersion.V2 will be used.
service_args
A dictionary of arguments that can be used to
configure options on the underlying client.
verbose
Suppresses stderr messages when set to False. Default is
true.
timeout
Timeout for polling for results, in seconds. Default is
to never timeout.
context
Engine configuration and context to use. For most users
this should never be specified.
compress_run_context
If true, the run context (i.e. sweep information
will be compressed using gzip in transit. This will save on data transfer size
but will add a small overhead client-side.
Raises
ValueError
If context is provided and one of proto_version, service_args, or verbose.
A user-provided identifier for the program. This must be
unique within the Google Cloud project being used. If this
parameter is not provided, a random id of the format
'prog-################YYMMDD' will be generated, where # is
alphanumeric and YYMMDD is the current year, month, and day.
A user-provided identifier for the program. This must be
unique within the Google Cloud project being used. If this
parameter is not provided, a random id of the format
'prog-################YYMMDD' will be generated, where # is
alphanumeric and YYMMDD is the current year, month, and day.
String identifier of which processor should be used to sample.
device_config_name
An identifier used to select the processor configuration
utilized to run the job. A configuration identifies the set of
available qubits, couplers, and supported gates in the processor.
device_config_revision
Specifies either the snapshot_id or the run_name.
max_concurrent_jobs
The maximum number of jobs to be sent
concurrently to the Engine. This client-side throttle can be
used to proactively reduce load to the backends and avoid quota
violations when pipelining circuit executions.
Returns
A cirq.Sampler instance (specifically a engine_sampler.ProcessorSampler
that will send circuits to the Quantum Computing Service
when sampled.
Raises
ValueError
if a list of processors is provided. This is no longer supported.
All historical jobs can be retrieved using this method and filtering
options are available too, to narrow down the search based on:
creation time
job labels
execution states
Args
created_after
retrieve jobs that were created after this date
or time.
created_before
retrieve jobs that were created after this date
or time.
has_labels
retrieve jobs that have labels on them specified by
this dict. If the value is set to *, filters having the label
regardless of the label value will be filtered. For example, to
query programs that have the shape label and have the color
label with value red can be queried using
{'color': 'red', 'shape':'*'}
execution_states
retrieve jobs that have an execution state that
is contained in execution_states. See
quantum.ExecutionStatus.State enum for accepted values.
All historical jobs can be retrieved using this method and filtering
options are available too, to narrow down the search based on:
creation time
job labels
execution states
Args
created_after
retrieve jobs that were created after this date
or time.
created_before
retrieve jobs that were created after this date
or time.
has_labels
retrieve jobs that have labels on them specified by
this dict. If the value is set to *, filters having the label
regardless of the label value will be filtered. For example, to
query programs that have the shape label and have the color
label with value red can be queried using
{'color': 'red', 'shape':'*'}
execution_states
retrieve jobs that have an execution state that
is contained in execution_states. See
quantum.ExecutionStatus.State enum for accepted values.
Returns a list of Processors that the user has visibility to in the current Engine project.
The names of these processors are used to
identify devices when scheduling jobs and gathering calibration metrics.
Returns
A list of EngineProcessors to access status, device and calibration
information.
Returns a list of Processors that the user has visibility to in the current Engine project.
The names of these processors are used to
identify devices when scheduling jobs and gathering calibration metrics.
Returns
A list of EngineProcessors to access status, device and calibration
information.
Returns a list of previously executed quantum programs.
Args
created_after
retrieve programs that were created after this date
or time.
created_before
retrieve programs that were created after this date
or time.
has_labels
retrieve programs that have labels on them specified by
this dict. If the value is set to *, filters having the label
regardless of the label value will be filtered. For example, to
query programs that have the shape label and have the color
label with value red can be queried using
{'color: red', 'shape:*'}
Returns a list of previously executed quantum programs.
Args
created_after
retrieve programs that were created after this date
or time.
created_before
retrieve programs that were created after this date
or time.
has_labels
retrieve programs that have labels on them specified by
this dict. If the value is set to *, filters having the label
regardless of the label value will be filtered. For example, to
query programs that have the shape label and have the color
label with value red can be queried using
{'color: red', 'shape:*'}
The Circuit to execute. If a circuit is
provided, a moment by moment schedule will be used.
program_id
A user-provided identifier for the program. This must
be unique within the Google Cloud project being used. If this
parameter is not provided, a random id of the format
'prog-################YYMMDD' will be generated, where # is
alphanumeric and YYMMDD is the current year, month, and day.
job_id
Job identifier to use. If this is not provided, a random id
of the format 'job-################YYMMDD' will be generated,
where # is alphanumeric and YYMMDD is the current year, month,
and day.
param_resolver
Parameters to run with the program.
repetitions
The number of repetitions to simulate.
program_description
An optional description to set on the program.
program_labels
Optional set of labels to set on the program.
job_description
An optional description to set on the job.
job_labels
Optional set of labels to set on the job.
processor_id
Processor id for running the program.
run_name
A unique identifier representing an automation run for the
specified processor. An Automation Run contains a collection of
device configurations for a processor. If specified, processor_id
is required to be set.
snapshot_id
A unique identifier for an immutable snapshot reference.
A snapshot contains a collection of device configurations for the
processor.
device_config_name
An identifier used to select the processor configuration
utilized to run the job. A configuration identifies the set of
available qubits, couplers, and supported gates in the processor.
If specified, processor_id is required to be set.
Returns
A single Result for this run.
Raises
ValueError
If no gate set is provided.
ValueError
If only one of run_name and device_config_name are specified.
ValueError
If either run_name and device_config_name are set but
processor_id is empty.
In contrast to run, this runs across multiple parameter sweeps, and
does not block until a result is returned.
Args
program
The Circuit to execute. If a circuit is
provided, a moment by moment schedule will be used.
A list or mapping of programs can also be provided.
These will be executed as KeyedCircuits.
program_id
A user-provided identifier for the program. This must
be unique within the Google Cloud project being used. If this
parameter is not provided, a random id of the format
'prog-################YYMMDD' will be generated, where # is
alphanumeric and YYMMDD is the current year, month, and day.
job_id
Job identifier to use. If this is not provided, a random id
of the format 'job-################YYMMDD' will be generated,
where # is alphanumeric and YYMMDD is the current year, month,
and day.
params
Parameters to run with the program.
repetitions
The number of circuit repetitions to run.
program_description
An optional description to set on the program.
program_labels
Optional set of labels to set on the program.
job_description
An optional description to set on the job.
job_labels
Optional set of labels to set on the job.
processor_id
Processor id for running the program.
run_name
A unique identifier representing an automation run for the
specified processor. An Automation Run contains a collection of
device configurations for a processor. If specified, processor_id
is required to be set.
snapshot_id
A unique identifier for an immutable snapshot reference.
A snapshot contains a collection of device configurations for the
processor.
device_config_name
An identifier used to select the processor configuration
utilized to run the job. A configuration identifies the set of
available qubits, couplers, and supported gates in the processor.
If specified, processor_id is required to be set.
Returns
An EngineJob. If this is iterated over it returns a list of
TrialResults, one for each parameter sweep.
Raises
ValueError
If no gate set is provided.
ValueError
If only one of run_name and device_config_name are specified.
ValueError
If either run_name and device_config_name are set but
processor_id is empty.
In contrast to run, this runs across multiple parameter sweeps, and
does not block until a result is returned.
Args
program
The Circuit to execute. If a circuit is
provided, a moment by moment schedule will be used.
A list or mapping of programs can also be provided.
These will be executed as KeyedCircuits.
program_id
A user-provided identifier for the program. This must
be unique within the Google Cloud project being used. If this
parameter is not provided, a random id of the format
'prog-################YYMMDD' will be generated, where # is
alphanumeric and YYMMDD is the current year, month, and day.
job_id
Job identifier to use. If this is not provided, a random id
of the format 'job-################YYMMDD' will be generated,
where # is alphanumeric and YYMMDD is the current year, month,
and day.
params
Parameters to run with the program.
repetitions
The number of circuit repetitions to run.
program_description
An optional description to set on the program.
program_labels
Optional set of labels to set on the program.
job_description
An optional description to set on the job.
job_labels
Optional set of labels to set on the job.
processor_id
Processor id for running the program.
run_name
A unique identifier representing an automation run for the
specified processor. An Automation Run contains a collection of
device configurations for a processor. If specified, processor_id
is required to be set.
snapshot_id
A unique identifier for an immutable snapshot reference.
A snapshot contains a collection of device configurations for the
processor.
device_config_name
An identifier used to select the processor configuration
utilized to run the job. A configuration identifies the set of
available qubits, couplers, and supported gates in the processor.
If specified, processor_id is required to be set.
Returns
An EngineJob. If this is iterated over it returns a list of
TrialResults, one for each parameter sweep.
Raises
ValueError
If no gate set is provided.
ValueError
If only one of run_name and device_config_name are specified.
ValueError
If either run_name and device_config_name are set but
processor_id is empty.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-10-08 UTC."],[],[]]