Dwave-cloud-client

Latest version: v0.12.0

Safety actively analyzes 638845 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 13

0.11.0

Not secure
New Features

- Add Leap authorization-related group of CLI commands under `dwave auth`: `login`, `get <token-type>`, `refresh`. See [\565](https://github.com/dwavesystems/dwave-cloud-client/issues/565).

<!-- -->

- Add Leap project CLI commands under new `dwave leap project` group: `ls`, `token`.

<!-- -->

- Add `--auto` option to `dwave config create` to attempt SAPI token fetch from Leap API on configuration file create (if access already authorized with `dwave auth login`).

<!-- -->

- For OAuth 2.0 Authorization Code exchange flow, add support for both the redirect flow and the out-of-band flow. See [\564](https://github.com/dwavesystems/dwave-cloud-client/issues/564).

<!-- -->

- Add a general-purpose, multi-threaded, WSGI application server, `dwave.cloud.auth.server.BackgroundAppServer`. This server can handle redirect URIs in the OAuth2 authorization code flow. See [\563](https://github.com/dwavesystems/dwave-cloud-client/issues/563).

<!-- -->

- Add `dwave.cloud.auth.server.SingleRequestAppServer` based on `dwave.cloud.auth.server.BackgroundAppServer` to specifically handle only one (valid) request to the OAuth redirect URI (and self-terminate after that).

<!-- -->

- Add `dwave.cloud.auth.creds.Credentials`, an on-disk credentials store. See [\562](https://github.com/dwavesystems/dwave-cloud-client/issues/562).

<!-- -->

- Add configuration options for defining Leap API endpoint: `leap_api_endpoint` option in configuration file or as keyword argument, and `DWAVE_LEAP_API_ENDPOINT` environment variable. See [\569](https://github.com/dwavesystems/dwave-cloud-client/issues/569).

<!-- -->

- Add a configuration option for setting Leap OAuth 2.0 Ocean client id, `leap_client_id`. Primarily used for testing.

<!-- -->

- Add OAuth 2.0 Authorization Code exchange flow to enable users to authorize Ocean SDK to access Leap API on their behalf. See [\564](https://github.com/dwavesystems/dwave-cloud-client/issues/564).

<!-- -->

- Add wall time and QPU timing to `dwave sample` output. See [\570](https://github.com/dwavesystems/dwave-cloud-client/issues/570).

<!-- -->

- Add a per-call cached value maximum age (`maxage_`) for functions decorated with `cached`.

<!-- -->

- Allow specifying cache key explicitly, instead of using all arguments of a function decorated with `cached`.

<!-- -->

- Add cache bypass control via `disable()` and `enable()` on the decorated function.

<!-- -->

- Add `cached.disabled` context manager (and a function decorator) that temporarily disables cache within the context (i.e. the decorated function). See [\503](https://github.com/dwavesystems/dwave-cloud-client/issues/503).

<!-- -->

- Add `leap_api_endpoint` and `solver_api_endpoint` properties to `dwave.cloud.api.models.Region`.

<!-- -->

- Move `dwave.cloud.Client.get_regions` to `dwave.cloud.regions.get_regions` in a new `regions` submodule, and refactor for flexibility of use and better caching control. See [\577](https://github.com/dwavesystems/dwave-cloud-client/issues/577).

<!-- -->

- Add endpoints-from-region resolver, `dwave.cloud.regions.resolve_endpoints`. Previously, similar resolver was part of the `Client` class.

<!-- -->

- Add `--clique-size`/`--size`/`-k` options to `dwave sample` CLI command to help specify problem size (clique size) for random problems generated for unstructured solvers.

<!-- -->

- Add Pydantic-based data model for cloud-client configuration, `dwave.cloud.config.models.ClientConfig`.

<!-- -->

- Consolidate client runtime configuration options under `Client.config`, a data model defined with `dwave.cloud.config.models.ClientConfig` and decouple config parsing from `dwave.cloud.Client` construction. See [\504](https://github.com/dwavesystems/dwave-cloud-client/issues/504).

<!-- -->

- Add `from_config()` family of factories to `dwave.cloud.api.client.DWaveAPIClient` and subclasses for SolverAPI, MetadataAPI and LeapAPI. `from_config()` dispatches to `from_config_model()` or `from_config_file()`, depending on arguments. See [\572](https://github.com/dwavesystems/dwave-cloud-client/issues/572).

<!-- -->

- Use full client config for Metadata API access during region/endpoint resolution on `dwave.cloud.Client` construction. See [\505](https://github.com/dwavesystems/dwave-cloud-client/issues/505).

<!-- -->

- Add support for specifying connection read timeout separately from connect timeout. Previously, both read and connect timeouts were set to the same value, specified with the `request_timeout` configuration parameter. We now accept a `(read, connect)` tuple for the `request_timeout` parameter. See [\440](https://github.com/dwavesystems/dwave-cloud-client/issues/440).

<!-- -->

- Add `--project` option to `dwave config create`, to be used in conjunction with `--auto`/`--auto-token`.

When project is not specified, the configuration file is initialized with a SAPI token for the currently active Leap project.

Project can be specified via project name, code or ID.

<!-- -->

- Upgrade `dwave.cloud.api.models.*` to use Pydantic v2. See [\555](https://github.com/dwavesystems/dwave-cloud-client/issues/555).

Upgrade Notes

- Upgrade your python to 3.8+. We no longer support python 3.7 and below.

<!-- -->

- Method `from_client_config()` is removed from `dwave.cloud.api.resources.ResourceBase`, (affecting instantiation of its subclasses), in favor of a new method `from_config_model()` (or alternatively, a more general `from_config()`). Previously an instance of either `dwave.cloud.Client` or `dwave.cloud.api.DWaveAPIClient` was required, and now it's possible to use just the configuration, a `dwave.cloud.config.models.ClientConfig` object.

To upgrade, replace `{ResourceBase}.from_client_config(cloud_client)` with `{ResourceBase}.from_config_model(client.config)`, and `{ResourceBase}.from_client_config(dwave_api_client)` with `{ResourceBase}(dwave_api_client)`.

<!-- -->

- `dwave.cloud.utils.cached` parameter `cache` has been renamed to `store`.

<!-- -->

- API models now coerce Numpy types to Python types on validation (model instantiation), instead of holding `typing.Any` until serialization.

<!-- -->

- Disk cache serialization changed from Python pickle to JSON. Currently, disk cache is used only for the list of Leap regions fetched from the Metadata API on `dwave.cloud.Client` instantiation. Upgrade should be seamless, as a new on-disk cache database file is created for each dwave-cloud-client version.

Deprecation Notes

- Client method `get_regions` is deprecated in favor of `dwave.cloud.regions.get_regions`.

<!-- -->

- Individual config options exposed as `dwave.cloud.Client` attributes are deprecated since `dwave-cloud-client==0.11.0` and will be removed in `dwave-cloud-client==0.12.0`. Use `Client.config` data model instead.

Bug Fixes

- Fix `cached` instances isolation when using a shared storage (e.g. disk cache), via `bucket` argument (cache key prefix).

<!-- -->

- Fix random problem sampling on hybrid solvers via `dwave sample` CLI. See [\557](https://github.com/dwavesystems/dwave-cloud-client/issues/557).

<!-- -->

- Fix region/endpoint resolution during `dwave.cloud.Client` construction when insecure connection is required (config: `permissive_ssl = On`) and/or a proxy is used (config: `proxy = socks5://...`). Previously client construction would fail completely. See [\507](https://github.com/dwavesystems/dwave-cloud-client/issues/507).

<!-- -->

- Correctly set backoff\_max time for retried requests when `urllib3>=2.0` is used. See [\566](https://github.com/dwavesystems/dwave-cloud-client/issues/566).

0.11.0.dev0

Not secure
See [0.11.0](https://github.com/dwavesystems/dwave-cloud-client/releases/tag/0.11.0).

0.10.6

Not secure
New Features

- Add basic support for Leap API access with `dwave.cloud.api.client.LeapAPIClient` and `dwave.cloud.api.resources.LeapAccount`.

- Filter out more formats of API token-like strings from logs. In addition to the Solver API tokens, we now filter generic 32-char+ hex tokens (Leap API access token format), and UUID tokens (all variants). See [\551](https://github.com/dwavesystems/dwave-cloud-client/issues/551).

Bug Fixes

- Constrain `pydantic` version, as V2 introduces major backwards incompatible changes.

0.10.5

Not secure
New Features

- Add `strict_mode` support to `VersionedAPISession`. Strict mode is now the default, implying API requests will fail if type/version is expected and the response doesn't include it.

- Add `version_strict_mode` config option to `DWaveAPIClient`. It corresponds to underlying session's (`VersionedAPISession`) `strict_mode`.

- Add `VersionedAPISession`, a `requests.Session` subclass (more precisely, further specialized `LoggingSession`) that enforces conformance of API response version with supported version range(s).

- Add `accepts` decorator for declaring accepted media type and response format version (range) on `dwave.cloud.api.Resource` methods.

- Simplify `dwave.cloud.api.resource.accepts` interface (require only `media_type` and `version`), but retain flexibility (pass all keyword arguments to `VersionedAPISession.set_accept`).

- Support `strict_mode` control of API response type validation via `accepts` interface.

Upgrade Notes

- Response type version is now always required (regardless of `strict_mode`) if type is expected and received, and version is expected.

- Enforce D-Wave API response format version on all `cloud.api` resources.

Bug Fixes

- Fix `dwave.cloud.api.resources.accepts` to allow for partial decoration of `Resource` methods. See [\544](https://github.com/dwavesystems/dwave-cloud-client/issues/544).

0.10.4

Not secure
New Features

- Add Python 3.11 support
- Add dimod 0.12.x support
- Add numpy 1.24.x support

0.10.3

Not secure
New Features

- Add support for NumPy scalars used as problem parameter values. See 512.

Page 2 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.