About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Options
class qiskit.providers.Options(**kwargs)
Bases: Mapping
Base options object
This class is what all backend options are based on. The properties of the class are intended to be all dynamically adjustable so that a user can reconfigure the backend on demand. If a property is immutable to the user (eg something like number of qubits) that should be a configuration of the backend class itself instead of the options.
Instances of this class behave like dictionaries. Accessing an option with a default value can be done with the get() method:
>>> options = Options(opt1=1, opt2=2)
>>> options.get("opt1")
1
>>> options.get("opt3", default="hello")
'hello'
Key-value pairs for all options can be retrieved using the items() method:
>>> list(options.items())
[('opt1', 1), ('opt2', 2)]
Options can be updated by name:
>>> options["opt1"] = 3
>>> options.get("opt1")
3
Runtime validators can be registered. See set_validator. Updates through update_options and indexing (__setitem__) validate the new value before performing the update and raise ValueError if the new value is invalid.
>>> options.set_validator("opt1", (1, 5))
>>> options["opt1"] = 4
>>> options["opt1"]
4
>>> options["opt1"] = 10
Traceback (most recent call last):
...
ValueError: ...
Attributes
validator
Methods
get
get(k[, d]) → D[k] if k in D, else d. d defaults to None.
items
items() → a set-like object providing a view on D's items
keys
keys() → a set-like object providing a view on D's keys
set_validator
set_validator(field, validator_value)
Set an optional validator for a field in the options
Setting a validator enables changes to an options values to be validated for correctness when update_options()
is called. For example if you have a numeric field like shots
you can specify a bounds tuple that set an upper and lower bound on the value such as:
options.set_validator("shots", (1, 4096))
In this case whenever the "shots"
option is updated by the user it will enforce that the value is >=1 and <=4096. A ValueError
will be raised if it’s outside those bounds. If a validator is already present for the specified field it will be silently overridden.
Parameters
- field (str) – The field name to set the validator on
- validator_value (list ortuple ortype) – The value to use for the validator depending on the type indicates on how the value for a field is enforced. If a tuple is passed in it must have a length of two and will enforce the min and max value (inclusive) for an integer or float value option. If it’s a list it will list the valid values for a field. If it’s a
type
the validator will just enforce the value is of a certain type.
Raises
- KeyError – If field is not present in the options object
- ValueError – If the
validator_value
has an invalid value for a given type - TypeError – If
validator_value
is not a valid type
update_options
update_options(**fields)
Update options with kwargs
values
values() → an object providing a view on D's values
Was this page helpful?
Report a bug or request content on GitHub.