Plugins in Dataiku DSS

Dataiku’s integration of code allows you to accomplish anything within the platform through custom code. Plugins allow you to extend the Dataiku GUI by sharing your custom code in various ways.

You can install existing plugins from the store, by uploading a Zip file, or from a Git repository.

In these tutorials, you will learn how to:

  • Write your own dev plugins
  • Share plugins within your team or publicly through repos

Prerequisites

  • Developing plugins requires that you have a good working knowledge of Python and/or R.

Technical Requirements

Note

With the permission to develop plugins, you can turn on Plugin development by going to Administration > Settings > Misc > Plugin Development

../../_images/plugins-turnondev.png

Create a Dev Plugin

Before starting any of the tutorials, you’ll need a new dev plugin. You can create a new plugin for each tutorial, or use the same plugin for all of them. To create a dev plugin:

  • From the application menu, choose Plugins Development.
  • Click +New dev plugin.
  • Give an identifier to your plugin, like first-plugin.

This identifier should be globally unique. Prefixing plugin id’s with your company name, or something similar, will help prevent conflicting names if you import plugins from 3rd party sources.

Now that we have a skeleton for a plugin, we can add some components to it.

Plugin components

A plugin is made of a number of components. Each component is a single kind of object in Dataiku DSS, such as a dataset, recipe, or webapp.

These tutorials walk through development of different types of components.

Sharing your plugin

Plugins are distributed as Zip archives. To share your dev plugins, you simply select Download this plugin from the actions menu of the plugin. Alternatively you can compress the contents of the plugin folder to a Zip file (the contents of the plugin folder must be at the root of the Zip file, i.e. there must not be any leading folder in the Zip file). The plugin.json file should be at the root of the Zip file.

A typical Zip file would therefore have this structure

./plugin.json
./python-connectors/myapi-connector/connector.py
./python-connectors/myapi-connector/connector.json
./python-lib/myapi.py

You can then install this Zip file in any DSS by following the instructions.

Using the Git integration, you can also maintain plugins on a remote git repo. This feature allows collaborative development and version control of plugins on a git repository that can be shared within a team or publicly.

If you want to distribute your plugin to all DSS users, we’d be glad to discuss it with you. Head over to our contributions repository or contact us!

What’s Next

Congratulations! You’ve taken your first steps to learning about Dataiku plugins.