-
Notifications
You must be signed in to change notification settings - Fork 13
/
pyproject.toml
98 lines (84 loc) · 2.36 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "Soprano"
dynamic = ["version"]
description = "A Python library to crack crystals"
readme = "README.md"
license = "LGPL-3.0-or-later"
requires-python = ">=3.9"
authors = [
{ name = "Simone Sturniolo", email = "[email protected]" },
{ name = "J. Kane Shenton", email = "[email protected]" },
]
keywords = [
"ccpnc",
"computational chemistry",
"crystallography",
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)",
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering :: Chemistry",
"Topic :: Scientific/Engineering :: Information Analysis",
"Topic :: Scientific/Engineering :: Physics",
]
dependencies = [
"adjustText",
"ase>=3.22,!=3.23",
"bottleneck>=1.3.6",
"click",
"click_log",
"matplotlib",
"numpy>=1.18.5,<2.0",
"pandas>=2.0",
"scipy",
"spglib>=2.4",
"pydantic>=2.0",
]
[project.optional-dependencies]
dev = [
"black",
"flake8",
"pre-commit",
"pytest",
]
docs = [
"jupyter-book~=1.0.2",
"sphinx-click", # For click command documentation
"sphinxcontrib-bibtex", # For bibtex support
"sphinxcontrib-mermaid", # For mermaid diagrams
]
[project.scripts]
extract_nmr = "soprano.scripts.extract_nmr:__main__"
magresaverage = "soprano.scripts.msaverage:__main__"
phylogen = "soprano.scripts.phylogen:__main__"
soprano = "soprano.scripts.cli:soprano"
soprano_submitter = "soprano.hpc.submitter:__main__"
vasp2cell = "soprano.scripts.vasp2cell:__main__"
[project.urls]
Homepage = "https://ccp-nc.github.io/soprano/"
[tool.hatch.version]
path = "soprano/__init__.py"
[tool.hatch.build]
include = [
"soprano/**", # Includes everything in the soprano/ directory
"soprano/data/*.json", # Explicitly include your data files
"soprano/calculate/nmr/*.mplstyle" # Include specific subfolders/files
]
[tool.hatch.build.targets.sdist]
include = [
"/soprano",
]
[tool.hatch.envs.default]
installer = "uv"
[tool.hatch.envs.docs]
features = ["docs"]
[tool.hatch.envs.docs.scripts]
build = "jupyter-book build docs"
serve = "python -m http.server -d docs/_build/html {args}"
[tool.hatch.envs.dev]
features = ["dev"]