Skip to main content

Webservice to generate and launch a Jupyter notebook

Project description

# experiment-launcher

[![Build Status](https://travis-ci.org/eWaterCycle/experiment-launcher.svg?branch=master)](https://travis-ci.org/eWaterCycle/experiment-launcher) [![SonarCloud quality gate](https://sonarcloud.io/api/project_badges/measure?project=experiment-launcher&metric=alert_status)](https://sonarcloud.io/dashboard?id=experiment-launcher) [![SonarCloud coverage](https://sonarcloud.io/api/project_badges/measure?project=experiment-launcher&metric=coverage)](https://sonarcloud.io/component_measures?id=experiment-launcher&metric=coverage) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1453264.svg)](https://doi.org/10.5281/zenodo.1453264)

eWaterCycle Experiment Launcher a webservice to generate and launch a Jupyter notebook.

The API of the webservice is described in OpenAPI specification at [openapi.yaml](https://github.com/eWaterCycle/experiment-launcher/blob/master/ewatercycle_experiment_launcher/swagger.yaml) and can be seen in [Swagger UI](http://petstore.swagger.io/?url=https://raw.githubusercontent.com/eWaterCycle/experiment-launcher/master/ewatercycle_experiment_launcher/openapi.yaml)

# Install

## JupyterHub server

The experiment launcher needs to communicate with a Jupyter Hub server. The JupyterHub server must running with a service which has a known token and has admin rights.

`bash pip install jupyterhub dockerspawner sudo npm install -g configurable-http-proxy cp jupyterhub_config.py.example jupyterhub_config.py # Generate token export JUPYTERHUB_TOKEN=$(openssl rand -hex 32) echo $JUPYTERHUB_TOKEN # Set token nano jupyterhub_config.py docker pull ewatercycle/jupyterlab-experiment-builder jupyterhub `

Test JupyterHub by going to http://172.17.0.1:8000 and login with OS credentials.

## Installation for production

`bash pip install ewatercycle_experiment_launcher `

## Installation for development

To install the launcher in development mode clone the repo and run

`bash python setup.py develop `

# Run

`bash # JUPYTERHUB_TOKEN env var should be set to same value as token in jupyterhub_config.py export JUPYTERHUB_URL=http://172.17.0.1:8000 gunicorn -w 4 -b 0.0.0.0:8888 ewatercycle_experiment_launcher.serve:app `

Goto http://localhost:8888/ui/ for Swagger UI.

The JupyterHub and Experiment Launcher use local OS accounts for authentication and authorization.

In the Swagger UI you must authorize before trying an operation.

When running on Internet make sure https is enforced so the authentication is secure.

# Changelog All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.2.0] - 2018-12-06

### Fixed

  • workspace is already in use in another JupyterLab window (#11)

### Changed

  • Upgraded to Connexion v2

  • Upgraded to OpenAPI v3

## [0.1.0] - 2018-10-09

Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ewatercycle_experiment_launcher-0.2.0.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

ewatercycle_experiment_launcher-0.2.0-py2.py3-none-any.whl (14.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ewatercycle_experiment_launcher-0.2.0.tar.gz.

File metadata

  • Download URL: ewatercycle_experiment_launcher-0.2.0.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.10.0 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for ewatercycle_experiment_launcher-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8a330a0c25c7e380158f917e40eaef585e588427e4b4984d784f7ae8708b2fa6
MD5 9c019f0bd52fbdea2ad65ed9a0a4ec6d
BLAKE2b-256 9769d9a19301a6980b081fd6d33506f65d34b911c43687bb59e9e577eeb8c586

See more details on using hashes here.

File details

Details for the file ewatercycle_experiment_launcher-0.2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: ewatercycle_experiment_launcher-0.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.10.0 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for ewatercycle_experiment_launcher-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5b1693d9ba614e8d9456f3c4335a8414e02c7703077dbf21c4126a84bad254de
MD5 c61aa2be55985e9d96693b9a871081a6
BLAKE2b-256 17fecc803936a7b8d6968525579e27e4e3ef54894d35f61b1d92ad73ba42ed40

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page