generated from Business-Wizard/dev-workspace-setup
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
98 lines (83 loc) · 1.8 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
[tool.poetry]
name = "DSA-Dojo"
version = "0.0.0"
description = "Collection of practice sessions of data structures and algorithms."
authors = [
"Business-Wizard <[email protected] >",
]
license = "TBD"
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.12"
invoke = ">=2.0.0"
[tool.poetry.group.dev.dependencies]
black = "^23.7.0"
mypy = ">=1.3"
pre-commit = ">=2.21.0"
ruff = "^0.0.286"
[tool.poetry.group.test.dependencies]
pytest = ">7.2.1"
pytest-mock = ">=3.10.0"
pytest-xdist = "^3.3.1"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
select = [
"A",
"B",
"C",
"E",
"F",
"I",
"UP",
"PL",
"PTH",
"PGH",
"ERA",
"RUF",
"TRY",
]
target-version = "py311"
line-length = 90
# maturity path:
# "E", "F", "W", "UP", "I", "NPY", "A", "PTH", "PLR", "PGH", "RUF", "ARG", "RET", "PD", "N", "PLC", "PT", "INP", "TRY", "SIM", "TD", "PLW", "BLE", "B", "DTZ", "G", "PGH", "Q", "ERA", "EM", "FLY", "PT", "ISC", "SLF"
ignore = ["PLR2004", "E501", "COM812"]
fix = true
fixable = ["ALL"]
unfixable = ["E731"]
exclude = [
".git",
".mypy_cache",
".pytest_cache",
".pytest_cache",
".venv",
"venv",
"build",
"dist",
]
[tool.ruff.mccabe]
max-complexity = 8
[tool.ruff.flake8-quotes]
inline-quotes = "double"
multiline-quotes = "double"
[tool.mypy]
python_version = "3.11"
check_untyped_defs = true
ignore_missing_imports = true
install_types = true
non_interactive = true
show_error_codes = true
warn_no_return = true
warn_redundant_casts = true
warn_unreachable = true
warn_unused_ignores = true
[tool.black]
line-length = 90
target-version = ["py311"]
skip-string-normalization = true
[tool.isort]
profile = "black"
line_length = 90
py_version = 311
filter_files = true