https://github.com/dwavesystems/dwave-cloud-client
A minimal implementation of the REST interface used to communicate with D-Wave Solver API (SAPI) servers.
https://github.com/dwavesystems/dwave-cloud-client
quantum-computing
Last synced: 3 months ago
JSON representation
A minimal implementation of the REST interface used to communicate with D-Wave Solver API (SAPI) servers.
- Host: GitHub
- URL: https://github.com/dwavesystems/dwave-cloud-client
- Owner: dwavesystems
- License: apache-2.0
- Created: 2017-10-03T23:10:23.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-10-17T15:32:38.000Z (3 months ago)
- Last Synced: 2025-10-21T20:56:24.338Z (3 months ago)
- Topics: quantum-computing
- Language: Python
- Homepage: https://docs.dwavequantum.com/en/latest/ocean/api_ref_cloud/
- Size: 3.01 MB
- Stars: 63
- Watchers: 11
- Forks: 42
- Open Issues: 77
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- awesome-quantum-software - dwave-cloud-client - Min. implementation of the REST interface to communicate with D-Wave's Solver API. (Quantum annealing)
README
.. image:: https://badge.fury.io/py/dwave-cloud-client.svg
:target: https://badge.fury.io/py/dwave-cloud-client
:alt: Latest version on PyPI
.. image:: https://circleci.com/gh/dwavesystems/dwave-cloud-client.svg?style=shield
:target: https://circleci.com/gh/dwavesystems/dwave-cloud-client
:alt: Linux/MacOS/Windows build status
.. image:: https://codecov.io/gh/dwavesystems/dwave-cloud-client/branch/master/graph/badge.svg
:target: https://codecov.io/gh/dwavesystems/dwave-cloud-client
:alt: Coverage report
.. index-start-marker
==================
dwave-cloud-client
==================
.. start_cloud_about
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.
.. code-block:: python
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])
.. end_cloud_about
Installation
============
Requires Python 3.8+:
.. code-block:: bash
pip install dwave-cloud-client
To install from source (available on GitHub in
`dwavesystems/dwave-cloud-client`_ repo):
.. code-block:: bash
pip install -r requirements.txt
python setup.py install
.. _`dwavesystems/dwave-cloud-client`: https://github.com/dwavesystems/dwave-cloud-client
License
=======
Released under the Apache License 2.0. See ``_ 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
.. code-block:: bash
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.