Dataiku Python APIs#

Dataiku provides two main Python packages for interacting with the platform: dataiku and dataikuapi. They are often used together, but they serve different purposes depending on where your code runs and what you want to control.

The Dataiku Python packages#

Developers can interact with the Dataiku platform using a complete set of Python APIs split between two packages: dataiku and dataikuapi.

  • dataikuapi is the client for Dataiku’s public REST API. Use it when you want to automate the platform, manage projects, trigger workflows, or integrate Dataiku with external systems.

  • dataiku is the in-platform Python package used by code running inside Dataiku. Use it for project-level operations, data access, recipes, datasets, managed folders, and machine learning tasks.

When your code runs inside Dataiku, you can use both packages out of the box. For example, the dataiku package lets you create a client for the public API:

import dataiku

client = dataiku.api_client()

# client is now a DSSClient and can perform all authorized actions.
# For example, list the project keys for which you have access
client.list_project_keys()

In this Developer Guide, we usually refer to both packages collectively as the Dataiku Python APIs unless the distinction matters for the topic.

Attention

If you edit code outside the platform, for example with the VSCode extension or the PyCharm plugin, make sure to install the Dataiku Python APIs locally.

Learning the REST API#

If you need to work directly with HTTP endpoints instead of the Python client, see:

Wrapping up#