A Jupyter Notebook extension which enables uploading to Zenodo from JupyterLab
Project description
Jupyterlab-Zenodo
A Zenodo extension for JupyterHub
Installation
This is part of a two-part extension: the lab extension (UI) and the server extension (which interfaces with Zenodo). In order to use this extension, both parts must be enabled. The following instructions should be run in your terminal.
To install the server extension:
pip install jupyterlab_zenodo
To enable the server extension:
jupyter serverextension enable --py jupyterlab_zenodo
To install the lab extension:
jupyter labextension install @chameleoncloud/jupyterlab_zenodo
Customization
You can add a series of (optional) custom features by adding lines to your jupyter_notebook_config.py
file.
- Create a default Zenodo access token so that users don't need their own:
c.ZenodoConfig.access_token = '<your token>'
- Set up a post-upload redirect. By setting
<your-url>
below, users will be redirected to that site with an added 'doi' query parameter when they successfully create a new Zenodo upload.
c.ZenodoConfig.upload_redirect_url = '<your-url>'
- Set a default Zenodo community. The below will identify all depositions published with this extension with
<your community>
.
c.ZenodoConfig.community = '<your community>'
- Customize the internal storage database. Information about previous uploads to Zenodo on a user's server will be stored in
<database-location>
in a sqlite database called<database-name>
. These default to/work/.zenodo/
andzenodo.db
, respectively.
c.ZenodoConfig.database_location = '<database-location>'
c.ZenodoConfig.database_name = '<database_name>'
Development
To work with the extension without publishing directly to Zenodo, use Zenodo sandbox.
Indicate that you're in a development environment and provide a default sandbox token in jupyter_notebook_config.py
:
c.ZenodoConfig.dev = True
c.ZenodoConfig.access_token = '<your sandbox token>'
Testing
The server side of this extension comes with a set of integration tests. They can be used as follows:
- Create a Zenodo sandbox access token
- Assign the value TEST_API_TOKEN in
jupyterlab_zenodo/test_init.py
to your access token (as a string) - Run
make tests
from the root in your terminal
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.