Concept | Development plugins#

Watch the video


In this lesson, we’ll introduce development plugins in Dataiku, the required permissions for creating them, and how to start developing them.

Plugins are a way for developers to code functionalities and package them into reusable components. These plugins can then be shared with other team members through various means, such as, by downloading zip files, or by pushing the plugin to a remote git repository.

../../_images/plugin_dev_concept_develop_and_share.png

Tip

The code for most Dataiku plugins is available in public Github repositories.

Once a plugin has been shared, non-coding team members can access and install it to utilize its functionalities via a visual interface.

Trade-offs with using plugins#

While plugins allow you to customize and extend the functionalities of Dataiku, by using them, you generally lose the support coverage available for Dataiku’s native features.

../../_images/plugin_dev_concept_support_coverage.png

There are some exceptions to this rule, such as the Time Series Preparation plugin, which has full support, and the Forecast plugin, which has Tier 2 support. In cases where there are exceptions, the support tier will be stated explicitly.

../../_images/plugin_dev_concept_forecast_plugin.png

Plugin Make-Up#

A plugin can include components such as datasets, notebook templates, scenario triggers, prediction algorithms, and more. Each component of a plugin is made up of:

  • A point and click interface that is defined by a JSON descriptor.

  • Some custom code that’s typically written in R or Python.

For example, the Fraud monitoring plugin consists of two components, a custom recipe (scatterplot-3d) and a processor (hide-colors). Each of these components is made up of a JSON descriptor and a custom Python code.

../../_images/plugin_dev_concept_components.png

Adding existing plugins#

A user with administrative privileges can add plugins by:

  • Installing an existing plugin from the plugin store.

  • Uploading a plugin as a zip export from another Dataiku instance.

  • Fetching a plugin from a git repository.

Creating development plugins#

A user belonging to a group with the “Develop Plugins” permission can create a development plugin by:

  • Writing a custom plugin from scratch.

  • Converting Dataiku components such as an existing code recipe or webapp to a plugin.

  • Converting a plugin that has been installed from the plugin store into a development plugin so that its code can be customized further.

Note

Converting an installed plugin to a development plugin is not a recommended practice. Rather, to contribute to the development of an existing plugin, we recommend that you clone the remote git repository where the plugin’s source code is stored, make code modifications as desired, and then share the changes for the benefit of the entire plugin community.

The Development tab of the plugin store contains a list of the development plugins on an instance of Dataiku.

What’s next?#

Learn more about plugins by exploring the different ways of developing plugins.