-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathruff.toml
127 lines (119 loc) · 3.72 KB
/
ruff.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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
line-length = 160
lint.select = ["ALL"]
lint.ignore = ["COM812", "COM819", "C901", "ANN", "DTZ", "TD", "D", "S101", "F405", "PD901", "Q000",
"PLC1901", "PLR0911", "PLR2004", "PLR0913", "FBT002", "G001", "G002", "G004", "CPY", "DOC201", "DOC501", "EM101", "TRY003", "ISC001"]
preview = true
# Disable some Pyflakes codes:
# D pydocstyle
# COM812 - comma at the end of the line
# COM819 - trailing comma prohibited
# Q000 - Remove bad quotes
# C901 - McCabe complexity
# S101 - Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
# F405 - Name may be undefined, or defined from star imports: module
# PD901 - df is perfect name for dataframe
# PLC1901 - Python falsey empty string and None are confusing, so let's not simplify this too much
# PLR0911 - While too many return statements is a code smell, it's not a hard rule
# PLR2004 - Magic numbers should be fixed on a case-by-case basis
# PLR0913 - Allow too many arguments, since I don't want
# FBT002 - default boolean values are fine
# G001 - Logging statement uses string formatting
# G002 - Logging statement uses string concatenation
# G004 - Logging uses f-string
# CPY - Disable copyright warning
# DOC201 - No blank lines allowed before class docstring
# DOC501 - No blank lines allowed before function docstring
# EM101 - Using separate class for exceptions is overhead in our small projects
# TRY003 - Allow too many except statements
# ISC001 - Allow implicit string concatenation. It does not work well with formatter
# Tempporarily disable some codes:
# ANN flake8-annotations
# DTZ flake8-datetimez
# TD flake8-todos
# F Pyflakes
# E/W pycodestyle
# C90 mccabe
# I isort
# N pep8-naming
# UP pyupgrade
# YTT flake8-2020
# ASYNC flake8-async
# S flake8-bandit
# BLE flake8-blind-except
# FBT flake8-boolean-trap
# B flake8-bugbear
# A flake8-builtins
# COM flake8-commas
# C4 flake8-comprehensions
# T10 flake8-debugger
# DJ flake8-django
# EM flake8-errmsg
# EXE flake8-executable
# FA flake8-future-annotations
# ISC flake8-implicit-str-concat
# ICN flake8-import-conventions
# G flake8-logging-format
# INP flake8-no-pep420
# PIE flake8-pie
# T20 flake8-print
# PYI flake8-pyi
# PT flake8-pytest-style
# Q flake8-quotes
# RSE flake8-raise
# RET flake8-return
# SLF flake8-self
# SIM flake8-simplify
# TID flake8-tidy-imports
# TCH flake8-type-checking
# INT flake8-gettext
# ARG flake8-unused-arguments
# PTH flake8-use-pathlib
# TD flake8-todos
# ERA eradicate
# PD pandas-vet
# PGH pygrep-hooks
# PL Pylint
# TRY tryceratops
# FLY flynt
# NPY NumPy-specific rules
# RUF Ruff-specific rules
# Allow autofix for all enabled rules (when `--fix`) is provided.
lint.fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"]
lint.unfixable = []
# Exclude a variety of commonly ignored directories.
lint.exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".mypy_cache",
".nox",
".pants.d",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"venv",
"docs"
]
target-version = "py311"
[lint.per-file-ignores]
"tests/**/*.py" = [
"ARG001", # unused arguments are needed for mocking
"S101", # asserts allowed in tests...
"SLF001", # access private methods allowed in tests...
]
"script/*" = [
"T201"
]
[format]
quote-style = "preserve"