Skip to content

eWaterCycle/jupyterlab_thredds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e9df787 · Aug 10, 2020
Apr 23, 2018
Apr 24, 2018
Jul 7, 2020
Jul 7, 2020
Dec 5, 2018
Sep 2, 2019
Aug 28, 2019
Aug 28, 2019
Nov 29, 2018
Jul 7, 2020
Aug 10, 2020
Apr 10, 2018
May 4, 2018
Jul 7, 2020
Aug 29, 2019
May 2, 2018
Apr 24, 2018
Dec 5, 2018
Jul 7, 2020
Jul 7, 2020
May 2, 2018
Jul 7, 2020
May 4, 2018
May 2, 2018
Aug 29, 2019
May 2, 2018

Repository files navigation

jupyterlab_thredds

Build Status SonarCloud Quality SonarCloud Coverage DOI

JupyterLab dataset browser for THREDDS catalog

Can inject iris/xarray/leaflet code cells into a Python notebook of a selected dataset to further process/visualize the dataset.

screenshot

Prerequisites

  • JupyterLab, pip install jupyterlab
  • ipywidgets, jupyter labextension install @jupyter-widgets/jupyterlab-manager, requirement for ipyleaflet
  • ipyleaflet, jupyter labextension install jupyter-leaflet, to load a WMS layer
  • iris, conda install -c conda-forge iris

Installation

pip install jupyterlab_thredds
jupyter labextension install @ewatercycle/jupyterlab_thredds

Usage

  1. Start Jupyter lab with jupyter lab
  2. In Jupyter lab open a notebook
  3. Open the THREDDS tab on the left side.
  4. Fill the catalog url
  5. Press search button
  6. Select how you would like to open the dataset, by default it uses iris Python package.
  7. Press a dataset to insert code into a notebook

Development

For a development install, do the following in the repository directory:

pip install -r requirements.txt
jlpm
jlpm build
jupyter labextension link .
jupyter serverextension enable --sys-prefix jupyterlab_thredds

(jlpm command is JupyterLab's pinned version of yarn that is installed with JupyterLab.)

To rebuild the package and the JupyterLab app:

jlpm build
jupyter lab build

Watch mode

# shell 1
jlpm watch
# shell 2
jupyter lab --ip=0.0.0.0 --no-browser --watch

Release

To make a new release perform the following steps:

  1. Update version in package.json and jupyterlab_thredds/version.py
  2. Record changes in CHANGELOG.md
  3. Make sure tests pass by running jlpm test and pytest
  4. Commit and push all changes
  5. Publish lab extension to npmjs with jlpm build and jlpm publish --access=public
  6. Publish server extension to pypi with python setup.py sdist bdist_wheel and twine upload dist/*
  7. Create GitHub release
  8. Update DOI in CITATION.cff