easyblock = 'PythonBundle' name = 'jupyter-server' version = "2.14.2" homepage = 'https://jupyter.org/' description = """The Jupyter Server provides the backend (i.e. the core services, APIs, and REST endpoints) for Jupyter web applications like Jupyter notebook, JupyterLab, and Voila.""" toolchain = {'name': 'GCCcore', 'version': '13.3.0'} builddependencies = [ ('binutils', '2.42'), ('maturin', '1.6.0'), # needed by rpds_py ('hatch-jupyter-builder', '0.9.1'), ] dependencies = [ ('Python', '3.12.3'), ('IPython', '8.28.0'), ('PyYAML', '6.0.2'), ('PyZMQ', '26.2.0'), ('tornado', '6.4.1'), #('BeautifulSoup', '4.12.3'), # needed by nbconvert ] sanity_pip_check = True use_pip = True # WARNING: the versions of ipywidgets, widgetsnbextension and jupyterlab_widgets are tied between them # use the versions published in a single release commit instead of blindly pushing to last available version, # see for instance https://github.com/jupyter-widgets/ipywidgets/commit/b728926f58ed3ffef08f716998ac6c226dafc1aa exts_list = [ ('websocket_client', '1.8.0', { 'modulename': 'websocket', 'checksums': ['3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da'], }), ('terminado', '0.18.1', { 'checksums': ['de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e'], }), ('Send2Trash', '1.8.3', { 'checksums': ['b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf'], }), ('prometheus_client', '0.21.0', { 'checksums': ['96c83c606b71ff2b0a433c98889d275f51ffec6c5e267de37c7a2b5c9aa9233e'], }), ('overrides', '7.7.0', { 'checksums': ['55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a'], }), ('jupyter_core', '5.7.2', { 'patches': ['jupyter-core-%(version)s_fix_jupyter_path.patch'], 'checksums': [ {'jupyter_core-5.7.2.tar.gz': 'aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9'}, {'jupyter-core-5.7.2_fix_jupyter_path.patch': '1ed5088728c1ad49687b66e31ed23965c36645ad285693785b2b96c4ff1b2f93'}, ], }), ('fastjsonschema', '2.20.0', { 'checksums': ['3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23'], }), ('tinycss2', '1.3.0', { 'checksums': ['152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d'], }), ('pandocfilters', '1.5.1', { 'checksums': ['002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e'], }), ('mistune', '3.0.2', { 'checksums': ['fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8'], }), ('deprecation', '2.1.0', { 'checksums': ['72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff'], }), ('jupyter_packaging', '0.12.3', { 'checksums': ['9d9b2b63b97ffd67a8bc5391c32a421bc415b264a32c99e4d8d8dd31daae9cf4'], }), ('jupyterlab_pygments', '0.3.0', { 'checksums': ['721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d'], }), ('defusedxml', '0.7.1', { 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], }), ('bleach', '6.1.0', { 'checksums': ['0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe'], }), ('nbformat', '5.10.4', { 'checksums': ['322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a'], }), ('nbclient', '0.10.0', { 'checksums': ['4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09'], }), ('jupyter_client', '8.6.3', { 'checksums': ['35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419'], }), ('nbconvert', '7.16.4', { 'checksums': ['86ca91ba266b0a448dc96fa6c5b9d98affabde2867b363258703536807f9f7f4'], }), ('jupyter_server_terminals', '0.5.3', { 'checksums': ['5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269'], }), ('rfc3986_validator', '0.1.1', { 'checksums': ['3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055'], }), ('rfc3339_validator', '0.1.4', { 'checksums': ['138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b'], }), ('rpds_py', '0.20.0', { 'modulename': 'rpds', 'checksums': ['d72a210824facfdaf8768cf2d7ca25a042c30320b3020de2fa04640920d4e121'], }), ('referencing', '0.35.1', { 'checksums': ['25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c'], }), ('python-json-logger', '2.0.7', { 'modulename': 'pythonjsonlogger', 'checksums': ['23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c'], }), ('jsonschema_specifications', '2024.10.1', { 'checksums': ['0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272'], }), ('jsonschema', '4.23.0', { 'checksums': ['d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4'], }), ('jupyter_events', '0.10.0', { 'checksums': ['670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22'], }), ('argon2-cffi-bindings', '21.2.0', { 'modulename': '_argon2_cffi_bindings', 'checksums': ['bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3'], }), ('argon2_cffi', '23.1.0', { 'modulename': 'argon2', 'checksums': ['879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08'], }), ('sniffio', '1.3.1', { 'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc'], }), ('anyio', '4.6.0', { 'checksums': ['137b4559cbb034c477165047febb6ff83f390fc3b20bf181c1fc0a728cb8beeb'], }), ('jupyter_server', version, { 'checksums': ['66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b'], }), ('jupyterlab_widgets', '3.0.13', { 'checksums': ['a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed'], }), ('widgetsnbextension', '4.0.12', { #'checksums': ['64196c5ff3b9a9183a8e699a4227fb0b7002f252c814098e66c4d1cd0644688f'], }), ('comm', '0.2.2', { 'checksums': ['3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e'], }), ('ipywidgets', '8.1.5', { 'checksums': ['870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17'], }), # The following few extensions are needed for e.g. JupyterLab but also nbclassic. # Avoid duplication by making it part of this bundle ('notebook_shim', '0.2.4', { 'checksums': ['b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb'], }), ('nest_asyncio', '1.6.0', { 'checksums': ['6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe'], }), ('ipykernel', '6.29.5', { 'checksums': ['f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215'], }), ('ipython_genutils', '0.2.0', { 'checksums': ['eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8'], }), ('debugpy', '1.8.7', { 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', 'checksums': ['57b00de1c8d2c84a61b90880f7e5b6deaf4c312ecbde3a0e8912f2a56c4ac9ae'], }), ] sanity_check_paths = { 'files': ['bin/jupyter'], 'dirs': ['share/jupyter', 'etc/jupyter'], } sanity_check_commands = ['jupyter --help'] modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools'