Skip to content

A template for repositories which provide a jupyter notebook and corresponding environment

License

Notifications You must be signed in to change notification settings

DiamondLightSource/bookshelf-template

Repository files navigation

Bookshelf Notebooks

This template can be used to develop container images with data processing notebooks which will be automatically deployed in two varieties:

  1. An interactive - jupyterlab - environment, for running both locally and on the hosted JupyterLab instance
  2. A headless processing image, for running both locally and as a cluster job

Setting up your bookshelf

  1. Add your Python requirements to the project.dependencies section within the pyproject.toml.
  2. Fill in notebook.ipynb with whatever processing you wish to perform.
  3. Update your README to describe what your bookshelf does.

Releasing a version

Simply "create a release" on github, this will trigger a set of continuous integration (CI) jobs defined in .github/workflows to generate and publish the specified container images.

To update the versions available via the diamond module system, run the Project General installation jenkins job for the "bookshelf" package; This will query the GitHub API and catalogue all container images in the DiamondLightSource repository with the required metadata.

Running the Containers

Interactive (local)

podman run --publish 8888:8888 ghcr.io/diamondlightsource/bookshelf-template/interactive:latest

or

module load bookshelf/bookshelf-template/latest
bookshelf-template-interactive

Interactive (hosted)

  1. Go to https://jupyterhub.diamond.ac.uk/hub/home
  2. 'Start My Server' with CONTAINER_IMAGE=ghcr.io/diamondlightsource/bookshelf-template/interactive:latest

Processing

podman run --volume .:/outputs --volume .:/inputs --security-opt=label=type:container_runtime_t ghcr.io/diamondlightsource/bookshelf-template/processing:latest

or

module load bookshelf/bookshelf-template/latest
bookshelf-template-processing

About

A template for repositories which provide a jupyter notebook and corresponding environment

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •