Skip to content

cognitedata/cognite-sdk-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,949 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cognite logo

Cognite Python SDK

build Downloads GitHub codecov Documentation Status PyPI version conda version mypy Code style: black

This is the Cognite Python SDK for developers and data scientists working with Cognite Data Fusion (CDF). The package is tightly integrated with pandas, and helps you work easily and efficiently with data in Cognite Data Fusion (CDF).

What's new in v8

The SDK v8 introduces full async support with the new AsyncCogniteClient. This enables:

  • Native async/await patterns for all API operations
  • Non-blocking concurrent operations directly in Notebooks (including browser-based via Pyodide) and UI frameworks like Streamlit
  • Significantly faster file uploads on Windows (new underlying HTTP client, httpx)
# Async client (new in v8!)
from cognite.client import AsyncCogniteClient

async def main():
    client = AsyncCogniteClient()
    tss = await client.time_series.list()

# Sync client (still supported)
from cognite.client import CogniteClient

client = CogniteClient()
tss = client.time_series.list()

The synchronous CogniteClient remains fully supported and now wraps the async client internally. See the Migration Guide for a complete list of changes.

Reference documentation

Installation

Without any optional dependencies

To install the core version of this package:

pip install cognite-sdk

With optional dependencies

A number of optional dependencies may be specified in order to support a wider set of features. The available extras (along with the libraries they include) are:

  • numpy [numpy]
  • pandas [pandas]
  • geo [geopandas, shapely]
  • sympy [sympy]
  • functions [pip]
  • yaml [PyYAML]
  • all [numpy, pandas, geopandas, shapely, sympy, pip, PyYAML]

To include optional dependencies:

pip:

pip install "cognite-sdk[pandas, geo]"

poetry:

poetry add cognite-sdk -E pandas -E geo

uv:

uv add "cognite-sdk[pandas, geo]"

Performance notes

If you regularly need to fetch large amounts of datapoints, consider installing with numpy (or with pandas, as it depends on numpy) for best performance, then use the retrieve_arrays (or retrieve_dataframe) endpoint(s). This avoids building large pure Python data structures, and instead reads data directly into memory-efficient numpy.ndarrays.

Windows specific

If you experience issues installing the geo extra on Windows, consider using conda to install geopandas first. See the geopandas installation page for details.

Changelog

Wondering about upcoming or previous changes to the SDK? Take a look at the CHANGELOG.

Migration Guide

To help you upgrade your code(base) quickly and safely to a newer major version of the SDK, check out our migration guide. It is a more focused guide based on the detailed change log. MIGRATION GUIDE.

Contributing

Want to contribute? Check out CONTRIBUTING.