Skip to content

Welcome to PowerOps SDK

release Documentation Status Github PyPI Downloads GitHub Code style: black Ruff mypy

What is it?

The PowerOps SDK is a domain-specific SDK for interacting with Cognite Data Fusion (CDF) for the power operations' domain.

Main Features

  • cognite.powerops.client.PowerOpsClient used to interact with CDF in a domain-specific language.
  • Resource Sync, resync, used to sync configuration files with CDF through the CLI tool powerops.

Installation

pip install cognite-power-ops

Configuration

Configuration of the PowerOpsClient and resync is done through settings files.

Settings Files

The settings file are in .toml format. By default, the SDK will look for two settings files: 1. settings.toml in the current directory. 2. .secrets.toml in the current directory.

The motivation for splitting them is to avoid checking in secrets into Git.

Example of settings files:

settings.toml:

[cognite]
  login_flow = "interactive"
  project = "<cdf-project>"
  tenant_id = "<tenant-id>"
  cdf_cluster = "<cdf-cluster>"
  client_id = "<client-id>"

[powerops]
  read_dataset = "uc:000:powerops"
  write_dataset = "uc:000:powerops"
  monitor_dataset = "uc:po:monitoring"

.secrets.toml

[cognite]
  client_secret = "<client-secret>"

Note: You can configure which settings files to use by setting the environment variable SETTINGS__FILES to a semicolon-separated list of file names.

import os

os.environ["SETTINGS_FILES"] = ".my_settings.toml;.secrets.my_secrets.toml"

Usage

Run Resync

See available commands:

$ powerops --help

Example of showing planned changes:

$ powerops plan tests/data/demo Dayahead

PowerOpsClient

from cognite.powerops.client import PowerOpsClient

client = PowerOpsClient.from_settings()

For more examples, see the examples section of the documentation.