forked from python/typeshed
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
103 lines (99 loc) · 2.67 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
[tool.black]
line_length = 130
target_version = ["py310"]
skip_magic_trailing_comma = true
# Exclude protobuf files because they have long line lengths
# Ideally, we could configure Black to allow longer line lengths
# for just these files, but doesn't seem possible yet.
force-exclude = ".*_pb2.pyi"
[tool.ruff]
line-length = 130
# Oldest supported Python version
target-version = "py38"
fix = true
exclude = [
# virtual environment
".env",
".venv",
"env",
# cache directories, etc.:
".git",
".mypy_cache",
".pytype",
]
[tool.ruff.lint]
select = [
"FA", # flake8-future-annotations
"I", # isort
# Only enable rules that have safe autofixes:
"F401", # Remove unused imports
"PYI009", # use `...`, not `pass`, in empty class bodies
"PYI010", # function bodies must be empty
"PYI012", # class bodies must not contain `pass`
"PYI013", # non-empty class bodies must not contain `...`
"PYI016", # duplicate union member
"PYI020", # quoted annotations are always unnecessary in stubs
"PYI025", # always alias `collections.abc.Set` as `AbstractSet` when importing it
"PYI032", # use `object`, not `Any`, as the second parameter to `__eq__`
"PYI055", # multiple `type[T]` usages in a union
"PYI058", # use `Iterator` as the return type for `__iter__` methods
"UP004", # Remove explicit `object` inheritance
"UP006", # PEP-585 autofixes
"UP007", # PEP-604 autofixes
"UP013", # Class-based syntax for TypedDicts
"UP014", # Class-based syntax for NamedTuples
"UP019", # Use str over typing.Text
"UP035", # import from typing, not typing_extensions, wherever possible
"UP039", # don't use parens after a class definition with no bases
]
[tool.ruff.lint.isort]
split-on-trailing-comma = false
combine-as-imports = true
extra-standard-library = [
"_typeshed",
"typing_extensions",
# Extra modules not recognized by Ruff/isort
"_ast",
"_bisect",
"_bootlocale",
"_codecs",
"_collections_abc",
"_compat_pickle",
"_compression",
"_csv",
"_ctypes",
"_curses",
"_decimal",
"_dummy_thread",
"_dummy_threading",
"_heapq",
"_imp",
"_json",
"_locale",
"_markupbase",
"_msi",
"_operator",
"_osx_support",
"_posixsubprocess",
"_py_abc",
"_pydecimal",
"_random",
"_sitebuiltins",
"_socket",
"_stat",
"_thread",
"_threading_local",
"_tkinter",
"_tracemalloc",
"_warnings",
"_weakref",
"_weakrefset",
"_winapi",
"genericpath",
"opcode",
"pyexpat",
]
known-first-party = ["parse_metadata", "utils"]
[tool.typeshed]
pyright_version = "1.1.342"
oldest_supported_python = "3.8"