Skip to content
This repository has been archived by the owner on Apr 10, 2024. It is now read-only.

finish jlab2.1.4 upgrade #65

Merged
merged 25 commits into from
Aug 3, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
632764b
update dev w changes to master (#62)
mayadebellis Jun 25, 2020
d67d8ef
remove all package-lock files
mayadebellis Jun 25, 2020
f6c683d
remove all tsc dependencies and change to typescript
mayadebellis Jun 25, 2020
4a1bd68
master -> dev merge reversed change to remove handler
echyam Jun 26, 2020
9fa8b25
fix imports
echyam Jun 29, 2020
c07f53c
fix job display, rm extraneous console logging
echyam Jun 29, 2020
384fde4
Upgrade jlab2 (#63)
echyam Jul 1, 2020
e76eef6
revert toastify version
echyam Jul 1, 2020
ed497b3
try toastify v3
echyam Jul 1, 2020
81b1b7b
resolve issue with submit jobs describe & execute
echyam Jul 7, 2020
3471352
submit jobs minor cleanup and update cas profile ticket attribute name
echyam Jul 7, 2020
ecdeb7e
debugging dps_info error
echyam Jul 10, 2020
8f0d0c1
log if dps info and insert defaults activate successfully
echyam Jul 13, 2020
3394147
update icon to work in jlab v2
mayadebellis Jul 14, 2020
9b865bf
Merge branch 'develop' of github.com:MAAP-Project/maap-jupyter-ide in…
echyam Jul 14, 2020
5718c25
Dev docs (#64)
echyam Jul 14, 2020
9554014
fix missing refs in submit jobs handler, return basic joblist if DPS …
echyam Jul 22, 2020
ff9bee9
fix dps panel for jlab2
echyam Jul 22, 2020
2967ab4
fix DPS UI widget for jlab2 wip
echyam Jul 28, 2020
8a5053a
add installation list and dependencies to README
echyam Jul 29, 2020
446b5c9
readme type, put maap-py library installation note before serverexten…
echyam Jul 30, 2020
54294bd
fix clickable job lists and add job metrics to side panel
echyam Aug 1, 2020
ce6f2b4
dynamically get username from profile in dps info
echyam Aug 3, 2020
6ca17ab
revert dps_info readme
echyam Aug 3, 2020
dc17476
Merge branch 'master' into develop
echyam Aug 3, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 53 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,50 @@
This repo includes JupyterLab extensions that have been built for the MAAP project (https://che-k8s.maap.xyz/)

In order to use each of these extensions they must be installed and enabled in your environment. Instructions for each extension can be
found in the respective folder.
found in the respective folder. Make sure each extension's dependencies are installed first.

These extensions have been developed for `Jupyter 4.4.0` and `Jupyter Lab 1.0.2`.
These extensions have been developed for `Jupyter 4.4.0` and `Jupyter Lab 2.1.4`.

#### Getting Started on Your Extension
## Environment Setup for MAAP Extensions
All the MAAP Jupyter extensions share some common dependencies.

### Environment Setup and Dependencies
``` bash
conda install conda=4.7.12 jupyterlab=2.1.4 nodejs=10.13.0 gitpython=3.0.2
jupyter labextension install [email protected] --no-build
npm i [email protected]
pip install plotly==4.0.0
jupyter labextension install @jupyterlab/[email protected]
jupyter labextension install @jupyter-widgets/[email protected]
```

## Extension Installation Order
There is no strict order to install the extensions in, but since some extensions depend on others, those dependencies should be installed first. For each of the following extensions (in recommended order), the sub-bullet points will indicate if it requires installing another extension listed above it first.

**Note:** Extensions marked as _Che-only_ don't make sense to install locally, since they only work in the context of the Che UI and/or containerized contexts, and require use of the Che API.

* `hide_side_panel` _(Che-only)_
* `ipycmc`
* `pull_projects` _(Che-only)_
* `show_ssh_info`
* ssh features _(Che-only)_
* s3 features work locally
* requires `s3fs-fuse` util and AWS keys/role, `boto3` Python library installed (see extension README)
* `edsc_extension`
* requires `maap-py` library (see extension README)
* `maapsec`
* `submit_jobs`
* requires `maapsec`
* `dps_magic`
* requires `maapsec`, `submit_jobs`, `show_ssh_info`
* `dps_info`
* requires `maapsec`, `submit_jobs`
* `insert_defaults_to_notebook`
* requires `maap-py` library (see extension README)
* `user_meta_form`

## Development
### Getting Started on Your Extension
To build additional extensions for the project, it is recommended to start from
a [cookie-cutter](https://github.com/jupyterlab/extension-cookiecutter-ts) or off a previously built extension.

Expand All @@ -27,7 +66,8 @@ Some Jupyter Extensions/Resources we have found helpful:
In JupyterLab's update to the stable 1.0 version, they have also updated and added lots of documentation on extension
development. I recommend taking a look at [this](https://jupyterlab.readthedocs.io/en/stable/developer/extension_dev.html).

#### Deploying Extensions as Part of Eclipse Che
## Deploying Extensions as Part of Eclipse Che
### Dockerizing
Our development process involves building and running an extension locally in jupyterlab using a conda env before
installing it on the che server. To enable an extension in Che, it must be included in the base docker image/stack that a
Che workspace is launched with. The dockerfile that extensions are included in is the `Dockerfile` and the highest level
Expand Down Expand Up @@ -64,7 +104,15 @@ fetch the new image. (found in the stack's `Recipe` or `Raw Configuration`)
- Any change pushed to `microk8s.docker push localhost:32000/che-jupyter-lab-ide ` will affect the default stacks
on all user accounts. If you are testing something, you can create your own image and your own stack to play around with.

##### Che Stack Raw Configuration

### Che Stacks
To make your custom docker image available to users in Che, you need to make a new stack that creates workspaces using your image and make it available to users.
Below is an example stack configuration using our locally built dockerized juptyer image with MAAP extensions installed.

Make sure to replace the image name in `workspaceConfig.environments.default.recipe.image` with the location of your image.
In order for SSH-ing into the workspace to be possible, the `org.eclipse.che.exec` and `org.eclipse.che.ssh` installers must be enabled under `workspaceConfig.environments.default.machines.ws/jupyter.installers`.

#### Che Stack Raw Configuration
```
{
"scope": "general",
Expand Down
59 changes: 31 additions & 28 deletions dps_info/package.json
Original file line number Diff line number Diff line change
@@ -1,47 +1,50 @@
{
"private": true,
"name": "dps_info",
"version": "0.0.1",
"description": "more user-friendly UI for interacting with HySDS/DPS/MAS",
"version": "0.1.0",
"description": "GUI for interacting with DPS",
"keywords": [
"jupyter",
"jupyterlab",
"jupyterlab-extension"
],
"homepage": "https://github.com/MAAP-Project/maap-jupyter-ide/tree/master/dps_info",
"bugs": {
"url": "https://github.com/MAAP-Project/maap-jupyter-ide/tree/master/dps_info/issues"
},
"license": "BSD-3-Clause",
"author": "Elizabeth Yam",
"files": [
"lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
"style/**/*.{css,eot,gif,html,jpg,json,png,svg,woff2,ttf}"
],
"main": "lib/index.js",
"types": "lib/index.d.ts",
"keywords": [
"jupyter",
"jupyterlab",
"jupyterlab-extension"
],
"jupyterlab": {
"extension": true
"style": "style/index.css",
"repository": {
"type": "git",
"url": "https://github.com/MAAP-Project/maap-jupyter-ide/tree/master/dps_info.git"
},
"scripts": {
"build": "tsc",
"clean": "rimraf lib",
"prepare": "npm run clean && npm run build",
"clean": "rimraf lib tsconfig.tsbuildinfo",
"prepare": "jlpm run clean && jlpm run build",
"watch": "tsc -w"
},
"dependencies": {
"@jupyterlab/application": "^1.0.1",
"@jupyterlab/apputils": "^1.0.1",
"@jupyterlab/coreutils": "^3.0.0",
"@jupyterlab/filebrowser": "^1.1.3",
"@jupyterlab/launcher": "^1.0.1",
"@jupyterlab/mainmenu": "^1.0.1",
"@phosphor/widgets": "^1.8.1",
"@types/jquery": "^3.3.29",
"@types/node": "^11.11.5",
"jquery": "^3.3.1",
"jupyterlab_toastify": "^2.3.0",
"require": "^2.4.20",
"tsc": "^1.20150623.0",
"xml-formatter": "^1.1.0"
"@jupyterlab/application": "^2.0.0",
"@jupyterlab/mainmenu": "^2.2.0",
"@jupyterlab/statedb": "^2.2.0",
"@types/node": "^14.0.24",
"jupyterlab_toastify": "^3.0.0"
},
"devDependencies": {
"rimraf": "^2.6.3",
"typescript": "^3.5.3"
"rimraf": "^2.6.1",
"typescript": "~3.7.0"
},
"sideEffects": [
"style/*.css"
],
"jupyterlab": {
"extension": true
}
}
123 changes: 0 additions & 123 deletions dps_info/src/activate.ts

This file was deleted.

Loading