@@ -18,7 +18,15 @@ authors = [
1818]
1919maintainers = [{ name = " Shyue Ping Ong" }]
2020readme = " README.md"
21- keywords = [" jit" , " job" , " just-in-time" , " management" , " vasp" , " nwchem" , " qchem" ]
21+ keywords = [
22+ " jit" ,
23+ " job" ,
24+ " just-in-time" ,
25+ " management" ,
26+ " nwchem" ,
27+ " qchem" ,
28+ " vasp" ,
29+ ]
2230classifiers = [
2331 " Development Status :: 5 - Production/Stable" ,
2432 " Intended Audience :: Science/Research" ,
@@ -38,8 +46,10 @@ requires-python = ">=3.10"
3846dependencies = [" monty>=2.0.6" , " psutil" , " ruamel.yaml>=0.15.6" ]
3947
4048[project .optional-dependencies ]
41- matsci = [" pymatgen" ] # Error handlers and jobs for materials simulations, e.g., VASP, Nwchem, qchem, etc.
42- gaussian = [" pymatgen" , " matplotlib" ]
49+ matsci = [
50+ " pymatgen" ,
51+ ] # Error handlers and jobs for materials simulations, e.g., VASP, Nwchem, qchem, etc.
52+ gaussian = [" matplotlib" , " pymatgen" ]
4353error-statistics = [" sentry-sdk>=0.8.0" ]
4454
4555[project .scripts ]
@@ -63,55 +73,56 @@ line-length = 120
6373
6474[tool .ruff .lint ]
6575select = [
66- " B" , # flake8-bugbear
67- " C4" , # flake8-comprehensions
68- " D" , # pydocstyle
69- " E" , # pycodestyle error
70- " EXE" , # flake8-executable
71- " F" , # pyflakes
72- " FA" , # flake8-future-annotations
73- " FLY" , # flynt
74- " I" , # isort
75- " ICN" , # flake8-import-conventions
76- " ISC" , # flake8-implicit-str-concat
77- " PD" , # pandas-vet
76+ " B" , # flake8-bugbear
77+ " C4" , # flake8-comprehensions
78+ " D" , # pydocstyle
79+ " E" , # pycodestyle error
80+ " EXE" , # flake8-executable
81+ " F" , # pyflakes
82+ " FA" , # flake8-future-annotations
83+ " FLY" , # flynt
84+ " I" , # isort
85+ " ICN" , # flake8-import-conventions
86+ " ISC" , # flake8-implicit-str-concat
87+ " PD" , # pandas-vet
7888 " PERF" , # perflint
79- " PIE" , # flake8-pie
80- " PL" , # pylint
81- " PT" , # flake8-pytest-style
82- " PYI" , # flakes8-pyi
83- " Q" , # flake8-quotes
84- " RET" , # flake8-return
85- " RSE" , # flake8-raise
86- " RUF" , # Ruff-specific rules
87- " SIM" , # flake8-simplify
89+ " PIE" , # flake8-pie
90+ " PL" , # pylint
91+ " PT" , # flake8-pytest-style
92+ " PYI" , # flakes8-pyi
93+ " Q" , # flake8-quotes
94+ " RET" , # flake8-return
95+ " RSE" , # flake8-raise
96+ " RUF" , # Ruff-specific rules
97+ " SIM" , # flake8-simplify
8898 " SLOT" , # flake8-slots
89- " TCH" , # flake8-type-checking
90- " TID" , # tidy imports
91- " TID" , # flake8-tidy-imports
92- " UP" , # pyupgrade
93- " W" , # pycodestyle warning
94- " YTT" , # flake8-2020
99+ " TCH" , # flake8-type-checking
100+ " TID" , # tidy imports
101+ " TID" , # flake8-tidy-imports
102+ " UP" , # pyupgrade
103+ " W" , # pycodestyle warning
104+ " YTT" , # flake8-2020
95105]
96106ignore = [
97- " B023" , # Function definition does not bind loop variable
98- " B028" , # No explicit stacklevel keyword argument found
99- " B904" , # Within an except clause, raise exceptions with ...
100- " C408" , # unnecessary-collection-call
107+ " B023" , # Function definition does not bind loop variable
108+ " B028" , # No explicit stacklevel keyword argument found
109+ " B904" , # Within an except clause, raise exceptions with ...
110+ " C408" , # unnecessary-collection-call
101111 " COM812" ,
102- " D105" , # Missing docstring in magic method
103- " D205" , # 1 blank line required between summary line and description
104- " D212" , # Multi-line docstring summary should start at the first line
112+ " D105" , # Missing docstring in magic method
113+ " D205" , # 1 blank line required between summary line and description
114+ " D212" , # Multi-line docstring summary should start at the first line
105115 " ISC001" ,
106- " PD011" , # pandas-use-of-dot-values
107- " PD901" , # pandas-df-variable-name
116+ " PD011" , # pandas-use-of-dot-values
117+ " PD901" , # pandas-df-variable-name
108118 " PERF203" , # try-except-in-loop
109- " PLR" , # pylint refactor
119+ " PLC0415" , # import-outside-top-level (used for performance/optional deps)
120+ " PLR" , # pylint refactor
110121 " PLW2901" , # Outer for loop variable overwritten by inner assignment target
111- " PT013" , # pytest-incorrect-pytest-import
122+ " PT013" , # pytest-incorrect-pytest-import
112123 " PTH" ,
113- " RUF012" , # Disable checks for mutable class args
114- " SIM105" , # Use contextlib.suppress(OSError) instead of try-except-pass
124+ " RUF012" , # Disable checks for mutable class args
125+ " SIM105" , # Use contextlib.suppress(OSError) instead of try-except-pass
115126]
116127pydocstyle.convention = " google"
117128isort.split-on-trailing-comma = false
@@ -163,22 +174,18 @@ exclude = ["**/tests"]
163174
164175[dependency-groups ]
165176dev = [
177+ " invoke>=2.2.0" ,
178+ " mypy>=1.15.0" ,
179+ " myst-parser>=4.0.1" ,
166180 " pre-commit>=4.2.0" ,
167181 " pymatgen>=2025.5.16" ,
168- " pytest>=8.3.5" ,
169182 " pytest-cov>=6.0.0" ,
170- " mypy>=1.15.0 " ,
183+ " pytest>=8.3.5 " ,
171184 " ruff>=0.11.2" ,
172- " invoke>=2.2.0" ,
173- " sphinx>=8.1.3" ,
174- " myst-parser>=4.0.1" ,
175185 " sphinx-markdown-builder>=0.6.8" ,
186+ " sphinx>=8.1.3" ,
176187]
177- lint = [
178- " pre-commit>=4.2.0" ,
179- " mypy>=1.15.0" ,
180- " ruff>=0.11.2" ,
181- ]
188+ lint = [" mypy>=1.15.0" , " pre-commit>=4.2.0" , " ruff>=0.11.2" ]
182189
183190[tool .setuptools .package-data ]
184191custodian = [" py.typed" ]
0 commit comments