Details on environment configuration for QCS clients.
One set of configuration values is used for all QCS software on your computer - CLI, pyQuil, all SDKs, etc. Those settings can be applied using a configuration file, environment variables, or at runtime by editing the configuration object in your chosen language's SDK.
QCS clients derive configuration from the environment:
QCS_PROFILE_NAME
Name of settings profile to use (optional)
QCS_SETTINGS_PATH or QCS_SETTINGS_FILE_PATH
File path to API configurations options toml file, default is ~/.qcs/settings.toml
QCS_SECRETS_PATH or QCS_SECRETS_FILE_PATH
File path to API authentication token toml file, default is ~/.qcs/secrets.toml
QCS_SETTINGS_APPLICATIONS_PYQUIL_QVM_URL
URL to use for QVM when running pyQuil, default is http://127.0.0.1:5000
QCS_SETTINGS_APPLICATIONS_PYQUIL_QUILC_URL
URL to use for quilc when running pyQuil, default is tcp://127.0.0.1:5555
QCS Settings File
A toml -formatted file with configuration details for using QCS Clients.
An annotated example:
# Name of profile to use when one is not otherwise specified.# Used in order of precedence:# 1. The `--profile-name` flag via the QCS CLI.# 2. The `QCS_PROFILE_NAME` environment variable.# 3. This `default_profile_name` value in this toml file.default_profile_name ="default"# (Required) One or more named profiles used for# configuring QCS applications like the CLI.[profiles]# A named profile. [profiles.default]# (Required) QCS API origin. api_url ="https://api.qcs.rigetti.com"# (Optional) Named credentials to use from `QCS_SECRETS_FILE`. credentials_name ="default"# (Optional) OAuth server name to use. auth_server_name ="default"# (Optional) Application-specific settings [profiles.default.applications]# (Optional) QCS CLI configurations [profiles.default.applications.cli]# (Optional) Log verbosity - lower levels include messages from# all levels above them.# Options:# - "panic"# - "fatal"# - "error"# - "warn" (default)# - "info"# - "debug" verbosity ="warn"# (Optional) Returned data output format.# Options:# - "yaml"# - "json" (default) output_format ="json"# (Optional) PyQuil configurations [profiles.default.applications.pyquil]# Endpoints for qvm# Overridden by environment variable: QCS_SETTINGS_APPLICATIONS_PYQUIL_QVM_URL qvm_url ="http://127.0.0.1:5000"# Endpoint for quilc# Overridden by environment variable: QCS_SETTINGS_APPLICATIONS_PYQUIL_QUILC_URL quilc_url ="tcp://127.0.0.1:5555"# (Required) One or more named OAuth server configurations.[auth_servers]# A named OAuth configuration.# The following example uses the values expected for authenticating to https://api.qcs.rigetti.com/ [auth_servers.default]# (Required) OAuth Client ID.# This is the Client ID used to authenticate to https://api.qcs.rigetti.com/ client_id ="0oa3ykoirzDKpkfzk357"# (Required) OAuth OpenID issuer base URL.# This is the issuer URL used to authenticate to https://api.qcs.rigetti.com/ issuer ="https://auth.qcs.rigetti.com/oauth2/aus8jcovzG0gW2TUG355"
QCS Secrets File
A toml -formatted file with credentials for authenticating with QCS clients. You shouldn't have to create or edit this file manually - if your file is corrupted, download a new copy at https://qcs.rigetti.com/auth/token
Note that this file contains secrets and should be kept safe!
# One or more authentication credentials.[credentials]# A named set of credentials. [credentials.default]# OAuth access token response payload.# You shouldn't have to configure this [credentials.default.token_payload] id_token ="<JWT HERE>" access_token ="<JWT HERE>" expires_in =86400 refresh_token ="<SECRET HERE>" scope ="offline_access openid profile email" token_type ="Bearer"