1
1
# SPDX-License-Identifier: LGPL-3.0-or-later
2
+ import sys
3
+ from pathlib import (
4
+ Path ,
5
+ )
2
6
from typing import (
3
7
Dict ,
4
8
List ,
12
16
get_argument_from_env ,
13
17
)
14
18
19
+ if sys .version_info >= (3 , 11 ):
20
+ import tomllib
21
+ else :
22
+ import tomli as tomllib
23
+
15
24
__all__ = ["dynamic_metadata" ]
16
25
17
26
@@ -22,75 +31,24 @@ def __dir__() -> List[str]:
22
31
def dynamic_metadata (
23
32
field : str ,
24
33
settings : Optional [Dict [str , object ]] = None ,
25
- ) -> str :
34
+ ):
26
35
assert field in ["optional-dependencies" , "entry-points" , "scripts" ]
27
36
_ , _ , find_libpython_requires , extra_scripts , tf_version = get_argument_from_env ()
37
+ with Path ("pyproject.toml" ).open ("rb" ) as f :
38
+ pyproject = tomllib .load (f )
39
+
28
40
if field == "scripts" :
29
41
return {
30
- "dp" : "deepmd.main:main" ,
42
+ ** pyproject [ "tool" ][ "deepmd_build_backend" ][ "scripts" ] ,
31
43
** extra_scripts ,
32
44
}
33
45
elif field == "optional-dependencies" :
46
+ optional_dependencies = pyproject ["tool" ]["deepmd_build_backend" ][
47
+ "optional-dependencies"
48
+ ]
49
+ optional_dependencies ["lmp" ].extend (find_libpython_requires )
50
+ optional_dependencies ["ipi" ].extend (find_libpython_requires )
34
51
return {
35
- "test" : [
36
- "dpdata>=0.2.7" ,
37
- "ase" ,
38
- "pytest" ,
39
- "pytest-cov" ,
40
- "pytest-sugar" ,
41
- "dpgui" ,
42
- "mendeleev" ,
43
- ],
44
- "docs" : [
45
- "sphinx>=3.1.1" ,
46
- "sphinx_rtd_theme>=1.0.0rc1" ,
47
- "sphinx_markdown_tables" ,
48
- "myst-nb>=1.0.0rc0" ,
49
- "myst-parser>=0.19.2" ,
50
- "sphinx-design" ,
51
- "breathe" ,
52
- "exhale" ,
53
- "numpydoc" ,
54
- "ase" ,
55
- "deepmodeling-sphinx>=0.1.0" ,
56
- "dargs>=0.3.4" ,
57
- "sphinx-argparse" ,
58
- "pygments-lammps" ,
59
- "sphinxcontrib-bibtex" ,
60
- ],
61
- "lmp" : [
62
- "lammps~=2023.8.2.3.0" ,
63
- * find_libpython_requires ,
64
- ],
65
- "ipi" : [
66
- "i-PI" ,
67
- * find_libpython_requires ,
68
- ],
69
- "gui" : [
70
- "dpgui" ,
71
- ],
52
+ ** optional_dependencies ,
72
53
** get_tf_requirement (tf_version ),
73
- "cu11" : [
74
- "nvidia-cuda-runtime-cu11" ,
75
- "nvidia-cublas-cu11" ,
76
- "nvidia-cufft-cu11" ,
77
- "nvidia-curand-cu11" ,
78
- "nvidia-cusolver-cu11" ,
79
- "nvidia-cusparse-cu11" ,
80
- "nvidia-cudnn-cu11<9" ,
81
- "nvidia-cuda-nvcc-cu11" ,
82
- ],
83
- "cu12" : [
84
- "nvidia-cuda-runtime-cu12" ,
85
- "nvidia-cublas-cu12" ,
86
- "nvidia-cufft-cu12" ,
87
- "nvidia-curand-cu12" ,
88
- "nvidia-cusolver-cu12" ,
89
- "nvidia-cusparse-cu12" ,
90
- "nvidia-cudnn-cu12<9" ,
91
- "nvidia-cuda-nvcc-cu12" ,
92
- ],
93
- "torch" : [
94
- "torch>=2a" ,
95
- ],
96
54
}
0 commit comments