As part of the installation of the dwave-ocean-sdk a dwave executable is installed; for example, in a virtual environment it might be installed as <virtual_environment>\Scripts\dwave.exe. Running this file from your system’s console opens an interactive command line interface (CLI) that can help you set up and configure your development environment, communicate with D-Wave compute resources, interact with your Leap account, and other useful actions.
dwave --help for information on all the CLI options. For
SDK version 6.7.0 the CLI provided the following commands and options
(see the output in your installation for the latest):
$ dwave Usage: dwave [OPTIONS] COMMAND [ARGS]... D-Wave Cloud Client interactive configuration tool. Options: --version Show the version and exit. --debug Enable debug logging. --trace Enable trace-level debug logging. --log LEVEL Set custom numeric or symbolic log level. --platform Show the platform tags and exit. --help Show this message and exit. Commands: auth Authorize Leap access and fetch Leap/Solver API tokens. config Create, update or inspect cloud client configuration file(s). install Install optional non-open-source Ocean packages. leap Interact with Leap API. ping Ping the QPU by submitting a single-qubit problem. sample Submit Ising-formulated problem and return samples. setup Setup optional Ocean packages and configuration file(s). solvers Get solver details. upload Multipart problem upload with cold restart support.
If you work in a Bash shell and want command completion for dwave, add
eval "$(_DWAVE_COMPLETE=source <path>/dwave)"
to your shell’s .bashrc configuration file, where <path> is the absolute path to the installed dwave executable, for example /home/Mary/my-quantum-app/env/bin.
Below are shown example sessions for some of the commands:
dwave auth and
dwave leap commands enable Ocean to access
and interact with your Leap account.
For example, in your developer environment (e.g., a Python virtual environment or a GitHub Codespaces codespace), you can authorize Ocean’s access to your Leap account, using the secure OAuth 2.0 code exchange, by running one of the following Ocean CLI commands from your terminal.
In an environment such as an IDE installed on your system, where you can access localhost addresses from your browser, initiate the OAuth redirect flow:
dwave auth login
In an environment such as a cloud IDE, where access to localhost addresses from your browser might be blocked, you can initiate the alternative OAuth out-of-band flow:
dwave auth login --oob
With Ocean now authorized to access your Leap account, you can create a dwave-cloud-client configuration file to manage your Solver API (SAPI) access with the SAPI token retrieved from your account as shown in the Configure command.
dwave setup command optionally installs non-open-source packages
and configures your environment.
The output shown below includes the interactive prompts and placeholder replies
for a full setup. The
--auth authorizes Ocean to
access your Leap account to fetch your SPI token.
$ dwave setup --auth Optionally install non-open-source packages and configure your environment. Do you want to select non-open-source packages to install (y/n)? [y]: ↵ D-Wave Drivers These drivers enable some automated performance-tuning features. This package is available under the 'D-Wave EULA' license. The terms of the license are available online: https://docs.ocean.dwavesys.com/eula Install (y/n)? [y]: ↵ Installing: D-Wave Drivers Successfully installed D-Wave Drivers. D-Wave Problem Inspector This tool visualizes problems submitted to the quantum computer and the results returned. This package is available under the 'D-Wave EULA' license. The terms of the license are available online: https://docs.ocean.dwavesys.com/eula Install (y/n)? [y]: ↵ Installing: D-Wave Problem Inspector Successfully installed D-Wave Problem Inspector. Authorizing Leap access. Creating the D-Wave configuration file. Using the simplified configuration flow. Try 'dwave config create --full' for more options. Creating new configuration file: /home/jane/.config/dwave/dwave.conf Updating existing profile: defaults Fetched SAPI token for project 'My-Proj' (ABC) from Leap API. Configuration saved.
dwave config command configures your environment.
The output shown below is for a development environment where the user has first enabled Ocean’s Leap access.
$ dwave config create --auto-token Using the simplified configuration flow. Try 'dwave config create --full' for more options. Creating new configuration file: /home/jane/.config/dwave/dwave.conf Updating existing profile: defaults Access token expired (or expires soon), refreshing it. Fetched SAPI token for project 'ABC' (ABC) from Leap API. Configuration saved.
dwave ping command tests communications with the quantum computer
configured using the
dwave setup or
dwave config commands.
The example below, for a Bash Unix shell, pings only QPU solvers.
$ dwave ping --client qpu Using endpoint: https://cloud.dwavesys.com/sapi Using solver: DW_2000Q_6 Submitted problem ID: 34f773f7-77dc-7fa5-a7d5-7e397d90fc4a Wall clock time: * Solver definition fetch: 1888.499 ms * Problem submit and results fetch: 1038.042 ms * Total: 2926.541 ms QPU timing: * post_processing_overhead_time = 307.0 us * qpu_access_overhead_time = 1185.96 us * qpu_access_time = 10995.04 us * qpu_anneal_time_per_sample = 20.0 us * qpu_delay_time_per_sample = 20.54 us * qpu_programming_time = 10756.1 us * qpu_readout_time_per_sample = 198.4 us * qpu_sampling_time = 238.94 us * total_post_processing_time = 307.0 us
dwave solvers command queries which D-Wave compute resources are
currently available to your account.
$ dwave solvers --list --all DW_2000Q_6 hybrid_binary_quadratic_model_version2 hybrid_discrete_quadratic_model_version1 Advantage_system4.1
The example below lists which D-Wave compute resources are currently available to your account in a particular region (Europe).
$ dwave solvers --region eu-central-1 --list --all Advantage_system5.1