A minimal client for interacting with D-Wave cloud resources.


Keywords
quantum-computing
License
Apache-2.0
Install
pip install dwave-cloud-client==0.8.0

Documentation

Last version on PyPI Linux/Mac build status Windows build status Coverage report Documentation Status

dwave-cloud-client

D-Wave Cloud Client is a minimal implementation of the REST interface used to communicate with D-Wave Sampler API (SAPI) servers.

SAPI is an application layer built to provide resource discovery, permissions, and scheduling for quantum annealing resources at D-Wave Systems. This package provides a minimal Python interface to that layer without compromising the quality of interactions and workflow.

The example below instantiates a D-Wave Cloud Client and solver based on the local system's auto-detected default configuration file and samples a random Ising problem tailored to fit the solver's graph.

import random
from dwave.cloud import Client

# Connect using the default or environment connection information
with Client.from_config() as client:

    # Load the default solver
    solver = client.get_solver()

    # Build a random Ising model to exactly fit the graph the solver supports
    linear = {index: random.choice([-1, 1]) for index in solver.nodes}
    quad = {key: random.choice([-1, 1]) for key in solver.undirected_edges}

    # Send the problem for sampling, include solver-specific parameter 'num_reads'
    computation = solver.sample_ising(linear, quad, num_reads=100)

    # Print the first sample out of a hundred
    print(computation.samples[0])

Installation

Requires Python 3.5+:

pip install dwave-cloud-client

To install from source (available on GitHub in dwavesystems/dwave-cloud-client repo):

pip install -r requirements.txt
python setup.py install

License

Released under the Apache License 2.0. See LICENSE file.

Contribution

See CONTRIBUTING.rst file.