Skip to content

Extending datalab

datalab can be extended with plugins. A plugin is a Python package that adds new features to the server, without changing datalab itself. Most plugins add data blocks for a particular technique.

This page is a short overview. Developing and installing plugins is covered in the main documentation, which is the reference.

Only install plugins you trust

Plugins run inside the server with full access to it and to all its data.

Finding existing plugins

Public plugins are listed under the datalab-plugin topic on GitHub. Before writing a new one, check that list and ask on the datalab Slack. You can also request a plugin on the issue tracker.

Data blocks

A new data block reads a file format and plots it on an item page. Start from the plugin template, which sets up the package, tests and an example block for you.

Custom item types

An instance can add its own item types, or extra fields on the built-in ones. For now, custom fields can only be read and written through the API. The web app does not show them yet.

Installing plugins

Installing plugins is a job for whoever administers your instance.

What is coming

Hooks that run when files are uploaded, and plugins that ship their own web app components, are planned. See the roadmap.