-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
108 lines (98 loc) · 2.52 KB
/
Copy pathpyproject.toml
File metadata and controls
108 lines (98 loc) · 2.52 KB
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
[tool.poetry]
name = "sous-chef"
version = "0.1.0"
description = ""
authors = []
[tool.poetry.dependencies]
python = "^3.10"
cookiecutter = "^2.5.0"
chef = {path = "packages/chef", develop=true}
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 120
[tool.pyright]
exclude = ["**/jobs/**", "projects/reci-pick"]
[tool.ruff]
lint.select = [
"E", # pycodestyle
"F", # pyflakes
"W", # pycodestyle (warnings)
"I", # isort
"N", # pep8-naming
"UP", # pyupgrade
"ANN", # flake8-annotations
"B", # flake8-bugbear
"A", # flake8-builtins
"COM", # flake8-commas
"C4", # flake8-comprehensions
"DTZ", # flake8-datetimez
"EXE", # flake8-executable
"PIE", # flake8-pie
"T20", # flake8-print
"PT", # flake8-pytest
"SIM", # flake8-simplify
"ARG", # flake8-unused-arguments
"PTH", # flake8--use-pathlib
"ERA", # flake8-eradicate
"RUF", # ruff specific rules
"PL", # pylint
]
lint.ignore = [
"ANN101", # Missing type annotation for self in method
"ANN102", # Missing type annotation for class
"ANN204", # Missing type annotation for special method
"UP017",
"DTZ011", # Use of `datetime.now` without timezone
"ARG001", # Unused function argument
"ARG002", # Unused argument
"ARG004", # Unused static argument
"ARG005", # Unused lambda variable
"SIM108", # Enforce turnary expression
"SIM117", # Enforce multiple context managers on one line
"SIM110",
"ERA001",
"COM812",
"C408",
"PLR0912", # Too many branches
"PLR0913",
"PLR0915", # Too many statements
"PLC0415", # Top level imports - good practice but not always practical
"PT023", # Use `@pytest.mark.asyncio` over `@pytest.mark.asyncio()`
"PT001", # Use `@pytest.fixture` over `@pytest.fixture()`
"RUF012"
]
lint.pylint.max-args = 7
line-length = 120
lint.pyupgrade.keep-runtime-typing = true
target-version = "py39"
extend-exclude = ["**/*.ipynb"]
[tool.ruff.lint.per-file-ignores]
"**/jobs/**.py" = [
# Modules at top
"E402",
# Attribute do not exist -> due to dbutils
"F821",
# Async functions in notebooks
"F704",
"PLE1142"
]
"**/tests/**.py" = [
# Magic numbers
"PLR2004"
]
"**/ml-feature-store/**.py" = [
# Sort import
"I001"
]
"**/dishes-forecasting/**.py" = [
# Sort import
"I001"
]
"**/ab-test-analysis/**.py" = [
# Sort import
"I001"
]
[tool.codespell]
ignore-words-list = "compliancy"