Dwave-ocean-sdk

Latest version: v8.0.0

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

Scan your dependencies

Page 14 of 29

1.0.3

- Update `dwavebinarycsp` (wheel support)

1.0.2

- Use the latest `dwavebinarycsp` (`penaltymodel` factory in extras)

1.0.1

1.0.0

0.16.6

New Features

- Add Python 3.10 support. See [\136](https://github.com/dwavesystems/penaltymodel/pull/136).

0.13.0

New Features

- Enable QPU problem data compression on upload using `deflate` content encoding.

Compression is controlled with a new config option, `compress_qpu_problem_data`, defaulting to true, and it can be turned off either in config file or via `Client()` kwarg. See [\622](https://github.com/dwavesystems/dwave-cloud-client/issues/622).

- Add long polling as problem status/answer polling strategy.

We add the following config options: `poll_strategy` (`"backoff"` is the current default, `"long-polling"` is the new strategy), `poll_wait_time`, and `poll_pause`. See [\648](https://github.com/dwavesystems/dwave-cloud-client/issues/648).

- Add `timeout` keyword argument to `api.resources.Problems.get_problem_status()` and `api.resources.Problems.get_problem_statuses()` methods.

Use it to enable long polling on problem status API endpoint. The connection is closed (server-side) when at least one problem completes, or the `timeout` (in seconds) elapses, whatever comes first. See [\649](https://github.com/dwavesystems/dwave-cloud-client/pull/649).

- Add support for retrieving filtered solver configuration to `dwave.cloud.api.resources.Solvers` methods. See [\644](https://github.com/dwavesystems/dwave-cloud-client/pull/644).

- Add API response caching support to `dwave.cloud.api` interface. Cache is validated using a conditional request based on `ETag`. See [\645](https://github.com/dwavesystems/dwave-cloud-client/pull/645).

- Poll for problem-status update using long-polling strategy by default. See [\662](https://github.com/dwavesystems/dwave-cloud-client/pull/662).

Long-polling strategy enables faster status-change propagation to the client, especially for longer jobs, or during heavy QPU usage.

- Speed-up function calls that dispatch events by short-circuiting the dispatch in case no event handlers are registered. See [\660](https://github.com/dwavesystems/dwave-cloud-client/pull/660).

- Add `timeout` keyword argument to `api.resources.Problems.get_problem()` method.

Use it to enable long polling on problem fetch API endpoint. The connection is closed (server-side) when the problem completes, or the `timeout` (in seconds) elapses, whatever comes first. In case problem completed in time, problem answer is returned in addition to problem status (which is always returned). See [\657](https://github.com/dwavesystems/dwave-cloud-client/pull/657).

- Enable regions metadata API cache control in `dwave.cloud.regions.get_regions()` by switching to `api.Regions` built-in caching session. See [\647](https://github.com/dwavesystems/dwave-cloud-client/issues/647).

- Speed-up JSON encoding and decoding by switching to `orjson`. See [\423](https://github.com/dwavesystems/dwave-cloud-client/issues/423).

- Parse `Cache-Control` header field if present in API response, and use it to guide local caching policy.

This means `dwave.cloud.api.DWaveAPIClient` and `dwave.cloud.api.resource` classes now respect origin server response caching policy. See [\646](https://github.com/dwavesystems/dwave-cloud-client/issues/646).

- Cache solver metadata on disk, using conditional requests for cache validation (update).

Static and dynamic parts of solver metadata are fetched and stored separately, to enable efficient caching.

See [\613](https://github.com/dwavesystems/dwave-cloud-client/issues/613).

- Lazily import `Client`/`Solver`/`Future` in the top-level namespace, `dwave.cloud`. Direct imports are preferred, e.g. `from dwave.cloud.client import Client`, but the widely-used way (`from dwave.cloud import Client`) is still supported for backwards compatibility.

Similarly we now lazily import old namespaces with client type as submodule, e.g. `dwave.cloud.qpu`.

The main benefit of such lazy imports is import performance, as "heavy" symbols are only imported when explicitly needed/asked for. See [\643](https://github.com/dwavesystems/dwave-cloud-client/pull/643).

- Speed-up imports by slightly decoupling submodules. See [\643](https://github.com/dwavesystems/dwave-cloud-client/pull/643).

- Speed-up `dwave.cloud.utils.qubo.active_qubits` utility function by ~50%, and `dwave.cloud.coders.encode_problem_as_qp` by 20-30%. See [\661](https://github.com/dwavesystems/dwave-cloud-client/pull/661).

- Speed-up QPU problem sampling when problem submitted as BQM by 40%. For best performance, keep linear and quadratic biases in `dict`s. See [\661](https://github.com/dwavesystems/dwave-cloud-client/pull/661).

- Cache dynamic solver metadata for up to 15 minutes, unless defined differently by API cache control response header. See [\663](https://github.com/dwavesystems/dwave-cloud-client/pull/663).

Upgrade Notes

- Short polling with exponential backoff is not used by default anymore, but it is still available. If for some reason you want to use it, set:

poll_strategy = backoff

configuration parameter in your config file, or the keyword argument in calls to `Client()` or `Client.from_config()`. See [\662](https://github.com/dwavesystems/dwave-cloud-client/pull/662).

- Config attributes previously available directly on `Client` instance, deprecated in `dwave-cloud-client==0.11.0`, are removed in `dwave-cloud-client==0.13.0`.

Use config model (`dwave.cloud.config.models.ClientConfig`) available as `Client.config` to access client configuration instead.

Path to most attributes translates directly. For example, `Client.region` is now available as `Client.config.region`. One attribute has been renamed (`Client.default_solver` is now `Client.config.solver`), and all `Client.poll_*` config options are consolidated under `Client.config.polling_schedule.*`. Similarly `Client.http_retry_*` options are now available under `Client.config.request_retry.*`. See [\664](https://github.com/dwavesystems/dwave-cloud-client/pull/664).

Deprecation Notes

- `dwave.cloud.utils.coders.NumpyEncoder` is deprecated and will be removed in `dwave-cloud-client==0.14.0`. Use `orjson.dumps()` with `OPT_SERIALIZE_NUMPY` option instead. See [\652](https://github.com/dwavesystems/dwave-cloud-client/pull/652).

- Shorthand import paths for specialized Clients (for `qpu`, `sw` and `hybrid`) are deprecated in `dwave-cloud-client==0.12.2` and will be removed in `dwave-cloud-client==0.14.0`. Instead, use the full import path, e.g. `from dwave.cloud.client.qpu import Client`, instead of `from dwave.cloud.qpu import Client`. See [\643](https://github.com/dwavesystems/dwave-cloud-client/pull/643).

Bug Fixes

- Defer SQLite connect in `cached.ondisk()` until actually needed. Also, verify cache thread/process-safety and forking support. See [\642](https://github.com/dwavesystems/dwave-cloud-client/pull/642).

- Fix `get_cache_dir()` to not create the cache directory by default. Creation is now optional and controlled with `create` argument. This makes it consistent with other config path functions. See [\642](https://github.com/dwavesystems/dwave-cloud-client/pull/642).

- Fix possible race condition during cache directory create. See [homebase\37](https://github.com/dwavesystems/homebase/issues/37), [\#642](https://github.com/dwavesystems/dwave-cloud-client/pull/642).

- During solver metadata filtering, treat solver `status` as a dynamic field. This is to handle an edge case when solver is marked `offline`, but it's still available via API. See [\663](https://github.com/dwavesystems/dwave-cloud-client/pull/663).

Page 14 of 29

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.