/
pyproject.toml
112 lines (98 loc) · 2.5 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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
[tool.poetry]
name = "janus-core"
version = "0.4.0b0"
description = "Tools for machine learnt interatomic potentials"
authors = [
"Elliott Kasoar",
"Federica Zanca",
"Patrick Austin",
"David Mason",
"Jacob Wilkins",
"Alin M. Elena",
]
readme = "README.md"
packages = [{include = "janus_core"}]
classifiers = [
"Programming Language :: Python",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Natural Language :: English",
"Development Status :: 3 - Alpha",
]
repository = "https://github.com/stfc/janus-core/"
documentation = "https://stfc.github.io/janus-core/"
[tool.poetry.scripts]
janus = "janus_core.cli.janus:app"
[tool.poetry.dependencies]
python = "^3.9"
ase = "^3.22.1"
mace-torch = "^0.3.4"
pyyaml = "^6.0.1"
typer = "^0.9.0"
typer-config = "^1.4.0"
[tool.poetry.group.dev.dependencies]
coverage = {extras = ["toml"], version = "^7.4.1"}
pgtest = "^1.3.2"
pytest = "^8.0"
pytest-cov = "^4.1.0"
tox = "^4.12.1"
wheel = "^0.42"
[tool.poetry.group.pre-commit]
optional = true
[tool.poetry.group.pre-commit.dependencies]
black = "^24.1.1"
pre-commit = "^3.6.0"
pylint = "^2.15.10"
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
furo = "^2024.1.29"
markupsafe = "<2.1"
numpydoc = "^1.6.0"
sphinx = "^7.2.6"
sphinxcontrib-contentui = "^0.2.5"
sphinxcontrib-details-directive = "^0.1"
[tool.poetry.group.extra-mlips]
optional = true
[tool.poetry.group.extra-mlips.dependencies]
dgl = "^1.1.3"
chgnet = "^0.3.4"
matgl = "^1.0.0"
spglib = "<=2.2.0"
torch-dftd = "^0.4.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 88
[tool.pylint.format]
max-line-length = 88
max-args = 10
good-names = ["e", "i", "j", "k"]
[tool.pytest.ini_options]
# Configuration for [pytest](https://docs.pytest.org)
python_files = "test_*.py"
addopts = '--cov-report xml'
pythonpath = ["."]
[tool.coverage.run]
# Configuration of [coverage.py](https://coverage.readthedocs.io)
# reporting which lines of your plugin are covered by tests
source=["janus_core"]
[tool.isort]
# Configuration of [isort](https://isort.readthedocs.io)
line_length = 88
force_sort_within_sections = true
sections = ['FUTURE', 'STDLIB', 'THIRDPARTY', 'FIRSTPARTY', 'LOCALFOLDER']
[tool.numpydoc_validation]
# report on all checks, except the below
checks = [
"all",
"EX01",
"SA01",
"ES01",
]
# Don't report on objects that match any of these regex
exclude = [
".__weakref__$",
".__repr__$",
]