-
Notifications
You must be signed in to change notification settings - Fork 4
/
pyproject.toml
109 lines (96 loc) · 3.78 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
[tool.poetry]
name = "sphinx-performance"
version = "0.1.8"
description = "Automatically setting up, profiling and comparing huge Sphinx projects"
authors = ["team useblocks"]
license = "MIT"
readme = "README.rst"
repository = "https://github.com/useblocks/sphinx-performance"
documentation = "https://sphinx-performance.readthedocs.io/en/latest/"
classifiers = [
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Topic :: Documentation',
'Topic :: Utilities',
'Framework :: Sphinx',
]
[tool.poetry.dependencies]
python = ">=3.8,<4"
click = "^8.0.3"
Jinja2 = "^3.0.3"
memray = "^1.3.1"
pyinstrument = "^4.3.0"
rich = "^11.2.0"
snakeviz = "^2.1.1"
sphinx = "^5.3.0"
# docs and dev dependencies
sphinxcontrib-programoutput = { version = "^0.17", optional = true }
black = { version = "^23.7.0", optional = true }
ruff = { version = "^0.0.285", optional = true }
[tool.poetry.extras]
docs = ["sphinxcontrib-programoutput"]
dev = ["black", "ruff"]
all = ["black", "ruff", "sphinxcontrib-programoutput"]
[tool.poetry.scripts]
sphinx-analysis = 'sphinx_performance.analysis:cli_analysis'
sphinx-performance = 'sphinx_performance.performance:cli_performance'
[tool.ruff]
select = ["ALL"] # Enable all checks and maintain an ignore list
# a lot of ignores here due to activation of ruff linting in an established project
# candidates for reactivation are marked with a star
ignore = [
"ANN001", # missing-type-function-argument *
"ANN003", # missing-type-kwargs *
"ANN101", # missing-type-self
"ANN201", # missing-return-type-undocumented-public-function *
"ANN202", # missing-return-type-private-function *
"B905", # zip-without-explicit-strict *
"C901", # complex-structure *
"D100", # undocumented-public-module *
"D101", # undocumented-public-class *
"D102", # undocumented-public-method *
"D107", # no docstring needed for __init__
"D203", # D203 and D211 are mutually exclusive: https://github.com/PyCQA/pydocstyle/issues/141
"D212", # D212 and D213 are mutually exclusive: https://stackoverflow.com/a/45990465
"FBT002", # boolean-default-value-positional-argument *
"PERF401", # manual-list-comprehension *
"PLR0912", # too-many-branches *
"PLR0913", # too-many-arguments *
"PLR0915", # too-many-statements *
"PLW0603", # global-statement *
"PLW1510", # subprocess-run-without-check *
"S603", # subprocess-without-shell-equals-true *
"S607", # start-process-with-partial-path *
]
# Allow autofix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
# unfixable = []
# a bit longer than black for e.g. long docstrings that black did not shorten
line-length = 100
# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
# lint against oldest supported Python version
target-version = "py38"
[tool.ruff.pydocstyle]
convention = "pep257"
[tool.ruff.mccabe]
max-complexity = 20
[tool.ruff.per-file-ignores]
"sphinx_performance/projects/basic/performance.py" = ["INP001"] # template dir
"sphinx_performance/projects/events/performance.py" = ["INP001"] # template dir
"sphinx_performance/projects/needs/performance.py" = ["INP001"] # template dir
"sphinx_performance/projects/theme/performance.py" = ["INP001"] # template dir
[tool.black]
target-version = ["py38"]
preview = true
[build-system]
requires = ["poetry_core>=1"]
build-backend = "poetry.core.masonry.api"