-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpyproject.toml
139 lines (124 loc) · 3.76 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
[tool.poetry]
name = "ml-pipeline-engine"
readme = "README.md"
version = "2.0.0a3"
authors = [
"Konyaev Matvey",
"Vasiliy Pankov",
]
repository = "https://github.com/tochka-public/ml-pipeline-engine"
homepage = "https://github.com/tochka-public/ml-pipeline-engine"
description = "Фреймворк для работы с пайплайном ML моделей"
packages = [
{ include = "ml_pipeline_engine" },
{ include = "ml_pipeline_viewer" },
]
exclude = [
"ml_pipeline_viewer/public",
"ml_pipeline_viewer/src",
"ml_pipeline_viewer/*.json",
]
license = "MIT"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
[tool.poetry.dependencies]
python = "^3.8"
networkx = ">=3.1,<4.0"
importlib-resources = "^6.4.0"
cachetools = "^5.3.3"
click = "^8.1.7"
[tool.poetry.scripts]
ml_pipeline_engine = "ml_pipeline_viewer.cli:main"
[tool.poetry.dev-dependencies]
pytest = ">=4.0.0"
pytest-mock = ">=3.10.0"
pre-commit = ">=2.0.0"
flake8 = ">=3.8.3"
pytest-cov = ">=2.11.0"
pytest-asyncio = ">=0.18.3"
ruff = "~0.2.0"
[tool.pytest.ini_options]
asyncio_mode = "auto"
addopts = "-s -vv"
[build-system]
requires = ["setuptools >= 69.0"] # nice
build-backend = "setuptools.build_meta"
[tool.autopep8]
max_line_length = 120
[tool.isort]
combine_as_imports = false
force_single_line = true
force_to_top = ["ml_pipeline_engine"]
known_local_folder = ["ml_pipeline_engine"]
no_lines_before = ["future", "standard-library"]
profile = "black"
line_length=120
[tool.ruff]
line-length = 120
target-version = 'py38'
[tool.ruff.lint]
ignore = [
"ANN101", # Annotate "self" argument (FFS)
"ANN102", # Annotate "cls" argument (FFS)
"ANN401", # Disallow "Any" generic
"B008", # Do not perform function call for default args definition
"A003", # bulitin shadowing for class attributes
"PT012", # pytest.raises should contain a single token of stmt
"RET501", # Explicit return None if it is the only possible value
"RUF001", "RUF002", "RUF003", # docstring related rules
"PLE1205", # logging compat breaks formatting
]
select = [
"A", # flake8-builtins
"ANN", # flake8-annotations
"ARG",
"ASYNC", # flake8-async
"B", # flake8-bugbear
"COM", # flake8-commas
"DTZ", # flake8-datetimez
"E", # pycodestyle [Error]
"ERA", # eradicate
"F", # PyFlakes
"I", # isort
"TID252", # flake8-tidy imports [Only to disallow relative importts]
"ICN001", # flake8-import-conventions [Only disallow unconventional imports]
"G002", # flake8-logging-format [Only %s rule enforcement]
"PERF", # Perflint
"PIE", # flake8-pie
"PL", # PyLint [ALL]
"PT01", # flake8-pytest-style [exlcuded 00* block that forces strange
"PT02", # naming conventions and do not contribute anything meaningful :)]
"PTH", # flake8-use-pathlib
"PYI", # flake8-pyi
"RET", # flake8-return (controvertial, consider revisiting ruleset)
"RSE", # flake8-raise
"RUF", # Ruff specific rules
"SIM2", # flake8-simplify [conditional "expr" rules]
"T20", # flake8-print (LOL)
"TID", # flake8-tidy-imports,
"Q", # flake8-quotes
"W", # pycodestyle [Warning]
]
[tool.ruff.lint.per-file-ignores]
"tests/*" = [
"ARG001", # fixtures are banned otherwise
"PLR2004", # Use magic value in comparison
]
[tool.ruff.lint.flake8-quotes]
docstring-quotes = "double"
inline-quotes = "single"
multiline-quotes = "double"
[tool.ruff.lint.isort]
combine-as-imports = false
force-single-line = true
force-to-top = ["ml_pipeline_engine"]
known-local-folder = ["ml_pipeline_engine"]
no-lines-before = ["future", "standard-library"]
[tool.ruff.lint.pylint]
max-args = 10