-
Notifications
You must be signed in to change notification settings - Fork 2
/
pyproject.toml
77 lines (71 loc) · 1.77 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
[tool.ruff]
line-length = 88
target-version = "py312"
exclude = [
".git",
".venv",
".venv-infra",
"__pycache__",
".tox",
"build",
"dist",
"*_pb2.py",
"*_pb2.pyi",
"test_data",
"snap_*.py"
]
[tool.ruff.lint]
select = [
"C4", # flake8-comprehensions
"E", # pycodestyle errors
"F", # pyflakes
"FURB", # refurb
"I", # isort
"N", # pep8-naming
"PERF", # perflint
"PIE", # pie
"PLR0402", # prevent unnecessary manual import aliases
"PLR1711", # prevent useless returns
# the following was disabled as it reports false negatives
#"PT017", # enforce use of pytest.raises
"SIM101", # prevent complicated isinstance checks
"SIM2", # simplify boolean expressions
"SIM4", # siplify mapping access
"SIM9", # siplify mapping access with redundant defaults
"UP", # pyupgrade
"W" # pycodestyle warnings
]
ignore = [
# ignore the rule enforcing exception classes must end with Error suffix,
# we are fine with Exception or no suffix as well
"N818",
# ignore the rule banning Optional[X] in favor of X | None, we are fine with Optional for now
"UP007",
# rules recommended to be ignored when using ruff format
"E501", "W191",
# we want to keep the pass placeholder in the code
"PIE790"
]
[tool.mypy]
plugins = "pydantic.mypy"
disallow_untyped_defs = true
warn_redundant_casts = true
strict_equality = true
python_version = "3.12"
mypy_path = """\
/src\
"""
[[tool.mypy.overrides]]
module = [
"dynaconf.*",
"pandas.*",
"pyarrow.*",
]
ignore_missing_imports = true
[tool.pytest.ini_options]
minversion = 7.0
pythonpath = [ "src", "tests" ]
testpaths = [ "tests" ]
filterwarnings = [
'ignore:pkg_resources is deprecated as an API:DeprecationWarning',
]