A minimal client for interacting with D-Wave cloud resources.
Project description
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.8+:
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.
Contributing
Ocean’s contributing guide has guidelines for contributing to Ocean packages.
Release Notes
D-Wave Cloud Client uses reno to manage its release notes.
When making a contribution to D-Wave Cloud Client that will affect users, create a new release note file by running
reno new your-short-descriptor-here
You can then edit the file created under releasenotes/notes/. Remove any sections not relevant to your changes. Commit the file along with your changes.
See reno’s user guide for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dwave-cloud-client-0.12.0.dev0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b050e599f435aeffd23826b1c0acfd0b7fa92d40e0388e8cbdac221d3668d8f5 |
|
MD5 | bd892ed249b32c8a041a6d33f8c7e2d8 |
|
BLAKE2b-256 | 76b7b05ff5ab7b1dc44fe23a7b7f76fe00e0e4a860ce12f83dba11cfd089306c |
Hashes for dwave_cloud_client-0.12.0.dev0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97c803349cdfb74d6c5023309fa69620ebb80c7a3209d8862441b4e75788514d |
|
MD5 | a8854eb671666dfe9530b975f52f2a46 |
|
BLAKE2b-256 | 817b466e0ac2f6103c236c0586cb305261e7086229df974e2e2edcec444a08ba |