-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathpyproject.toml
More file actions
82 lines (72 loc) · 2.41 KB
/
pyproject.toml
File metadata and controls
82 lines (72 loc) · 2.41 KB
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
[tool.poetry]
name = "geecs-docs"
version = "0.1.0"
description = "Unified documentation for GEECS plugins"
authors = ["Sam Barber <sbarber@lbl.gov>"]
package-mode = false
[tool.poetry.dependencies]
python = ">=3.10,<3.11"
mkdocs = "^1.5"
mkdocs-material = "^9.5"
mkdocstrings = { extras = ["python"], version = "^0.28.2" }
mkdocs-autorefs = "^1.4"
nbconvert = "^7.0" # Needed for Jupyter notebook output stripping
tomli = "^2.2.1"
[tool.poetry.group.dev.dependencies]
geecs-scanner-gui = { path = "GEECS-Scanner-GUI", develop = true }
geecs-pythonapi = {path = "GEECS-PythonAPI", develop = true}
imageanalysis = { path = "ImageAnalysis", develop = true }
geecs_data_utils = { path = "GEECS-Data-Utils", develop = true }
scananalysis = {path = "ScanAnalysis", develop = true}
LogMaker4GoogleDocs = {path = "LogMaker4GoogleDocs", develop = true}
pre-commit = "^3.5"
ruff = "^0.4" # Use compatible version with ruff-pre-commit
pydocstyle = "^6.3"
interrogate = "^1.7" # For docstring coverage reporting
jupyterlab = "^4.0"
mkdocs-jupyter = "^0.24.6" # or latest version
ipykernel = "^6.30.1"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
# -------------------------------
# Ruff settings
# -------------------------------
[tool.ruff]
exclude = ["extras/**", "**/third_party_sdks/**"]
[tool.ruff.lint]
ignore = ["D100", "D104", "D401"] # Allow missing module/package docstrings and imperative mood
extend-select = ["D"] # Enable all pydocstyle checks
[tool.ruff.lint.per-file-ignores]
"extras/**" = ["D"]
"**/third_party_sdks/**" = ["D"]
"**/tests/**" = ["D"] # Ignore all docstring rules in test files
[tool.ruff.lint.pydocstyle]
convention = "numpy"
# -------------------------------
# Interrogate settings (doc coverage checker)
# -------------------------------
[tool.interrogate]
fail-under = 80
ignore-init-method = true
ignore-init-module = true
ignore-magic = true
ignore-semiprivate = true
ignore-private = true
ignore-property-decorators = true
ignore-module = false
ignore-nested-functions = true
ignore-nested-classes = true
verbose = 2
exclude = [
"setup.py", "docs", "tests", "**/tests/**", "**/test_*.py", "**/*_test.py", "**/conftest.py",
"**/third_party_sdks/**",
"**/extras/**"
]
# -------------------------------
# Pydocstyle settings
# -------------------------------
[tool.pydocstyle]
convention = "numpy"
add-ignore = ["D100", "D104"]
match-dir = "^(?!extras/|.*third_party_sdks).*"