forked from xonsh/xonsh
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.cfg
158 lines (147 loc) · 4.77 KB
/
setup.cfg
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# Use of pytest --flake8 is deprecated in favor of flake8 direct.
# Thus the developer's IDE can use the same lint config as CI.
# pytest-flake8 --ignore is an incompatible superset of flake8 --ignore, --per-file-ignores and --exclude
# and we don't want to maintain the same list in 2 formats.
[flake8]
max-line-length = 180
exclude =
docs/,
*/ply/,
parser*_table.py,
completion_parser_table.py,
build/,
dist/,
setup.py,
.vscode/,
feedstock,
rever,
.venv*/,
.local.out*/
# lint nits that are acceptable in Xonsh project:
ignore =
# Missing docstring in public module
D100,
# Missing docstring in public class
D101,
# Missing docstring in public method
D102,
# Missing docstring in public function
D103,
# Missing docstring in public package
D104,
# Missing docstring in magic method
D105,
# One-line docstring should fit on one line with quotes
D200,
# No blank lines allowed after function docstring
D202,
# 1 blank line required between summary line and description
D205,
# Docstring is under-indented
D207,
# Docstring is over-indented
D208,
# Multi-line docstring closing quotes should be on a separate line
D209,
# No whitespaces allowed surrounding docstring text
D210,
# Use r""" if any backslashes in a docstring
D301,
# First line should end with a period
D400,
# First line should be in imperative mood
D401,
# First word of the first line should be properly capitalized
D403,
# First word of the docstring should not be `This`
D404,
# Section name should end with a newline
D406,
# Section underline should match the length of its name
D409,
# Missing blank line before section
D411,
# Missing dashed underline after section
D407,
# continuation line missing indentation or outdented
E122,
# whitespace before ':'
E203,
# module level import not at top of file
E402,
# line break before binary operators is a good thing
W503,
# accept lambda assigned to a variable
E731,
per-file-ignores =
# flake8 gives incorrect unused import errors, F401
tests/tools.py:E128,
# undefined name, asserts removed
tests/test_builtins.py:F821 B011,
xonsh/ast.py:F401,
xonsh/built_ins.py:F821 E721,
xonsh/built_ins.py:E721,
xonsh/commands_cache.py:F841,
xonsh/history.py:F821,
xonsh/platform.py:F401 E305,
xonsh/proc.py:E261 E265,
xonsh/ptk/key_bindings.py:F841,
xonsh/ptk/shell.py:E731,
xonsh/pyghooks.py:F821,
xonsh/readline_shell.py:F401,
xonsh/style_tools.py:F821 E305,
xonsh/timings.py:F401,
xonsh/tokenize.py:F821 F841,
xonsh/tools.py:E731 E305,
xonsh/xonfig.py:E731,
# remove these later
xonsh/color_tools.py:E305
xonsh/completers/_aliases.py:E305,
xonsh/completers/python.py:E722,
xonsh/inspectors.py:E722
xonsh/lexer.py:E741,
xonsh/parsers/context_check.py:E305,
xonsh/parsers/base.py:E741,
xonsh/style_tools.py:E305,
xonsh/tools.py:E305,
xonsh/winutils.py:E305,
# B001-bare-except
xonsh/xoreutils/*.py:E722 E305,B001
# docstring is considered as invalid statement by bugbear
# Found useless expression. Either assign it to a variable or remove it.
# this can be removed once issue - https://github.com/PyCQA/flake8-bugbear/issues/208 is solved
xonsh/parsers/completion_context.py: B018
# pydocstyle plugin
docstring-convention=numpy
[mypy]
# --- https://mypy.readthedocs.io/en/stable/config_file.html
# try to keep all under .cache directory
cache_dir = .cache/mypy/
# warn_unused_ignores = True
warn_unused_configs = True
warn_no_return = False
; a regex to exclude certain directories
exclude = ((xonsh/ply)|(xontrib/(mpl.*py|distributed.py|jedi.py)))
;match dmypy semantics - https://github.com/python/mypy/issues/8046
local_partial_types = True
; since v0.991 implicit optional became True by default.
no_implicit_optional=False
# report
show_error_context = True
show_column_numbers = True
show_error_codes = True
pretty = True
# the __init__ files have dynamic check - ignoring the attribute error. others are generated files
# top level package name only ignores the __init__.py file.
[mypy-xonsh.parser_table,xonsh.completion_parser_table,xonsh.parsers.parser_table.*,xonsh.parsers.completion_parser_table.*,xonsh,xonsh.prompt,xonsh.history,xonsh.completers,xonsh.procs]
ignore_errors = True
# 3rd party libraries that we dont have control over
[mypy-zmq.*,setproctitle,xonsh.ply.*,winreg.*,pygments.*,importlib_resources.*,nt.*,prompt_toolkit.*,distro.*,conda_suggest.*,_winreg.*]
ignore_missing_imports = True
ignore_errors = True
[tool:pytest]
cache_dir = .cache/pytest
markers =
news: check changelog unit is valid rst
testpaths =
tests