dwave.cloud.client.Client.from_config

classmethod Client.from_config(config_file=None, profile=None, client=None, endpoint=None, token=None, solver=None, proxy=None, headers=None, legacy_config_fallback=False, **kwargs)[source]

Client factory method to instantiate a client instance from configuration.

Configuration values can be specified in multiple ways, ranked in the following order (with 1 the highest ranked):

  1. Values specified as keyword arguments in from_config()
  2. Values specified as environment variables
  3. Values specified in the configuration file

Configuration-file format is described in dwave.cloud.config.

If the location of the configuration file is not specified, auto-detection searches for existing configuration files in the standard directories of get_configfile_paths().

If a configuration file explicitly specified, via an argument or environment variable, does not exist or is unreadable, loading fails with ConfigFileReadError. Loading fails with ConfigFileParseError if the file is readable but invalid as a configuration file.

Similarly, if a profile explicitly specified, via an argument or environment variable, is not present in the loaded configuration, loading fails with ValueError. Explicit profile selection also fails if the configuration file is not explicitly specified, detected on the system, or defined via an environment variable.

Environment variables: DWAVE_CONFIG_FILE, DWAVE_PROFILE, DWAVE_API_CLIENT, DWAVE_API_ENDPOINT, DWAVE_API_TOKEN, DWAVE_API_SOLVER, DWAVE_API_PROXY, DWAVE_API_HEADERS.

Environment variables are described in dwave.cloud.config.

Parameters:
  • config_file (str/[str]/None/False/True, default=None) –

    Path to configuration file.

    If None, the value is taken from DWAVE_CONFIG_FILE environment variable if defined. If the environment variable is undefined or empty, auto-detection searches for existing configuration files in the standard directories of get_configfile_paths().

    If False, loading from file is skipped; if True, forces auto-detection (regardless of the DWAVE_CONFIG_FILE environment variable).

  • profile (str, default=None) –

    Profile name (name of the profile section in the configuration file).

    If undefined, inferred from DWAVE_PROFILE environment variable if defined. If the environment variable is undefined or empty, a profile is selected in the following order:

    1. From the default section if it includes a profile key.
    2. The first section (after the default section).
    3. If no other section is defined besides [defaults], the defaults section is promoted and selected.
  • client (str, default=None) – Client type used for accessing the API. Supported values are qpu for dwave.cloud.qpu.Client, sw for dwave.cloud.sw.Client and hybrid for dwave.cloud.hybrid.Client.
  • endpoint (str, default=None) – API endpoint URL.
  • token (str, default=None) – API authorization token.
  • solver (dict/str, default=None) –

    Default solver features to use in get_solver().

    Defined via dictionary of solver feature constraints (see get_solvers()). For backward compatibility, a solver name, as a string, is also accepted and converted to {"name": <solver name>}.

    If undefined, get_solver() uses a solver definition from environment variables, a configuration file, or falls back to the first available online solver.

  • proxy (str, default=None) – URL for proxy to use in connections to D-Wave API. Can include username/password, port, scheme, etc. If undefined, client uses the system-level proxy, if defined, or connects directly to the API.
  • headers (dict/str, default=None) – Newline-separated additional HTTP headers to include with each API request, or a dictionary of (key, value) pairs.
  • legacy_config_fallback (bool, default=False) – If True and loading from a standard D-Wave Cloud Client configuration file (dwave.conf) fails, tries loading a legacy configuration file (~/.dwrc).
Other Parameters:
 

Unrecognized keys (str) – All unrecognized keys are passed through to the appropriate client class constructor as string keyword arguments.

An explicit key value overrides an identical user-defined key value loaded from a configuration file.

Returns:

Appropriate instance of a QPU/software/hybrid client.

Return type:

Client subclass

Raises:

Examples

A variety of examples are given in dwave.cloud.config.

This example initializes Client from an explicitly specified configuration file, “~/jane/my_path_to_config/my_cloud_conf.conf”:

>>> from dwave.cloud import Client
>>> client = Client.from_config(config_file='~/jane/my_path_to_config/my_cloud_conf.conf')  
>>> # code that uses client
>>> client.close()