/cognite-sdk-python

Cognite Python SDK

Primary LanguagePythonApache License 2.0Apache-2.0

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).

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, specify them like this with pip:

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

or like this if you are using poetry:

$ poetry add cognite-sdk -E pandas -E 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

On Windows, it is recommended to install geopandas and its dependencies using conda package manager, see geopandas installation page. The following commands create a new environment, install geopandas and cognite-sdk.

conda create -n geo_env
conda activate geo_env
conda install --channel conda-forge geopandas
pip install cognite-sdk

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.