Edit Dataiku DSS recipes in Sublime Text

Applies to DSS 3.1 and above | September 13, 2016

Thanks to Dataiku DSS REST Public API, you can remotely edit items such as datasets and recipes.

A plugin was created to let you easily edit your recipes (SQL, Python, R…) in the Sublime Text editor.

Here is an example with a SQL recipe:

Animated GIF showing how an SQL recipe in Datiku can be edited in Sublime Text editor


The requirements to edit your recipes in Sublime Text are:

  • Dataiku DSS 3.1 or later.
  • Sublime Text 3 with Package Control. Package Control is a smart manager for your extensions.
  • Direct access to your Dataiku DSS instance from your local computer (if you have a proxy, it must be set up at the system level).
  • An API key to connect to your Dataiku DSS instance. From DSS 4.0, you have to generate a Personal API key on a User profile. Before, a Global API key was required.

API keys

To generate a new Personal API key, click on your profile image on the top right corner, open your Profile and Settings, open API keys and create a new one.

Installation of the extension

In Sublime Text, open the Command Palette. (You can press ctrl+shift+p on Windows and Linux or cmd+shift+p on OS X).

Type install package, hit Enter, search for Dataiku, find the extension (hosted on, and hit Enter.

Configuration and usage

Once the extension is installed in Sublime Text, you have two new options accessible via the the Command Palette. To find them, start typing dataiku.

Datiku options in the Sublime Command Palette

You have two options:

  • Edit DSS instances: use this to configure the instances you can edit remotely.
  • Browse DSS instances: use this to choose the DSS instance you want to work with, and then the recipe you want to edit.

When editing the Dataiku DSS instances, you have a JSON configuration file to edit. You can define one or multiple instances. Don’t forget to save after editing.

    "instances": [
            "name": "My DSS Instance",
            "base_url": "http://localhost:11200",
            "api_key": "xxx",
            "list_of_project_keys_to_exclude": [],
            "keep_only_code_recipes": true
            "name": "DSS Instance of my company",
            "base_url": "",
            "api_key": "xxx",
            "list_of_project_keys_to_exclude": ["TUTORIAL"],
            "keep_only_code_recipes": false

The parameters available for each DSS instance:

  • name: name of the DSS instance in Sublime Text
  • base_url: the base URL of the DSS instance, without / at the end
  • api_key: the API key
  • list_of_project_keys_to_exclude: optionally, a list of project keys that you don’t want to see in Sublime Text
  • keep_only_code_recipes: when set to true, it hides the visual recipes (prepare, join, window, stack, …) in Sublime Text. It is highly recommended to keep this option to true.

You can then browse DSS instances and choose a recipe to edit in Sublime Text.

Under the hood

Note that the extension works this way:
  1. The code of the recipe is loaded via the API (GET method) and saved in a temporary file on your computer.
  2. You can edit the code.
  3. At each save in Sublime Text, the extension sends the entire code to the DSS instance via the API (PUT method). There are no merges: if an edit took place in the meantime on the DSS instance, it will be overwritten.
  4. When you close the file, your local temporary file is deleted.

More info

The DataikuSublimeText extension is open sourced, feel free to contribute.

If you have any problem or question, you can ask the Dataiku community or open an issue on the extension’s repository.