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.
- Writing a plugin
- How data blocks work
- Development setup, for trying a block in a local copy of datalab
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.
- Custom item types, including advice on what belongs in a field and what belongs in a data block
- The built-in item schemas
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.