CogniteClient
- class cognite.client.CogniteClient(config: Optional[ClientConfig] = None)
Main entrypoint into Cognite Python SDK.
All services are made available through this object. See examples below.
- Parameters
config (ClientConfig | None) – The configuration for this client.
- get(url: str, params: Optional[dict[str, Any]] = None, headers: Optional[dict[str, Any]] = None) Response
Perform a GET request to an arbitrary path in the API.
- post(url: str, json: dict[str, Any], params: Optional[dict[str, Any]] = None, headers: Optional[dict[str, Any]] = None) Response
Perform a POST request to an arbitrary path in the API.
- put(url: str, json: Optional[dict[str, Any]] = None, headers: Optional[dict[str, Any]] = None) Response
Perform a PUT request to an arbitrary path in the API.
- delete(url: str, params: Optional[dict[str, Any]] = None, headers: Optional[dict[str, Any]] = None) Response
Perform a DELETE request to an arbitrary path in the API.
- property version: str
Returns the current SDK version.
- Returns
The current SDK version
- Return type
str
- property config: ClientConfig
Returns a config object containing the configuration for the current client.
- Returns
The configuration object.
- Return type
- classmethod default(project: str, cdf_cluster: str, credentials: CredentialProvider, client_name: Optional[str] = None) CogniteClient
Create a CogniteClient with default configuration.
The default configuration creates the URLs based on the project and cluster:
Base URL: “https://{cdf_cluster}.cognitedata.com/
- Parameters
project (str) – The CDF project.
cdf_cluster (str) – The CDF cluster where the CDF project is located.
credentials (CredentialProvider) – Credentials. e.g. Token, ClientCredentials.
client_name (str | None) – A user-defined name for the client. Used to identify the number of unique applications/scripts running on top of CDF. If this is not set, the getpass.getuser() is used instead, meaning the username you are logged in with is used.
- Returns
A CogniteClient instance with default configurations.
- Return type
- classmethod default_oauth_client_credentials(project: str, cdf_cluster: str, tenant_id: str, client_id: str, client_secret: str, client_name: Optional[str] = None) CogniteClient
Create a CogniteClient with default configuration using a client credentials flow.
The default configuration creates the URLs based on the project and cluster:
Base URL: “https://{cdf_cluster}.cognitedata.com/
Token URL: “https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token”
Scopes: [f”https://{cdf_cluster}.cognitedata.com/.default”]
- Parameters
project (str) – The CDF project.
cdf_cluster (str) – The CDF cluster where the CDF project is located.
tenant_id (str) – The Azure tenant ID.
client_id (str) – The Azure client ID.
client_secret (str) – The Azure client secret.
client_name (str | None) – A user-defined name for the client. Used to identify the number of unique applications/scripts running on top of CDF. If this is not set, the getpass.getuser() is used instead, meaning the username you are logged in with is used.
- Returns
A CogniteClient instance with default configurations.
- Return type
- classmethod default_oauth_interactive(project: str, cdf_cluster: str, tenant_id: str, client_id: str, client_name: Optional[str] = None) CogniteClient
Create a CogniteClient with default configuration using the interactive flow.
The default configuration creates the URLs based on the tenant_id and cluster:
Base URL: “https://{cdf_cluster}.cognitedata.com/
Authority URL: “https://login.microsoftonline.com/{tenant_id}”
Scopes: [f”https://{cdf_cluster}.cognitedata.com/.default”]
- Parameters
project (str) – The CDF project.
cdf_cluster (str) – The CDF cluster where the CDF project is located.
tenant_id (str) – The Azure tenant ID.
client_id (str) – The Azure client ID.
client_name (str | None) – A user-defined name for the client. Used to identify the number of unique applications/scripts running on top of CDF. If this is not set, the getpass.getuser() is used instead, meaning the username you are logged in with is used.
- Returns
A CogniteClient instance with default configurations.
- Return type
- classmethod load(config: dict[str, Any] | str) CogniteClient
Load a cognite client object from a YAML/JSON string or dict.
- Parameters
config (dict[str, Any] | str) – A dictionary or YAML/JSON string containing configuration values defined in the CogniteClient class.
- Returns
A cognite client object.
- Return type
Examples
Create a cognite client object from a dictionary input:
>>> from cognite.client import CogniteClient >>> import os >>> config = { ... "client_name": "abcd", ... "project": "cdf-project", ... "base_url": "https://api.cognitedata.com/", ... "credentials": { ... "client_credentials": { ... "client_id": "abcd", ... "client_secret": os.environ["OAUTH_CLIENT_SECRET"], ... "token_url": "https://login.microsoftonline.com/xyz/oauth2/v2.0/token", ... "scopes": ["https://api.cognitedata.com/.default"], ... }, ... }, ... } >>> client = CogniteClient.load(config)
- class cognite.client.config.ClientConfig(client_name: str, project: str, credentials: CredentialProvider, api_subversion: Optional[str] = None, base_url: Optional[str] = None, max_workers: Optional[int] = None, headers: Optional[dict[str, str]] = None, timeout: Optional[int] = None, file_transfer_timeout: Optional[int] = None, debug: bool = False)
Configuration object for the client
- Parameters
client_name (str) – A user-defined name for the client. Used to identify number of unique applications/scripts running on top of CDF.
project (str) – CDF Project name.
credentials (CredentialProvider) – Credentials. e.g. Token, ClientCredentials.
api_subversion (str | None) – API subversion
base_url (str | None) – Base url to send requests to. Defaults to “https://api.cognitedata.com”
max_workers (int | None) – DEPRECATED. Use global_config.max_workers instead. Max number of workers to spawn when parallelizing data fetching. Defaults to 5.
headers (dict[str, str] | None) – Additional headers to add to all requests.
timeout (int | None) – Timeout on requests sent to the api. Defaults to 30 seconds.
file_transfer_timeout (int | None) – Timeout on file upload/download requests. Defaults to 600 seconds.
debug (bool) – Configures logger to log extra request details to stderr.
- classmethod default(project: str, cdf_cluster: str, credentials: CredentialProvider, client_name: Optional[str] = None) ClientConfig
Create a default client config object.
- Parameters
project (str) – CDF Project name.
cdf_cluster (str) – The CDF cluster where the CDF project is located.
credentials (CredentialProvider) – Credentials. e.g. Token, ClientCredentials.
client_name (str | None) – A user-defined name for the client. Used to identify the number of unique applications/scripts running on top of CDF. If this is not set, the getpass.getuser() is used instead, meaning the username you are logged in with is used.
- Returns
A default client config object.
- Return type
- classmethod load(config: dict[str, Any] | str) ClientConfig
Load a client config object from a YAML/JSON string or dict.
- Parameters
config (dict[str, Any] | str) – A dictionary or YAML/JSON string containing configuration values defined in the ClientConfig class.
- Returns
A client config object.
- Return type
Examples
Create a client config object from a dictionary input:
>>> from cognite.client.config import ClientConfig >>> import os >>> config = { ... "client_name": "abcd", ... "project": "cdf-project", ... "base_url": "https://api.cognitedata.com", ... "credentials": { ... "client_credentials": { ... "client_id": "abcd", ... "client_secret": os.environ["OAUTH_CLIENT_SECRET"], ... "token_url": "https://login.microsoftonline.com/xyz/oauth2/v2.0/token", ... "scopes": ["https://api.cognitedata.com/.default"], ... }, ... }, ... } >>> client_config = ClientConfig.load(config)
- class cognite.client.config.GlobalConfig
Global configuration object
- default_client_config
A default instance of a client configuration. This will be used by the CogniteClient constructor if no config is passed directly. Defaults to None.
- Type
Optional[ClientConfig]
- disable_gzip
Whether or not to disable gzipping of json bodies. Defaults to False.
- Type
bool
- disable_pypi_version_check
Whether or not to check for newer SDK versions when instantiating a new client. Defaults to False.
- Type
bool
- status_forcelist
HTTP status codes to retry. Defaults to {429, 502, 503, 504}
- Type
Set[int]
- max_retries
Max number of retries on a given http request. Defaults to 10.
- Type
int
- max_retries_connect
Max number of retries on connection errors. Defaults to 3.
- Type
int
- max_retry_backoff
Retry strategy employs exponential backoff. This parameter sets a max on the amount of backoff after any request failure. Defaults to 30.
- Type
int
- max_connection_pool_size
The maximum number of connections which will be kept in the SDKs connection pool. Defaults to 50.
- Type
int
- disable_ssl
Whether or not to disable SSL. Defaults to False
- Type
bool
- proxies
Dictionary mapping from protocol to url. e.g. {“https”: “http://10.10.1.10:1080”}
- Type
Dict[str, str]
- max_workers
Max number of workers to spawn when parallelizing API calls. Defaults to 5.
- Type
int | None
- silence_feature_preview_warnings
Whether or not to silence warnings triggered by using alpha or beta features. Defaults to False.
- Type
bool
- apply_settings(settings: dict[str, Any] | str) None
Apply settings to the global configuration object from a YAML/JSON string or dict.
Note
All settings in the dictionary will be applied unless an invalid key is provided, a ValueError will instead be raised and no settings will be applied.
Warning
This must be done before instantiating a CogniteClient for the configuration to take effect.
- Parameters
settings (dict[str, Any] | str) – A dictionary or YAML/JSON string containing configuration values defined in the GlobalConfig class.
Examples
Apply settings to the global_config from a dictionary input:
>>> from cognite.client import global_config >>> settings = { ... "max_retries": 5, ... "disable_ssl": True, ... } >>> global_config.apply_settings(settings)