File size: 3,430 Bytes
cabc646
 
 
 
 
fd88619
9e7aa7b
cabc646
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fd88619
1fe249a
d98d701
 
49cde4e
1fe249a
 
cabc646
 
49cde4e
 
 
 
 
1fe249a
 
 
 
e517f23
1fe249a
49cde4e
cabc646
 
fd88619
 
 
a140ef6
bc51634
a140ef6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fd88619
a140ef6
 
 
 
 
 
49cde4e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a140ef6
 
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
[build-system]
requires=["flit_core >=3.2,<4"]
build-backend="flit_core.buildapi"

[project]
name="mlip_arena"
version="0.0.1a0"
authors=[
    {name="Yuan Chiang", email="[email protected]"},
]
description=""
readme="README.md"
requires-python=">=3.8"
keywords=[
    "pytorch",
    "machine-learning-interatomic-potentials",
    "huggingface",
    "deep-learning",
    "graph-neural-networks",
]
classifiers=[
    "Development Status :: 1 - Planning",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3 :: Only",
]
dependencies=[
    "ase",
    "torch",
    "torch_dftd>=0.4.0",
    "huggingface_hub",
    "torch-geometric",
    "safetensors",
    "pymatgen"
]

[project.optional-dependencies]
m3gnet = ["matgl", "dgl", "torch<=2.2.1"]
mace = ["mace-torch"]
chgnet = ["chgnet"]
fairchem = ["fairchem"]
app = [
    "streamlit",
    "plotly",
    "bokeh==2.4.3",
    "statsmodels"
]

[project.urls]
Homepage = "https://github.com/atomind-ai/mlip-arena"
Issues = "https://github.com/atomind-ai/mlip-arena/issues"

[tool.ruff]
# Exclude a variety of commonly ignored directories.
extend-include = ["*.ipynb"]
exclude = [
    ".bzr",
    ".direnv",
    ".eggs",
    ".git",
    ".git-rewrite",
    ".hg",
    ".ipynb_checkpoints",
    ".mypy_cache",
    ".nox",
    ".pants.d",
    ".pyenv",
    ".pytest_cache",
    ".pytype",
    ".ruff_cache",
    ".svn",
    ".tox",
    ".venv",
    ".vscode",
    "__pypackages__",
    "_build",
    "buck-out",
    "build",
    "dist",
    "node_modules",
    "site-packages",
    "venv",
]

# Same as Black.
line-length = 88
indent-width = 4

[tool.ruff.lint]
select = [
    "B",      # flake8-bugbear
    "C4",     # flake8-comprehensions
    "E",      # pycodestyle error
    "EXE",    # flake8-executable
    "F",      # pyflakes
    "FA",     # flake8-future-annotations
    "FBT003", # boolean-positional-value-in-call
    "FLY",    # flynt
    "I",      # isort
    "ICN",    # flake8-import-conventions
    "PD",     # pandas-vet
    "PERF",   # perflint
    "PIE",    # flake8-pie
    "PL",     # pylint
    "PT",     # flake8-pytest-style
    "PYI",    # flakes8-pyi
    "Q",      # flake8-quotes
    "RET",    # flake8-return
    "RSE",    # flake8-raise
    "RUF",    # Ruff-specific rules
    "SIM",    # flake8-simplify
    "SLOT",   # flake8-slots
    "TCH",    # flake8-type-checking
    "TID",    # tidy imports
    "TID",    # flake8-tidy-imports
    "UP",     # pyupgrade
    "W",      # pycodestyle warning
    "YTT",    # flake8-2020
]
ignore = [
    "C408",   # Unnecessary dict call
    "PLR",    # Design related pylint codes
    "E501",   # Line too long
    "B028",   # No explicit stacklevel
    "EM101",  # Exception must not use a string literal
    "EM102",  # Exception must not use an f-string literal
    "G004",   # f-string in Logging statement
    "RUF015", # Prefer next(iter())
    "RET505", # Unnecessary `elif` after `return`
    "PT004",  # Fixture does not return anthing
    "B017",   # pytest.raises
    "PT011",  # pytest.raises
    "PT012",  # pytest.raises"
    "E741",  # ambigous variable naming, i.e. one letter
    "FBT003",  # boolean positional variable in function call
    "PERF203",  # `try`-`except` within a loop incurs performance overhead (no overhead in Py 3.11+)
]
fixable = ["ALL"]
pydocstyle.convention = "google"