Newer
Older
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
[tool.isort]
profile = "black"
line_length = 120
skip = ["venv", ".tox", "gso/migrations"]
known_third_party = ["pydantic", "migrations"]
known_first_party = ["test"]
[tool.black]
line-length = 120
target-version = ["py310"]
[tool.mypy]
exclude = "venv"
ignore_missing_imports = true
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
strict_optional = true
namespace_packages = true
warn_unused_ignores = true
warn_redundant_casts = true
warn_no_return = true
warn_unreachable = true
implicit_reexport = false
strict_equality = true
show_error_codes = true
show_column_numbers = true
# Suppress "note: By default the bodies of untyped functions are not checked"
disable_error_code = "annotation-unchecked"
[tool.ruff]
exclude = [
".git",
".*_cache",
".tox",
"*.egg-info",
"__pycache__",
"htmlcov",
"venv",
]
ignore = [
"C417",
"D100",
"D101",
"D102",
"D103",
"D104",
"D105",
"D106",
"D107",
"D202",
"E501",
"N806",
"B905",
"N805",
"B904",
"N803",
"N801",
"N815",
"N802"
]
line-length = 120
select = [
"B",
"C",
"D",
"E",
"F",
"I",
"N",
"RET",
"S",
"T",
"W",
]
target-version = "py310"
[tool.ruff.flake8-tidy-imports]
ban-relative-imports = "all"
[tool.ruff.per-file-ignores]
"test/*" = ["S101", "B033", "N816", "N802"]
[tool.ruff.isort]
known-third-party = ["pydantic"]
known-first-party = ["migrations", "test"]