A minimal implementation of the REST interface used to communicate with D-Wave Solver API (SAPI) servers.
Clone or download
randomir Merge pull request #277 from randomir/ping-private-cert-check
Check for (private) cert verify fail; direct user to KB article
Latest commit 22ebb03 Nov 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Update workflow Nov 1, 2018
dwave
perf
tests Refactor Client.get_solver, introduce SolverNotFoundError Nov 3, 2018
.coveragerc Omit package_info in coverage Apr 12, 2018
.gitignore
.travis.yml
CONTRIBUTING.rst Use intersphinx instead of explicit links Sep 14, 2018
LICENSE Fix LICENSE Oct 3, 2018
README.rst Update readthedocs badge Sep 28, 2018
appveyor.yml
requirements.txt Remove [py/gnu]readline references/use Jun 23, 2018
setup.cfg Add coverage support Dec 22, 2017
setup.py Remove [py/gnu]readline references/use Jun 23, 2018

README.rst

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

D-Wave 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.

Example

This example 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

Compatible with Python 2 and 3:

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.