Skip to content

{tools}[GCCcore/12.3.0] PycURL v7.45.2, PyZMQ v25.1.1, jupyter-server v2.7.2, ...#18617

Merged
verdurin merged 12 commits intoeasybuilders:developfrom
sara-nl:20230822144632_new_pr_PycURL7452
Aug 30, 2023
Merged

{tools}[GCCcore/12.3.0] PycURL v7.45.2, PyZMQ v25.1.1, jupyter-server v2.7.2, ...#18617
verdurin merged 12 commits intoeasybuilders:developfrom
sara-nl:20230822144632_new_pr_PycURL7452

Conversation

@casparvl
Copy link
Copy Markdown
Contributor

@casparvl casparvl commented Aug 22, 2023

(created using eb --new-pr)

Depends on:

This PR provides the Jupyter stack. I have rearranged a little compared to what we had for GCCcore-12.2.0 to reflect what makes sense in the curren ecosystem. For more info, see e.g. https://jupyter-notebook.readthedocs.io/en/latest/migrate_to_notebook7.html

In my view, there are three possible interfaces that people might want:

  • JupyterLab: for people who want a modern, IDE-like interface.
  • Notebook 7: for people who want a simpel interface, similar to the 'classic' notebook interface. But: modernized and now runs on top of JupyterLab. It does break compatibility with many old extensions (see this warning).
  • nbclassic: the old 'notebook' interface, but running on top of jupyter-server. It is there for backwards compatibility (see https://github.com/jupyter/nbclassic)

According to https://jupyter-notebook.readthedocs.io/en/latest/migrating/multiple-interfaces.html it makes perfect sense to have any combination of nbclassic, notebook 7 and jupyterlab (well, you can't have notebook 7 without jupyterlab). Depending on what is installed, jupyter-server will serve these at different endpoints:

  • if you only have notebook 7, it will be served at /tree
  • if you only have nbclassic, it will be served at /tree
  • if you have both nbclassic and notebook 7, they will be served at /nbclassic/tree and /tree respectively
  • Jupyterlab will always be served at /lab

Seeing as how having JupyterLab, JupyterLab + notebook 7, nbclassic, and JupyterLab + notebook 7 + nbclassic are all sensible installations one might be willing to offer, I figured it made sense to make separate EasyConfigs for each.

I'll probably follow-up with a PR that bundles a ton of Jupyter stuff together, including some common extensions (e.g. jupyterlmod, jupyter-resource-usage). This bundle can then be used whenever you want to install all functionality. EDIT: I did, that follow-up PR is here

…core-12.3.0.eb, jupyter-server-2.7.2-GCCcore-12.3.0.eb, JupyterHub-4.0.2-GCCcore-12.3.0.eb, JupyterLab-4.0.5-GCCcore-12.3.0.eb, notebook-7.0.2-GCCcore-12.3.0.eb, nbclassic-1.0.0-GCCcore-12.3.0.eb, jupyter-server-proxy-4.0.0-GCCcore-12.3.0.eb
@casparvl
Copy link
Copy Markdown
Contributor Author

Test report by @casparvl
SUCCESS
Build succeeded for 9 out of 9 (9 easyconfigs in total)
tcn1.local.snellius.surf.nl - Linux RHEL 8.6, x86_64, AMD EPYC 7H12 64-Core Processor, Python 3.6.8
See https://gist.github.com/casparvl/4d14a27757392bdbf380ffa9e4557404 for a full test report.

@casparvl
Copy link
Copy Markdown
Contributor Author

@boegelbot please test @ generoso

@boegelbot
Copy link
Copy Markdown
Collaborator

@casparvl: Request for testing this PR well received on login1

PR test command 'EB_PR=18617 EB_ARGS= EB_CONTAINER= /opt/software/slurm/bin/sbatch --job-name test_PR_18617 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 11529

Test results coming soon (I hope)...

Details

- notification for comment with ID 1688441957 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@casparvl
Copy link
Copy Markdown
Contributor Author

@boegelbot please test @ generoso

@boegelbot
Copy link
Copy Markdown
Collaborator

@casparvl: Request for testing this PR well received on login1

PR test command 'EB_PR=18617 EB_ARGS= EB_CONTAINER= /opt/software/slurm/bin/sbatch --job-name test_PR_18617 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 11535

Test results coming soon (I hope)...

Details

- notification for comment with ID 1690236154 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@casparvl
Copy link
Copy Markdown
Contributor Author

@boegelbot please test @ jsc-zen2

@boegelbot
Copy link
Copy Markdown
Collaborator

@casparvl: Request for testing this PR well received on jsczen2l1.int.jsc-zen2.easybuild-test.cluster

PR test command 'EB_PR=18617 EB_ARGS= /opt/software/slurm/bin/sbatch --mem-per-cpu=4000M --job-name test_PR_18617 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen2.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 3228

Test results coming soon (I hope)...

Details

- notification for comment with ID 1690251788 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

Caspar van Leeuwen added 2 commits August 23, 2023 19:37
… JupyterHub, but so are JupyterLab, notebook, etc. I'll make a Jupyter-bundle that bundles all these together for convenience in a follow-up PR. It does mean I need to add tornado here as a dependency, previously that was provided through jupyter-server-proxy.
@casparvl
Copy link
Copy Markdown
Contributor Author

@boegelbot please test @ generoso

@boegelbot
Copy link
Copy Markdown
Collaborator

@casparvl: Request for testing this PR well received on login1

PR test command 'EB_PR=18617 EB_ARGS= EB_CONTAINER= /opt/software/slurm/bin/sbatch --job-name test_PR_18617 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 11537

Test results coming soon (I hope)...

Details

- notification for comment with ID 1690376546 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@casparvl
Copy link
Copy Markdown
Contributor Author

Test report by @casparvl
FAILED
Build succeeded for 8 out of 9 (9 easyconfigs in total)
tcn1.local.snellius.surf.nl - Linux RHEL 8.6, x86_64, AMD EPYC 7H12 64-Core Processor, Python 3.6.8
See https://gist.github.com/casparvl/7fb4d9209233a326d2860e5b88fb1f4e for a full test report.

@casparvl
Copy link
Copy Markdown
Contributor Author

Checksum failure, I'll update it...

@casparvl
Copy link
Copy Markdown
Contributor Author

Ah, it's because I use the git_config, the checksum is not reproducible...

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
FAILED
Build succeeded for 8 out of 9 (9 easyconfigs in total)
cns1 - Linux Rocky Linux 8.5, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/boegelbot/53df003612540f14fbc52b3f67736649 for a full test report.

@casparvl
Copy link
Copy Markdown
Contributor Author

@boegelbot please test @ generoso

@boegelbot
Copy link
Copy Markdown
Collaborator

@casparvl: Request for testing this PR well received on login1

PR test command 'EB_PR=18617 EB_ARGS= EB_CONTAINER= /opt/software/slurm/bin/sbatch --job-name test_PR_18617 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 11538

Test results coming soon (I hope)...

Details

- notification for comment with ID 1690427375 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@casparvl
Copy link
Copy Markdown
Contributor Author

Test report by @casparvl
SUCCESS
Build succeeded for 9 out of 9 (9 easyconfigs in total)
tcn1.local.snellius.surf.nl - Linux RHEL 8.6, x86_64, AMD EPYC 7H12 64-Core Processor, Python 3.6.8
See https://gist.github.com/casparvl/7aa471e53e2d99ab7194d76cca1a4873 for a full test report.

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 9 out of 9 (9 easyconfigs in total)
cns1 - Linux Rocky Linux 8.5, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/boegelbot/ef4ddaa1e414c86d53436fc418a7ba6a for a full test report.

@casparvl
Copy link
Copy Markdown
Contributor Author

@boegelbot please test @ jsc-zen2

@boegelbot
Copy link
Copy Markdown
Collaborator

@casparvl: Request for testing this PR well received on jsczen2l1.int.jsc-zen2.easybuild-test.cluster

PR test command 'EB_PR=18617 EB_ARGS= /opt/software/slurm/bin/sbatch --mem-per-cpu=4000M --job-name test_PR_18617 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen2.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 3237

Test results coming soon (I hope)...

Details

- notification for comment with ID 1691496200 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 9 out of 9 (9 easyconfigs in total)
jsczen2c1.int.jsc-zen2.easybuild-test.cluster - Linux Rocky Linux 8.5, x86_64, AMD EPYC 7742 64-Core Processor (zen2), Python 3.6.8
See https://gist.github.com/boegelbot/c50199acad0d1048ff06ad258e85bff3 for a full test report.

@casparvl casparvl added the 2023a label Aug 25, 2023
@verdurin
Copy link
Copy Markdown
Member

Test report by @verdurin
SUCCESS
Build succeeded for 34 out of 34 (9 easyconfigs in total)
easybuild-c7.novalocal - Linux CentOS Linux 7.9.2009, x86_64, Intel Xeon Processor (Skylake, IBRS), Python 3.6.8
See https://gist.github.com/verdurin/264ca00f8ae3c96fc59af218021c2f66 for a full test report.

@verdurin verdurin added this to the next release (4.8.1?) milestone Aug 30, 2023
Copy link
Copy Markdown
Member

@verdurin verdurin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine.

@verdurin
Copy link
Copy Markdown
Member

Going in, thanks @casparvl!

@verdurin verdurin merged commit 82bc474 into easybuilders:develop Aug 30, 2023
@@ -0,0 +1,41 @@
easyblock = 'PythonPackage'

name = 'notebook'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: this was renamed to JupyterNotebook in #18735

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants