Changes for page Using JupyterHub in HDC

Last modified by Dennis Segebarth on 2024/10/02 18:14

From version 8.1
edited by Dennis Segebarth
on 2024/08/16 08:54
Change comment: Deleted image "Project Workspace Jupyter view new Kernel 2023-07-11.png"
To version 1.1
edited by Susan Evans
on 2023/07/11 13:35
Change comment: (Autosaved)

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.dsegebarth
1 +XWiki.sgevans
Content
... ... @@ -1,13 +6,5 @@
1 -{{box cssClass="floatinginfobox" title="Table of Contents"}}
2 -{{toc depth="2"/}}
3 -{{/box}}
4 -
5 -
6 6  JupyterHub is an open-source, multi-user version of Jupyter Notebook for performing analysis of Project files in the Core. More information can be found in the application documentation [[https:~~/~~/jupyter.org/>>https://jupyter.org/]].
7 7  
8 -[[image:1723798240534-407.png||height="189" width="291"]]
9 -
10 -
11 11  = How it Works =
12 12  
13 13  JupyterHub allows Project members to create or import Jupyter Notebooks into the Project Workspace environment, retrieve Project files from the Core, perform computational workflows on the data, and write the outputs back to the Core where they can be accessed by other Project members. JupyterHub spins up a new JupyterLab instance for each Project member.
... ... @@ -27,7 +27,7 @@
27 27  
28 28  = Launching JupyterHub =
29 29  
30 -[[image:1723798257792-201.png||height="121" width="349"]]
22 +[[image:HDC Project Workspace tool navigation Jupyterhub v1.0.0 2023-05-25.png||height="10%" width="30%"]]
31 31  
32 32  1. Launch your Project and click the **JupyterHub icon** in the left menu bar.
33 33  1. Click **Sign in with Keycloak** to initiate your session. JupyterHub automatically authenticates with your existing username and password and launches your session - no additional sign-in is required.
... ... @@ -42,7 +42,7 @@
42 42  1. In the Launcher, click the **Python 3 Notebook **icon, or click **File > New > Notebook**.
43 43  1. Create your Notebook.
44 44  
45 -[[image:1723798278604-114.png||height="376" width="865"]]
37 +[[image:Project Workspace Jupyter Create Python Notebook v2.1.6 2023-02-07.png||height="22%" width="50%"]]
46 46  
47 47  = Launching the Terminal =
48 48  
... ... @@ -51,7 +51,7 @@
51 51  1. In the Launcher, click the **Terminal **icon, or click **File > New > Terminal**.
52 52  1. The terminal window opens.
53 53  
54 -[[image:1723798293872-992.png||height="162" width="863"]]
46 +[[image:Project Workspace Jupyter Launch Terminal v2.1.6 2023-02-07.png||height="9%" width="50%"]]
55 55  
56 56  Ubuntu is used to host Jupyter Notebook. Use the command cat /etc/os-release to determine to current version of Ubuntu:
57 57  
... ... @@ -188,232 +188,8 @@
188 188  
189 189  Afterwards, the environment will be listed when you open the Launcher to open a new Jupyter Notebook:
190 190  
191 -[[image:1723798325144-485.png||height="436" width="867"]]
192 192  
193 193  
194 -and also from each opened Notebook, e.g., via **Kernel > Change Kernel…** :
195 195  
196 -[[image:1723798338447-469.png||height="317" width="247"]]
197 197  
198 -= Installing New Python Packages =
199 -
200 -We highly recommend the use of virtual environments when installing new packages (see //Creating a Python Virtual Environment and Registering a Kernel// above for more details). Consequently, we recommend installing new packages via commands in the JupyterHub terminal in the corresponding virtual environments, instead of installing packages from within Jupyter Notebooks.
201 -
202 -Depending on the IT policies, outbound traffic may need to go through a proxy. If so, users will be required to provide the proxy command line argument such as pip, curl, wget, etc.
203 -
204 -For example:
205 -
206 -{{code language="none"}}
207 -pip install my_package
208 -{{/code}}
209 -
210 -If you are using conda to manage python packages:
211 -
212 -{{code language="none"}}
213 -conda install my_package
214 -{{/code}}
215 -
216 -The above information is provided as examples only. Please refer to documentation provided by your IT department with respect to proxy configuration.
217 -
218 -= Using the Pilot Command Line Interface in a JupyterHub Terminal =
219 -
220 -The Pilot Command Line Interface (CLI) is deployed within JupyterHub as extension resource. Project members can use the Pilot Command Line Interface in a JupyterHub terminal to download Project data from the Core for further analysis, and upload the derivative outputs back to the Green Room or Core.
221 -
222 -The Home Directory is your default directory. When you download a copy of your Core files to JupyterHub, the files persists in the JupyterHub environment until deleted by you, so you can return to the session and continue your work at a later time without the need to retrieve the data from the Core again.
223 -
224 -The following sections focus on getting started with basic pilotcli commands in JupyterHub. For additional pilotcli commands and usage, see the article //Working with HDC Project Files in the Command Line Interface//.
225 -
226 -== Launching Pilot Command Line Interface ==
227 -
228 -1. Launch your Project and click the **JupyterHub** icon in in the workspace icon group.
229 -1. Click the **Terminal **launcher icon to open the Terminal.
230 -1. In the Jupyterhub Terminal, type {{code}}pilotcli{{/code}} to launch the latest version of the Pilot Command Line Interface.
231 -1. Use the {{code}}pilotcli --help{{/code}} at any time to show the welcome message again.
232 -
233 -{{code language="none"}}
234 -collaborator4@jupyter-collaborator4:~$ pilotcli
235 -Usage: pilotcli [OPTIONS] COMMAND [ARGS]...
236 -
237 - What's new (Version 2.2.0):
238 -
239 - 1. CLI supports to perform multi-threading upload for file/folders
240 -
241 - 2. CLI supports to perform resumable upload for single file
242 -
243 -
244 -
245 -Options:
246 - --help Show this message and exit.
247 -
248 -Commands:
249 - container_registry Container Registry Actions.
250 - dataset Dataset Actions.
251 - file File Actions.
252 - project Project Actions.
253 - use_config Config Actions.
254 - user User Actions.
255 -{{/code}}
256 -
257 -== Logging into the Pilot Command Line Interface ==
258 -
259 -Users are required to login with platform credentials before performing any tasks through Pilot Command Line Interface.
260 -
261 -* Use the command {{code}}pilotcli user login{{/code}} to log into the Pilot Command Line Interface.
262 -
263 -{{code language="none"}}
264 -collaborator4@jupyter-collaborator4:~$ pilotcli user login
265 -Please, access https://iam.staging.pilot.indocresearch.com/realms/pilot/device?user_code=XXXX-XXXX to proceed
266 - ▄▄▄▄▄▄▄ ▄ ▄▄ ▄ ▄▄▄▄ ▄ ▄▄▄▄▄▄▄
267 - █ ▄▄▄ █ ▄ ▄███ ▀▀ █▀ ▀██▄ █ ▄▄▄ █
268 - █ ▄ ▀ ▄ ▀▄ ▀▀ ▄█▀▄▀ ▀▀▄█▄▄▀ █████▄▄▀▄
269 - ▄▄▄▄▄▄▄ ▀ ▀█▄ ▀▄ ██▀█ ▄▀▄▄ █ ▄ █▀▄▄▄
270 - █ ▄▄▄ █ █▀█▄▀ █▀ █▀▀█ ▀▄█▄█▄▄▄█▀▄█
271 - █ ███ █ █▀██▀▄ █▀▄▄▀▀█▄▀▀█▄▀█ ▀ ▀▄▀██
272 - █▄▄▄▄▄█ ▄▀▄▄██▄▄▀▄ ▀▀▄ ▄▄▀▀▀▄ █▄▄▄█
273 273  
274 - Waiting validation finish...
275 -{{/code}}
276 -
277 -* (((
278 -You’ll be asked to validate your HDC user account using one of the provided methods.
279 -
280 -* Copy and paste the provided validation link into a new browser tab or
281 -* Scan the QR code with your mobile device.
282 -)))
283 -* Open the login window and enter your HDC username and password (i.e. your EBRAINS account credentials).
284 -* Grant access by clicking **Yes**.
285 -
286 -[[image:1723798355215-434.png||height="352" width="379"]]
287 -
288 -[[image:1723798365454-527.png||height="123" width="376"]]
289 -
290 -* After successful confirmation, return to the terminal in your JupyterHub browser tab.
291 -
292 -{{code language="none"}}
293 -Welcome to the Command Line Tool!
294 -{{/code}}
295 -
296 -* You’re now ready to start using the Pilot Command Line Interface to work with your Project data in JupyterHub.
297 -
298 -== Zone Restrictions when using Pilot Command Line Interface in JupyterHub ==
299 -
300 -When using the Pilot Command Line Interface in JupyterHub and the following actions are possible on the derivative files generated in JupyterHub:
301 -
302 -|=(% colspan="1" rowspan="1" %)(((
303 -**File Operation**
304 -)))|=(% colspan="1" rowspan="1" %)(((
305 -**Permitted in the **
306 -**Green Room**
307 -)))|=(% colspan="1" rowspan="1" %)(((
308 -**Permitted in the **
309 -**Core**
310 -)))
311 -|(% colspan="1" rowspan="1" %)File upload 
312 -(upload derivative output files from JupyterHub to the Green Room or Core storage)|(% colspan="1" rowspan="1" %)(((
313 -Yes
314 -)))|(% colspan="1" rowspan="1" %)(((
315 -Yes
316 -)))
317 -|(% colspan="1" rowspan="1" %)File download
318 -(download files from Green Room or Core into JupyterHub)|(% colspan="1" rowspan="1" %)(((
319 -**No**
320 -)))|(% colspan="1" rowspan="1" %)(((
321 -Yes
322 -)))
323 -
324 -== Downloading Project Data to JupyterHub using the Pilot Command Line Interface ==
325 -
326 -After logging into the Pilot Command Line Interface, you can download data from the Project Core into the JupyterHub environment to start your data analyses.
327 -
328 -File related commands are grouped in the {{code}}file{{/code}} category. To view the full list of commands in this category, type {{code}}pilotcli file --help{{/code}}. To download project data, use the file sync command. To view the full list of commands in this category, type {{code}}pilotcli file sync --help{{/code}}.
329 -
330 -
331 -{{code language="none"}}
332 -collaborator4@jupyter-collaborator4:~$ pilotcli file sync --help
333 -Usage: pilotcli file sync [OPTIONS] [PATHS]... OUTPUT_PATH
334 -
335 - Download files/folders from a given Project/folder/file in core zone.
336 -
337 -Options:
338 - -z, --zone TEXT Target Zone (i.e., core/greenroom)
339 - --zip Download files as a zip.
340 - -i, --geid Enable downloading by geid.
341 - --help Show this message and exit.
342 -{{/code}}
343 -
344 -=== Example ===
345 -
346 -Downloading a file from the Core to your Home Directory:
347 -
348 -Reminder: Please follow Linux conventions for file management. If your filename contains spaces, wrap it in single or double quotes.
349 -
350 -* //Filename~:// “Chemical Tracking Data.csv”
351 -* //Source~:// Project “Indoc Test Project”, “Core” storage zone, folder “collaborator4” {{code}}indoctestproject/collaborator4/Chemical Tracking Data.csv -z core{{/code}}
352 -* //Destination: //user's Home directory in the Guacamole or JupyterHub VM {{code}}.{{/code}}
353 -* //Command group/option: //{{code}}file sync{{/code}}
354 -
355 -{{code language="none"}}
356 -collaborator4@jupyter-collaborator4:~$ pilotcli file sync indoctestproject/collaborator4/'Chemical Tracking Data.csv' . -z core
357 -start downloading...
358 -Downloading Chemical Tracking Data.csv |██████████████████████████████ 100% 00:00
359 -File has been downloaded successfully and saved to: ./Chemical Tracking Data.csv
360 -{{/code}}
361 -
362 -To confirm successful download, type {{code}}ls{{/code}} and verify the file "Chemical Tracking Data.csv" is stored in the Home folder.
363 -
364 -{{code language="none"}}
365 -collaborator4@jupyter-collaborator4:~$ ls
366 -'Chemical Tracking Data.csv' pilotcli
367 -{{/code}}
368 -
369 -The file “Chemical Tracking Data.csv” can be viewed in the JupyterHub graphical user interface:
370 -
371 -[[image:1723798383409-873.png||height="267" width="874"]]
372 -
373 -
374 -== Uploading Project Data from JupyterHub using the Pilot Command Line Interface ==
375 -
376 -After analyzing Project data inside the JupyterHub, you can upload the generated outputs back into the Project via the Pilot Command Line Interface.
377 -
378 -=== Example ===
379 -
380 -* //Filename//: Chemical Tracking Data rev.csv
381 -* //Source~:// user's Home directory in JupyterHub {{code}}.{{/code}}
382 -* //Destination//: Project “Indoc Test Project”, folder “collaborator4”, “Core” storage zone,
383 -{{code}}indoctestproject/collaborator4{{/code}} {{code}}-z core{{/code}}
384 -* //Command group/option~:// {{code}}file upload{{/code}}
385 -* //User message// (for upload back to the Core): “my workbench output, no additional sensitive data"
386 -* //Command~:// {{code}}pilotcli file upload ./'Chemical Tracking Data rev.csv' -p{{/code}} {{code}}indoctestproject/collaborator4 -z core -m "my workbench output, no additional sensitive data"{{/code}}
387 -
388 -When uploading data to the Core, you are reminded that you are bypassing the usual Green Room upload workflow. To confirm, type {{code}}y{{/code}} at the prompt, or {{code}}N{{/code}} to cancel.
389 -
390 -{{code language="none"}}
391 -collaborator4@jupyter-collaborator4:~$ pilotcli file upload ./'Chemical Tracking Data rev.csv' -p indoctestproject/collaborator4 -z core -m "my workbench output, no additional sensitive data"
392 -You are about to transfer data directly to the PILOT Core! In accordance with the PILOT Terms of Use, please confirm that you have made your best efforts to
393 -pseudonymize or anonymize the data and that you have the legal authority to transfer and make this data available for dissemination and use within the PILOT .If you
394 -need to process the data to remove sensitive identifiers, please cancel this transfer and upload the data to the Green Room to perform these actions.
395 -To cancel this transfer, enter [n/No]
396 -To confirm and proceed with the data transfer, enter [y/Yes]
397 - [y/N]: y
398 -Starting upload of: ./Chemical Tracking Data rev.csv
399 -Pre-upload complete.
400 -Uploading Chemical Tracking Data rev.csv: |██████████████████████████████ 100% 00:00
401 -Upload Time: 2.92s for 1 files
402 -All uploading jobs have finished.
403 -{{/code}}
404 -
405 -After completing the upload, you can confirm the new file “Chemical Tracking Data rev.csv" exists in the correct directory using the pilotcli file list command and/or in the Portal File Explorer.
406 -
407 -{{code language="none"}}
408 -collaborator4@jupyter-collaborator4:~$ pilotcli file list indoctestproject/collaborator4 -z core
409 -Chemical Tracking Data rev.csv Chemical Tracking Data.csv
410 -{{/code}}
411 -
412 -[[image:1723798397694-530.png||height="217" width="863"]]
413 -
414 -----
415 -
416 -Copyright © 2023-2024 [[Indoc Systems>>url:https://www.indocsystems.com]].
417 -
418 -HealthDataCloud is powered by Pilot technology, a product of [[Indoc Systems>>url:https://www.indocsystems.com]].
419 -
1723798240534-407.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dsegebarth
Size
... ... @@ -1,1 +1,0 @@
1 -18.0 KB
Content
1723798257792-201.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dsegebarth
Size
... ... @@ -1,1 +1,0 @@
1 -42.2 KB
Content
1723798278604-114.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dsegebarth
Size
... ... @@ -1,1 +1,0 @@
1 -216.4 KB
Content
1723798293872-992.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dsegebarth
Size
... ... @@ -1,1 +1,0 @@
1 -113.5 KB
Content
1723798325144-485.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dsegebarth
Size
... ... @@ -1,1 +1,0 @@
1 -423.2 KB
Content
1723798338447-469.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dsegebarth
Size
... ... @@ -1,1 +1,0 @@
1 -27.1 KB
Content
1723798355215-434.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dsegebarth
Size
... ... @@ -1,1 +1,0 @@
1 -14.1 KB
Content
1723798365454-527.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dsegebarth
Size
... ... @@ -1,1 +1,0 @@
1 -10.0 KB
Content
1723798383409-873.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dsegebarth
Size
... ... @@ -1,1 +1,0 @@
1 -30.1 KB
Content
1723798397694-530.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dsegebarth
Size
... ... @@ -1,1 +1,0 @@
1 -166.8 KB
Content
Jupyter downloaded file in Home folder v2.4.11 2023-05-25 1850.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.sgevans
Size
... ... @@ -1,1 +1,0 @@
1 -35.0 KB
Content
Jupyterhub file upload back to core v2.4.11 2023-05-25 1926.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.sgevans
Size
... ... @@ -1,1 +1,0 @@
1 -507.5 KB
Content
Jupyterhub-Logo-300x100px cropped.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.sgevans
Size
... ... @@ -1,1 +1,0 @@
1 -27.7 KB
Content
Pilotcli Jupyter user login Device Login Successful v2.4.0 2023-05-25.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.sgevans
Size
... ... @@ -1,1 +1,0 @@
1 -10.3 KB
Content
Pilotcli Jupyter user login Grant Access window v2.4.0 2023-05-25.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.sgevans
Size
... ... @@ -1,1 +1,0 @@
1 -13.9 KB
Content
Project Workspace Jupyter Kernel change Kernel dropdown 2023-07-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.sgevans
Size
... ... @@ -1,1 +1,0 @@
1 -38.9 KB
Content