Skip to main 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. Requires PowerOps to be deployed and configured for CDF project before using, see project setup instructions for more details.

This SDK is used as a submodule in the power-ops-toolkit repository (private). All toolkit configuration and toolkit deployment workflows are maintained in that repo.

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 a yaml file and environment variables.

YAML configuration

The configuration is in .yaml format and the path to the configuration file must be explicitly provided. Refer to the example config file for the most up to date example of required fields.

Secrets should not be written directly in this configuration file as the file is intended to be committed to git. Instead use the following syntax to refer to an environment variable as a value.

project: "${PROJECT}"
base_url: "https://${CLUSTER}.cognitedata.com"

If you are using a .env file etc. then you must handle loading the proper environment variables prior to instantiating PowerOpsClient or running resync.

Usage

Run Resync

Refer to the resync documentation.

PowerOpsClient

Using YAML configuration:

from dotenv import load_dotenv
from cognite.powerops.client import PowerOpsClient

load_dotenv()
power_ops_client = PowerOpsClient.from_config("power_ops_config.yaml")

Using an existing CogniteClient:

from cognite.powerops.client import PowerOpsClient

# Refer to the Cognite SDK documentation for the different ways to instantiate a CogniteClient
cognite_config = {} # dict with configuration
cognite_client = CogniteClient.load(cognite_config)

# Instantiate PowerOpsClient with existing CogniteClient
power_ops_client = PowerOpsClient(client=cognite_client, read_dataset="xid_dataset", write_dataset="xid_dataset")

For more examples on using the PowerOpsClient, see the examples section of the documentation.

Running Tests

Run the test suite with:

pytest

Most tests run against an in-memory mock of PowerOpsClient (tests/mock_powerops.py) and don't require CDF access. Tests that do need a real CDF connection are marked with @pytest.mark.cdf.

To skip the CDF-dependent tests, e.g. when running locally without CDF credentials configured, use the --skipcdf flag. This is also what CI uses:

pytest --skipcdf

Metadata

Release files for cognite-power-ops 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cognite-power-ops 1.2.0
File Size Uploaded
cognite_power_ops-1.2.0.tar.gz 310.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cognite-power-ops 1.2.0
File Interpreter ABI Platform
cognite_power_ops-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 931.1 kB

Release files / cognite_power_ops-1.2.0.tar.gz

Download URL cognite_power_ops-1.2.0.tar.gz
Size 310.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bf94c217145fb6fd204fd32efa21fad630bb0fa15ad53ee95def917edac8e981
BLAKE2b-256 checksum
How to use checksums
848b63e0271bd6e0d4baa3d571b2fe44070c9cfc1443414f48aea78c0889f927
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.21

Release files / cognite_power_ops-1.2.0-py3-none-any.whl

Download URL cognite_power_ops-1.2.0-py3-none-any.whl
Size 621.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1acdcdbc19cb4a2fa2bcbde5f9f6f938b69e2844895c3c0231f08394f0995ce9
BLAKE2b-256 checksum
How to use checksums
e612acc15d0415d3d1780e8747df501384ce68f3ffd298557921d0469a3fe3f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.21

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.99.0

2 release files

0.98.3

2 release files

0.98.2

2 release files

0.98.1

2 release files

0.98.0

2 release files

0.97.2

2 release files

0.97.1

2 release files

0.97.0

2 release files

0.96.0

2 release files

0.94.4

2 release files

0.94.3

2 release files

0.94.1

2 release files

0.94.0

2 release files

0.91.3

2 release files

0.91.2

2 release files

0.91.1

2 release files

0.91.0

2 release files

0.90.0

2 release files

0.88.9

2 release files

0.88.6

2 release files

0.88.5

2 release files

0.88.4

2 release files

0.88.3

2 release files

0.88.2

2 release files

0.88.1

2 release files

0.88.0

2 release files

0.87.0

2 release files

0.86.1

2 release files

0.86.0

2 release files

0.84.0

2 release files

0.82.4

2 release files

0.82.3

2 release files

0.82.2

2 release files

0.82.1

2 release files

0.82.0

2 release files

0.81.1

2 release files

0.81.0

2 release files

0.80.4

2 release files

0.80.3

2 release files

0.79.1

2 release files

0.78.0

2 release files

0.77.0

2 release files

0.76.0

2 release files

0.75.2

2 release files

0.75.1

2 release files

0.75.0

2 release files

0.74.0

2 release files

0.73.5

2 release files

0.73.4

2 release files

0.73.3

2 release files

0.73.2

2 release files

0.72.0

2 release files

0.71.0

2 release files

0.70.3

2 release files

0.70.2

2 release files

0.70.1

2 release files

0.70.0

2 release files

0.69.0

2 release files

0.68.1

2 release files

0.68.0

2 release files

0.62.1

2 release files

0.62.0

2 release files

0.61.0

2 release files

0.60.2

2 release files

0.60.1

2 release files

0.60.0

2 release files

0.59.0

2 release files

0.58.4

2 release files

0.58.3

2 release files

0.58.2

2 release files

0.58.1

2 release files

0.58.0

2 release files

0.57.0

2 release files

0.56.0

2 release files

0.55.5

2 release files

0.55.4

2 release files

0.55.3

2 release files

0.55.2

2 release files

0.55.1

2 release files

0.55.0

2 release files

0.54.1

2 release files

0.54.0

2 release files

0.53.3

2 release files

0.53.2

2 release files

0.53.1

2 release files

0.53.0

2 release files

0.52.0

2 release files

0.51.0

2 release files

0.50.0

2 release files

0.49.0

2 release files

0.42.0

2 release files

0.41.0

2 release files

0.40.2

2 release files

0.40.1

2 release files

0.40.0

2 release files

0.39.1

2 release files

0.39.0

2 release files

0.38.3

2 release files

0.38.2

2 release files

0.38.1

2 release files

0.38.0

2 release files

0.37.0

2 release files

0.36.0

2 release files

0.35.0

2 release files

0.34.1

2 release files

0.33.0

2 release files

0.32.0

2 release files

0.31.0

2 release files

0.30.0

2 release files

0.29.1

2 release files

0.29.0

2 release files

0.28.1

2 release files

0.28.0

2 release files

0.27.1

2 release files

0.27.0

2 release files

0.26.0

2 release files

0.25.3

2 release files

0.25.2

2 release files

0.23.0

2 release files

0.22.2

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page