Skip to main content

# 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

Metadata

Release files for ewatercycle-experiment-launcher 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ewatercycle-experiment-launcher 0.2.0
File Size Uploaded
ewatercycle_experiment_launcher-0.2.0.tar.gz 15.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ewatercycle-experiment-launcher 0.2.0
File Interpreter ABI Platform
ewatercycle_experiment_launcher-0.2.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 29.8 kB

Release files / ewatercycle_experiment_launcher-0.2.0.tar.gz

Download URL ewatercycle_experiment_launcher-0.2.0.tar.gz
Size 15.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8a330a0c25c7e380158f917e40eaef585e588427e4b4984d784f7ae8708b2fa6
BLAKE2b-256 checksum
How to use checksums
9769d9a19301a6980b081fd6d33506f65d34b911c43687bb59e9e577eeb8c586
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / ewatercycle_experiment_launcher-0.2.0-py2.py3-none-any.whl

Download URL ewatercycle_experiment_launcher-0.2.0-py2.py3-none-any.whl
Size 14.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
5b1693d9ba614e8d9456f3c4335a8414e02c7703077dbf21c4126a84bad254de
BLAKE2b-256 checksum
How to use checksums
17fecc803936a7b8d6968525579e27e4e3ef54894d35f61b1d92ad73ba42ed40
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page