Releases: dwavesystems/dwave-cloud-client
0.9.3
New Features
-
Add Python 3.10 support.
-
Add
--json
output option todwave sample
. -
Add
--sampling-params
option todwave sample
.--num-reads
has been kept, and it now overwrites value given in sampling params. -
Add
--label
option todwave ping
anddwave sample
, with a default value set. See #481. -
Add
--full
option todwave setup
, propagated todwave config create
. Clarifieddwave setup
operation in CLI help. -
Filter out API token-like strings from logs. Most notably, we make sure to redact Solver API tokens, but will filter out any prefixed hex token. See #391.
Bug Fixes
- Improved error and output handling in
dwave sample
. See #300.
0.9.2
New Features
-
Added Metadata API client,
Regions
model and API resource. See #483. -
Added multi-region support to
dwave.cloud.Client
. See #483.New config option for region selection is called
region
, and environment variable is calledDWAVE_API_REGION
.New config option for specifying Metadata API endpoint URL is exposed as
metadata_api_endpoint
andDWAVE_METADATA_API_ENDPOINT
.List of available regions available with
dwave.cloud.Client.get_regions
. -
Add context manager protocol support to
dwave.cloud.api.client.DWaveAPIClient
to ensure resources are easily cleaned up (session closed). Note thatclose()
method is available for cases when context manager pattern is inconvenient. See #492.Similarly, we add
close()
method to resources indwave.cloud.api.resource.*
, in addition to the existing context manager protocol support. -
Add
--region
and--endpoint
options to the relevantdwave
CLI subcommands:ping
,solvers
,sample
,upload
. See #496.
Upgrade Notes
-
To access solvers in a non-default region (na-west-1), you can use the
region
config option andDWAVE_API_REGION
environment variable. -
dwave.cloud.config.load_config
used to return some minimal (but arbitrary) set of always-set options (set toNone
if undefined). Now it returns just the options set either in config file, environment, or kwargs.
Bug Fixes
- Fix
dwave.cloud.api.constants.ProblemType
enumeration to include the CQM problem type. See #491.
0.9.1
0.9.0
Prelude
We began using Reno as a changelog tool after the release of 0.8.7. Content added before that release is not included. See releases for previous release notes.
New Features
-
Default
dwave config create
configuration flow is now simplified to prompt only for essential parameters (at the moment that's onlytoken
).Interactive configuration of an extended set of non-essential parameters (i.e. the previous default) is now available via a new flag:
--full
.See #304
-
A low-level
dwave.cloud.api.client
added to abstract SAPI communication details (like authentication, response decoding, error handling, retries, etc). -
All SAPI requests and responses modelled in
dwave.cloud.api.models.*
. These models are used for data validation and representation.
- Added model-level interfaces to SAPI resources (in a REST sense),
dwave.cloud.api.resources.Solvers
anddwave.cloud.api.resources.Problems
.
- Added mock solver data generators.
- New layer of exceptions added in
dwave.cloud.api.exceptions
. Base exceptionRequestError
subclassesrequests
's exception and includes raw.response
object, along with.error_msg
and.error_code
returned by SAPI.
- Begin using reno for changelog.
Upgrade Notes
SAPIError
exception is now just an alias fordwave.cloud.api.exceptions.RequestError
.
-
To configure non-essential parameters such as
endpoint
,client
andsolver
, configuration create command now has to be called with the--full
option:dwave config create --full
-
dwave.cloud.client
module is now a namespace containing all client subclasses as submodules. You should update your imports accordingly:dwave.cloud.Client --> dwave.cloud.client.base.Client dwave.cloud.hybrid.Client --> dwave.cloud.client.hybrid.Client dwave.cloud.qpu.Client --> dwave.cloud.client.qpu.Client dwave.cloud.sw.Client --> dwave.cloud.client.sw.Client
For backwards compatibility, old import paths still work, but are deprecated.
Deprecation Notes
- Import paths
dwave.cloud.{hybrid,qpu,sw}.Client
are deprecated and should be replaced withdwave.cloud.client.{hybrid,qpu,sw}.Client
.
Bug Fixes
- Configured client session creation is sped up by caching user-agent construction (per client). Client session is now created ~200x faster, making it on par with
requests.Session
creation time (~50us).
- When a path to a nonexistent config file is provided to
dwave config create
, we'll now happily create that file, instead of failing.
- Avoid character encoding / charset guessing for speed and stability.
0.9.0.dev0
Prelude
We began using Reno as a changelog tool after the release of 0.8.7. Content added before that release is
not included. See releases for previous release notes.
New Features
- A low-level
dwave.cloud.api.client
added to abstract SAPI communication details (like authentication, response decoding, error handling, retries, etc).
- All SAPI requests and responses modelled in
dwave.cloud.api.models.*
. These models are used for data validation and representation.
- Added model-level interfaces to SAPI resources (in a REST sense),
dwave.cloud.api.resources.Solvers
anddwave.cloud.api.resources.Problems
.
- Added mock solver data generators.
- New layer of exceptions added in
dwave.cloud.api.exceptions
. Base exceptionRequestError
subclassesrequests
's exception and includes raw.response
object, along with.error_msg
and.error_code
returned by SAPI.
- Begin using reno for changelog.
Upgrade Notes
SAPIError
exception is now just an alias fordwave.cloud.api.exceptions.RequestError
.
-
dwave.cloud.client
module is now a namespace containing all client subclasses as submodules. You should update your imports accordingly:dwave.cloud.Client --> dwave.cloud.client.base.Client dwave.cloud.hybrid.Client --> dwave.cloud.client.hybrid.Client dwave.cloud.qpu.Client --> dwave.cloud.client.qpu.Client dwave.cloud.sw.Client --> dwave.cloud.client.sw.Client
For backwards compatibility, old import paths still work, but are deprecated.
Deprecation Notes
- Import paths
dwave.cloud.{hybrid,qpu,sw}.Client
are deprecated and should be replaced withdwave.cloud.client.{hybrid,qpu,sw}.Client
.
Bug Fixes
- Configured client session creation is sped up by caching user-agent construction (per client). Client session is now created ~200x faster, making it on par with
requests.Session
creation time (~50us).
- Avoid character encoding / charset guessing for speed and stability.
0.8.7
0.8.6
0.8.5
New Features
- Annotated
Future.sampleset
with.wait_id
method (#377) - Added
dispatches_events
decorator that can be used to simplify event dispatch on method entry and exit (#443/#455) - CLI: added
--client
option to override the client type used (#458)
Fixes
- Dispatch sampling events also from unstructured solvers (#454)
- CLI: fixed solver by client filtering (#457)
- Docs: added link checks (#464), updated sphinx/conf (#470)