lmod-toolkit 0.0.3__tar.gz → 0.0.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lmod_toolkit-0.0.3/src/lmod_toolkit.egg-info → lmod_toolkit-0.0.4}/PKG-INFO +1 -1
- lmod_toolkit-0.0.4/src/lmod_toolkit/__init__.py +1 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/src/lmod_toolkit/_version.py +3 -3
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/src/lmod_toolkit/lmod_config.py +1 -0
- lmod_toolkit-0.0.4/src/lmod_toolkit/lmod_spider.py +54 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4/src/lmod_toolkit.egg-info}/PKG-INFO +1 -1
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/src/lmod_toolkit.egg-info/SOURCES.txt +1 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/src/lmod_toolkit.egg-info/scm_file_list.json +1 -0
- lmod_toolkit-0.0.4/src/lmod_toolkit.egg-info/scm_version.json +8 -0
- lmod_toolkit-0.0.3/src/lmod_toolkit/__init__.py +0 -1
- lmod_toolkit-0.0.3/src/lmod_toolkit.egg-info/scm_version.json +0 -8
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/.github/workflows/publish-to-test-pypi.yml +0 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/.gitignore +0 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/README.md +0 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/README.pypi +0 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/pyproject.toml +0 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/setup.cfg +0 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/setup.sh +0 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/src/lmod_toolkit/build_helper.py +0 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/src/lmod_toolkit.egg-info/dependency_links.txt +0 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/src/lmod_toolkit.egg-info/top_level.txt +0 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/utils/quickstart.sh +0 -0
- {lmod_toolkit-0.0.3 → lmod_toolkit-0.0.4}/utils/uv_installer.sh +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from . import lmod_config, lmod_spider
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 0,
|
|
21
|
+
__version__ = version = '0.0.4'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 0, 4)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g9727bc061'
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import functools
|
|
2
|
+
import json
|
|
3
|
+
import os
|
|
4
|
+
import pprint
|
|
5
|
+
import subprocess
|
|
6
|
+
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
from lmod_toolkit import lmod_config
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
__all__ = [
|
|
13
|
+
'as_json',
|
|
14
|
+
'get_module_data',
|
|
15
|
+
'get_module_files',
|
|
16
|
+
'get_module_names',
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@functools.cache
|
|
21
|
+
def get_module_data():
|
|
22
|
+
prefix = lmod_config.prefix
|
|
23
|
+
libexec = Path( prefix , 'lmod' , 'lmod' , 'libexec' )
|
|
24
|
+
spider = libexec / 'spider'
|
|
25
|
+
try:
|
|
26
|
+
MODULEPATH = os.environ[ 'MODULEPATH' ] #will fail with KeyError if not found
|
|
27
|
+
except KeyError as e:
|
|
28
|
+
raise SystemExit( f"Missing environment variable 'MODULEPATH'\n{e}" )
|
|
29
|
+
cmds = [ 'bash', '-l', '-c', f"{spider} -o jsonSoftwarePage \"{MODULEPATH}\"" ]
|
|
30
|
+
result = subprocess.run(
|
|
31
|
+
cmds,
|
|
32
|
+
capture_output=True, # Captures both stdout and stderr
|
|
33
|
+
text=True # Returns strings instead of bytes
|
|
34
|
+
)
|
|
35
|
+
return json.loads( result.stdout )
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def get_module_names():
|
|
39
|
+
return get_module_data().keys()
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def get_module_files():
|
|
43
|
+
return [
|
|
44
|
+
v.keys()
|
|
45
|
+
for v in get_module_data().values()
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def as_json():
|
|
50
|
+
return json.dumps( get_module_data() )
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
if __name__ == '__main__':
|
|
54
|
+
pprint.pprint( get_module_data() )
|
|
@@ -8,6 +8,7 @@ src/lmod_toolkit/__init__.py
|
|
|
8
8
|
src/lmod_toolkit/_version.py
|
|
9
9
|
src/lmod_toolkit/build_helper.py
|
|
10
10
|
src/lmod_toolkit/lmod_config.py
|
|
11
|
+
src/lmod_toolkit/lmod_spider.py
|
|
11
12
|
src/lmod_toolkit.egg-info/PKG-INFO
|
|
12
13
|
src/lmod_toolkit.egg-info/SOURCES.txt
|
|
13
14
|
src/lmod_toolkit.egg-info/dependency_links.txt
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from . import lmod_config
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|