-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
142 lines (131 loc) · 4.01 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
[project]
name = "bluprint"
version = "0.4.5"
description = ""
authors = [
{name = "igor-sb"},
]
readme = "README.rst"
license = { text = "MIT" }
requires-python = ">=3.11"
dependencies = [
"fire>=0.5.0",
"packaging>=24.1",
"omegaconf>=2.3.0",
"importlib-resources>=6.1.1",
]
classifiers = [
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
]
[project.urls]
Homepage = "https://github.com/igor-sb/bluprint"
Issues = "https://github.com/igor-sb/bluprint/issues"
[tool.uv]
dev-dependencies = [
"pytest>=7.4.3",
"pytest-mock>=3.12.0",
"autopep8>=2.0.4",
"unify>=0.5",
"isort>=5.12.0",
"pre-commit>=3.5.0",
"coverage>=7.3.2",
"sphinx>=7.2.6",
"mypy>=1.7.1",
"pytest-snapshot>=0.9.0",
"argcomplete>=3.1.6",
"pylint>=3.0.2",
"types-tqdm>=4.66.0.5",
"flake8-pyproject>=1.2.3",
"sphinx-copybutton>=0.5.2",
"sphinx-immaterial>=0.11.10",
"ruff>=0.6.2",
]
[project.scripts]
bluprint = "bluprint.cli:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.pytest.ini_options]
# Fire library throws this warning
filterwarnings = [
"ignore:.*pipes.* is deprecated and slated for removal:DeprecationWarning",
]
[tool.isort]
profile = "wemake"
line_length = 80
# lines_between_sections = 0
[tool.ruff]
line-length = 80
exclude = [
'docs',
'.venv',
'.git',
'data',
'tmp',
'build',
'src/bluprint/template',
]
[tool.ruff.format]
quote-style = "single"
[tool.ruff.lint]
select = [
'F', 'E', 'W', 'I', 'N', 'D', 'S', 'B', 'A', 'TCH', 'TID', 'SIM',
'PTH'
]
# select = ['B', 'D', 'E', 'F', 'I', 'S', 'W', 'RUF', 'TCH', 'TID', 'SIM']
ignore = [
'D100', # Missing docstring in public module
'D101', # D101 Missing docstring in public class
'D102', # D102 Missing docstring in public method
'D103', # D103 Missing docstring in public function
'D104', # Missing docstring in public package
'D107', # D107 Missing docstring in __init__
'D212', # `multi-line-summary-first-line
'D213',
'D203', # one-blank-line-before-class`
'D400', # First line should end with period
'D407', # Missing dashed underline after section
'D412', # No blank lines allowed between a section header and its content
'D413', # Missing blank line after last section
'D415', # First line should end with a period, question mark, or exclamation point
#'I003', # I003 isort expected 1 blank line in imports, found 0
# 'DAR003', # DAR003 Incorrect indentation: ~<
# 'DAR101', # DAR101 Missing parameter(s) in Docstring: - repeated_bases_regex
#'DAR103', # DAR103 ... false positives
# 'DAR201', # DAR201 Missing "Returns" in Docstring: - return
#'RST201', # RST201 Block quote ends without a blank line; unexpected unindent.
#'RST301', # RST301 Unexpected indentation.
'S311', # S311 Standard pseudo-random generators are not suitable for security/cryptographic purposes.
'S404', # Consider possible security implications associated with the subprocess module.
'S603', # subprocess call - check for execution of untrusted input.
'S607', # Starting a process with a partial executable path
#'WPS348', # WPS348 Found a line that starts with a dot
#'WPS226', # WPS226 Found string literal over-use: count > 3
#'WPS305', # WPS305 Found `f` string
#'W503', # line break before binary operator
]
[tool.ruff.lint.per-file-ignores]
# S101 Use of assert detected.
# S403 Consider possible security implications associated with pickle module.
"tests/*" = ["S101", "S403"]
# WPS202 Found too many module members
# "tests/**/conftest.py" = ["WPS202"]
# D100 Missing docstring in public module
# WPS421 Found wrong function call: print
# WPS428 Found statement that has no effect
# WPS432 Found magic number: 13
"tmp/**" = ["D100"]
# WPS202 Found too many module members
# "**/errors.py" = ["WPS202"]
[tool.mypy]
exclude = 'src/bluprint/template/*'
[[tool.mypy.overrides]]
module = [
"pandas.*",
"fire.*",
"notebook.*",
]
ignore_missing_imports = true