-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
164 lines (150 loc) · 5.81 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
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
[tool.poetry]
name = "docutools"
version = "2022.04.11"
description = "Documentation Tools for the Mkdocs Material Framework"
authors = ["Gunther Klessinger <[email protected]>"]
license = "BSD 2-Clause Simplified License"
readme = "README.md"
repository = "https://github.com/axiros/docutools"
homepage = "https://axiros.github.io/docutools/"
keywords = []
packages = [ { include = "lcdoc", from = "src" } ]
include = []
exclude = [ "**/docs/**/*" ]
# [[tool.poetry.source]]
# name = "ax"
# url = "https://artifacts.github.com/artifactory/api/pypi/pypi-ax-sources/simple/"
# secondary = true
[project.urls]
# packagehome = "https://pypi.org/project/docutools" # default is pypi, no need to declare
# discusshome = "https://join.skype.com/foobarbaz"
[tool.poetry.dependencies]
#python = "^3.6"
#python = "~3.8"
python = "^3.7"
# lp conditions and assertions matching:
pycond = "^2*"
anybadge = "^1.7.0"
git-changelog = "*"
# for duty (an invoke clone) pulling async pypi data and kroki
httpx = "^0.17.1"
# TODO: accept v5 once https://github.com/wemake-services/wemake-python-styleguide/issues/1584 is resolved
# making trouble when poetry installing lc-devapp with us as depency. Unsure why a dev dep matters ...
# lc-devapp = { path = "build/lc-devapp" } # see above and .gitlab-ci.yaml
markdown-include = "^0.6.0"
# have to pin(https://github.com/pallets/markupsafe/issues/284):
markupsafe = "2.0.1"
mkdocs = "^1.1.2"
mkdocs-material = "^8"
# Optional:
mkdocs-macros-plugin = "^0.5.12"
mkdocs-exclude = "^1.0.2"
mkdocs-pymdownx-material-extras = "^1.1.3"
# great one, optional:
#mkdocstrings = "^0.13.6"
#plantuml-markdown = "^3.4.2"
pytest = "^6.0.1"
pytest-cov = "^2.10.1"
pytest-randomly = "^3.4.1"
pytest-sugar = "^0.9.4"
pytest-xdist = "^2.1.0"
toml = "^0.10.1"
# this would require to export POETRY_HTTP_BASIC_AX_USERNAME=... and pw on gitlab runner
# since we are on same gitlab server for lc-devapp we install from there using the token, see below
diagrams = "*"
imagesize = "^1.*"
inflection = "^0.5.1"
coverage = "^6.0.2"
[tool.poetry.dev-dependencies]
autoflake = "^1.4"
axblack = "^20201010"
isort = {version = "<5", extras = ["pyproject"]}
numpy = "^1*"
matplotlib = "^3*"
# one of last versions with site-packages/black.py - overridden by axblack:
#black = "18.6b4"
[tool.poetry.scripts]
mdrun = "lcdoc.lprunner:main"
[tool.poetry.plugins."mkdocs.plugins"]
"lcd-find-pages" = "lcdoc.mkdocs.find_pages:MDFindPagesPlugin"
"lcd-custom-dir" = "lcdoc.mkdocs.custom_dir:CustomDirPlugin"
"lcd-blacklist" = "lcdoc.mkdocs.blacklist:BlacklistPlugin"
"lcd-lp" = "lcdoc.mkdocs.lp:LPPlugin"
"lcd-md-replace" = "lcdoc.mkdocs.replace:MDReplacePlugin"
"lcd-page-tree" = "lcdoc.mkdocs.page_tree:PageTreePlugin"
"lcd-stats" = "lcdoc.mkdocs.stats:StatsPlugin"
[tool.black]
line-length = 90
exclude = "tests/fixtures"
[tool.pyright]
reportSelfClsParameterName = false
pythonPlatform = "Linux"
executionEnvironments = [{ root = "src" }]
typeCheckingMode = "off"
[tool.isort]
line_length = 90
not_skip = "__init__.py"
multi_line_output = 3
force_single_line = false
balanced_wrapping = true
default_section = "THIRDPARTY"
known_first_party = "lcdoc"
include_trailing_comma = true
[tool.flakehell]
format = "colored"
max_line_length = 132
show_source = false
exclude = ["tests/fixtures"]
# create baseline first for legacy code:https://wemake-python-stylegui.de/en/latest/pages/usage/integrations/flakehell.html
[tool.flakehell.plugins]
"*" = [
"+*",
"-RST*", # we write docstrings in markdown, not rst
"-A001", # redundant with W0622 (builtin override), which is more precise about line number
"-D105", # missing docstring in magic method
"-D212", # multi-line docstring summary should start at the first line
"-E203", # whitespace before ‘:’ (incompatible with Black)
"-F821", # redundant with E0602 (undefined variable)
"-Q000", # black already deals with quoting
"-S101", # use of assert
"-W503", # line break before binary operator (incompatible with Black)
"-C0103", # two-lowercase-letters variable DO conform to snake_case naming style
"-C0116", # redunant with D102 (missing docstring)
"-C0301", # line too long
"-R0902", # too many instance attributes
"-R0903", # too few public methods
"-R0904", # too many public methods
"-R0912", # too many branches
"-R0913", # too many methods
"-R0914", # too many local variables
"-R0915", # too many statements
"-W0212", # redundant with WPS437 (access to protected attribute)
"-W0611", # redundant with F401 (unused import)
"-W1203", # lazy formatting for logging calls
"-WPS305", # f-strings
"-WPS110", # common variable names (too annoying)
"-WPS125", # redundant with W0622 (builtin override), which is more precise about line number
"-WPS201", # too many imports
"-WPS202", # too many module members
"-WPS210", # too many local variables
"-WPS211", # too many arguments
"-WPS213", # too many expressions
"-WPS214", # too many methods
"-WPS220", # too deep nesting
"-WPS223", # too many elif branches
"-WPS226", # string over-use: can't disable it per file?
"-WPS230", # too many public instance attributes
"-WPS306", # too cumbersome, asks to write class A(object)
"-WPS317", # multi-line paramaters (incompatible with Black)
"-WPS322", # multi-line strings (incompatible with attributes docstrings)
"-WPS326", # implicit string concatenation
"-WPS336", # explicit string concatenation
"-WPS402", # nosa overuse
"-WPS412", # __init__ modules with logic
"-WPS428", # statement with no effect (not compatible with attribute docstrings)
"-WPS433", # redundant with C0415 (not top-level import)
"-WPS529", # implicit dict.get usage (generally false-positive)
]