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

Commit

Permalink
finish jlab2.1.4 upgrade (#65)
Browse files Browse the repository at this point in the history
* update dev w changes to master (#62)
* fix proxy-ticket error
* npm build error fix
* Fix EDSC URL Issue (#56)
* cherry pick env changes
* fix last cherry pick commit
* Update README.md
* move show_ssh_info bucket_name setting to handlers.py
* remove bucket_name const from funcs.ts
* Update README.md

* 2.3 release (#59)
* source bashrc in entrypoint
* submit jobs request propagate returned  error messages
* get request response json
* catch nonzero exit subprocess on git status if not register code not in repo
* typo
* catch subprocess nonzero exit in defaultvalues handler
* report no git repo error to user
* don't convert inputs to lower case
* register algo config req params check for none
* register commit check for r and matlab file exts
* update architecture docs for submit jobs, add for dps info
* copy bashrc to bash_profile in entrypoint
* add toastify error for default vals in register
* testing register result
* more register toastify errors
Co-authored-by: echyam <[email protected]>

* Create workflow yml for github actions (#61)
* Create workflow yml for github actions

* Update typo in secrets
* Trigger gitlab ci pipeline
* Add stable tag in push trigger
* Update GITHUB_REF var name
Co-authored-by: bsatoriu <[email protected]>
Co-authored-by: Sujen Shah <[email protected]>
Co-authored-by: echyam <[email protected]>
Co-authored-by: Sujen Shah <[email protected]>
Co-authored-by: Elizabeth Yam <[email protected]>
* remove all package-lock files
* remove all tsc dependencies and change to typescript
* master -> dev merge reversed change to remove handler
* fix imports
* fix job display, rm extraneous console logging
* Upgrade jlab2 (#63)
* dps_info to jlab2
* edsc to jlab2
* hide side panel to jlab2
* insert defaults to notebook to jlab2
* insert defaults tsconfig syntax
* maapsec to jlab2
* pull projects to jlab2
* show ssh info to jlab2
* submit jobs to jlab2
* user meta form to jlab2
* dps magic to jlab2
* ipycmc to jlab2
* revert toastify version
* try toastify v3
* log if dps info and insert defaults activate successfully
* update icon to work in jlab v2

* Dev docs (#64)
* update dev docs for each extension
* submit_jobs minor cleanup and update CAS profile ticket attribute name
* update labextension install and Che stack config
* fix missing refs in submit jobs handler, return basic joblist if DPS doesn't give job details
* fix dps panel for jlab2
* fix DPS UI widget for jlab2 wip
* add installation list and dependencies to README
* readme type, put maap-py library installation note before serverextension install commands
* fix clickable job lists and add job metrics to side panel
* dynamically get username from profile in dps info
* revert dps_info readme

Co-authored-by: Maya DeBellis <[email protected]>
Co-authored-by: bsatoriu <[email protected]>
Co-authored-by: Sujen Shah <[email protected]>
Co-authored-by: Sujen Shah <[email protected]>
  • Loading branch information
5 people authored Aug 3, 2020
1 parent a79e5aa commit 04e9602
Show file tree
Hide file tree
Showing 54 changed files with 1,905 additions and 8,469 deletions.
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

0 comments on commit 04e9602

Please sign in to comment.