Skip to content

Commit

Permalink
Merge pull request easybuilders#21685 from Micket/20241017130235_new_…
Browse files Browse the repository at this point in the history
…pr_hatch-jupyter-builder091

{tools}[GCCcore/13.3.0] hatch-jupyter-builder v0.9.1, PyZMQ v26.2.0, IPython v8.28.0, ...
  • Loading branch information
smoors authored Oct 18, 2024
2 parents 7040acb + 31fa5b4 commit 29f33c4
Show file tree
Hide file tree
Showing 6 changed files with 440 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
easyblock = 'PythonBundle'

name = 'hatch-jupyter-builder'
version = "0.9.1"

homepage = 'https://hatch-jupyter-builder.readthedocs.io'
description = """Hatch Jupyter Builder is a plugin for the hatchling Python build backend. It is
primarily targeted for package authors who are providing JavaScript as part of
their Python packages.
Typical use cases are Jupyter Lab Extensions and Jupyter Widgets."""


toolchain = {'name': 'GCCcore', 'version': '13.3.0'}

builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('Python', '3.12.3'),
('hatchling', '1.24.2'),
]

sanity_pip_check = True
use_pip = True

exts_list = [
('hatch_nodejs_version', '0.3.2', {
'checksums': ['8a7828d817b71e50bbbbb01c9bfc0b329657b7900c56846489b9c958de15b54c'],
}),
('hatch_jupyter_builder', version, {
'checksums': ['79278198d124c646b799c5e8dca8504aed9dcaaa88d071a09eb0b5c2009a58ad'],
}),
]

moduleclass = 'tools'
79 changes: 79 additions & 0 deletions easybuild/easyconfigs/i/IPython/IPython-8.28.0-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
easyblock = 'PythonBundle'

name = 'IPython'
version = '8.28.0'

homepage = 'https://ipython.org/index.html'
description = """IPython provides a rich architecture for interactive computing with:
Powerful interactive shells (terminal and Qt-based).
A browser-based notebook with support for code, text, mathematical expressions, inline plots and other rich media.
Support for interactive data visualization and use of GUI toolkits.
Flexible, embeddable interpreters to load into your own projects.
Easy to use, high performance tools for parallel computing."""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}

builddependencies = [
('binutils', '2.42'),
('hatchling', '1.24.2'),
]

dependencies = [
('Python', '3.12.3'),
('Python-bundle-PyPI', '2024.06'),
('ZeroMQ', '4.3.5'),
('lxml', '5.3.0'),
('jedi', '0.19.1')
]

sanity_pip_check = True
use_pip = True

# for the matplotlib-inline required extention we avoid the import sanity check
# as it will fail without matplotlib in the environment, but ipython devs prefer not to make
# matplotlib a required dep (https://github.com/ipython/matplotlib-inline/issues/4)
# we follow the same convention and we not set matplotlib as dependency

exts_list = [
('traitlets', '5.13.0', {
'checksums': ['9b232b9430c8f57288c1024b34a8f0251ddcc47268927367a0dd3eeaca40deb5'],
}),
('pure_eval', '0.2.2', {
'checksums': ['2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3'],
}),
('executing', '2.0.1', {
'checksums': ['35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147'],
}),
('asttokens', '2.4.1', {
'checksums': ['b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0'],
}),
('stack_data', '0.6.3', {
'checksums': ['836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9'],
}),
('prompt_toolkit', '3.0.41', {
'checksums': ['941367d97fc815548822aa26c2a269fdc4eb21e9ec05fc5d447cf09bad5d75f0'],
}),
('pickleshare', '0.7.5', {
'checksums': ['87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca'],
}),
('matplotlib-inline', '0.1.6', {
'modulename': False,
'checksums': ['f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304'],
}),
('backcall', '0.2.0', {
'checksums': ['5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e'],
}),
('ipython', version, {
'modulename': 'IPython',
'checksums': ['0d0d15ca1e01faeb868ef56bc7ee5a0de5bd66885735682e8a322ae289a13d1a'],
}),
]

sanity_check_paths = {
'files': ['bin/%(namelower)s'],
'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'],
}

sanity_check_commands = ['%(namelower)s -h']

moduleclass = 'tools'
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
easyblock = 'PythonBundle'

name = 'JupyterLab'
version = '4.2.5'

homepage = 'https://jupyter.org/'
description = """JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar
building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs,
etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter
Notebook."""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}

builddependencies = [
('binutils', '2.42'),
('hatch-jupyter-builder', '0.9.1'),
]
dependencies = [
('Python', '3.12.3'),
('IPython', '8.28.0'),
('jupyter-server', '2.14.2'),
]

use_pip = True
sanity_pip_check = True

exts_list = [
('json5', '0.9.25', {
'checksums': ['548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae'],
}),
('jupyterlab_server', '2.27.3', {
'checksums': ['eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4'],
}),
('jupyter-lsp', '2.2.5', {
'checksums': ['793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001'],
}),
('async-lru', '2.0.4', {
'checksums': ['b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627'],
}),
('h11', '0.14.0', {
'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'],
}),
('httpcore', '1.0.6', {
'checksums': ['73f6dbd6eb8c21bbf7ef8efad555481853f5f6acdeaff1edb0694289269ee17f'],
}),
('httpx', '0.27.2', {
'checksums': ['f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2'],
}),
('jupyterlab', version, {
'checksums': ['ae7f3a1b8cb88b4f55009ce79fa7c06f99d70cd63601ee4aa91815d054f46f75'],
}),
]

sanity_check_paths = {
'files': ['bin/jupyter-lab', 'bin/jupyter-labextension', 'bin/jupyter-labhub'],
'dirs': ['etc/jupyter', 'share/jupyter'],
}

sanity_check_commands = ['jupyter lab --help']

modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''}
modextravars = {
# only one path allowed as JUPYTERLAB_DIR
'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab',
}

# keep user's configuration in their home directory
# note: '~' is not expanded by JupyterLab
modluafooter = """
setenv("JUPYTERLAB_SETTINGS_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "user-settings"))
setenv("JUPYTERLAB_WORKSPACES_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "workspaces"))
"""
modtclfooter = """
setenv JUPYTERLAB_SETTINGS_DIR "$::env(HOME)/.jupyter/lab/user-settings"
setenv JUPYTERLAB_WORKSPACES_DIR "$::env(HOME)/.jupyter/lab/workspaces"
"""

moduleclass = 'tools'
32 changes: 32 additions & 0 deletions easybuild/easyconfigs/j/jedi/jedi-0.19.1-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
easyblock = 'PythonBundle'

name = 'jedi'
version = "0.19.1"

homepage = 'https://github.com/davidhalter/jedi'
description = """
Jedi - an awesome autocompletion, static analysis and refactoring library for Python.
"""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}

builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('Python', '3.12.3'),
]

sanity_pip_check = True
use_pip = True

exts_list = [
('parso', '0.8.3', {
'checksums': ['8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0'],
}),
(name, version, {
'checksums': ['cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd'],
}),
]

moduleclass = 'tools'
Loading

0 comments on commit 29f33c4

Please sign in to comment.