1+ #
2+ # Licensed to the Apache Software Foundation (ASF) under one or more
3+ # contributor license agreements. See the NOTICE file distributed with
4+ # this work for additional information regarding copyright ownership.
5+ # The ASF licenses this file to You under the Apache License, Version 2.0
6+ # (the "License"); you may not use this file except in compliance with
7+ # the License. You may obtain a copy of the License at
8+ #
9+ # http://www.apache.org/licenses/LICENSE-2.0
10+ #
11+ # Unless required by applicable law or agreed to in writing, software
12+ # distributed under the License is distributed on an "AS IS" BASIS,
13+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+ # See the License for the specific language governing permissions and
15+ # limitations under the License.
16+ #
17+
18+ exclude = [
19+ " .bzr" ,
20+ " .direnv" ,
21+ " .eggs" ,
22+ " .git" ,
23+ " .git-rewrite" ,
24+ " .hg" ,
25+ " .ipynb_checkpoints" ,
26+ " .mypy_cache" ,
27+ " .nox" ,
28+ " .pants.d" ,
29+ " .pyenv" ,
30+ " .pytest_cache" ,
31+ " .pytype" ,
32+ " .ruff_cache" ,
33+ " .svn" ,
34+ " .tox" ,
35+ " .venv" ,
36+ " .vscode" ,
37+ " __pypackages__" ,
38+ " _build" ,
39+ " buck-out" ,
40+ " build" ,
41+ " dist" ,
42+ " node_modules" ,
43+ " site-packages" ,
44+ " venv" ,
45+ " *.pxd" ,
46+ " *.pyx" ,
47+ " *pb2*.py" ,
48+ " **/examples/**/*.py" ,
49+ " **/examples/**/*.ipynb" ,
50+ " **/portability/api/**/*.py" ,
51+ " **/portability/api/__init__.py" ,
52+ ]
53+
54+ target-version = " py310"
55+
56+ src = [" apache_beam" ]
57+
58+ [lint ]
59+ select = [" E9" , " PL" , " F821" , " F822" , " F823" ]
60+ ignore = [
61+ # Ignored Pylint Checks
62+ " PLC0415" , # import-outside-toplevel
63+ " PLR2004" , # magic-value-comparison
64+ " PLR0913" , # too-many-arguments
65+ " PLR0912" , # too-many-branches
66+ " PLW0108" , # unnecessary-lambda
67+ " PLW2901" , # redefined-loop-name
68+ " PLR0915" , # too-many-statements
69+ " PLR1714" , # repeated-equality-comparison
70+ " PLR0911" , # too-many-return-statements
71+ " PLR5501" , # collapsible-else-if
72+ " PLW0603" , # global-statement
73+ " PLR1730" , # if-stmt-min-max
74+ " PLW1641" , # eq-without-hash
75+ " PLW0602" , # global-variable-not-assigned
76+ " PLC1802" , # len-test
77+ " PLC3002" , # unnecessary-direct-lambda-call
78+ " PLW0642" , # self-or-cls-assignment
79+ " PLR1733" , # unnecessary-dict-index-lookup
80+ " PLR0402" , # manual-from-import
81+ " PLC0132" , # type-param-name-mismatch
82+ " PLC0206" , # dict-index-missing-items
83+ " PLC0207" , # missing-maxsplit-arg
84+ " PLR1704" , # redefined-argument-from-local
85+ " PLR1711" , # useless-return
86+ " PLW0406" , # import-self
87+ " PLW3301" , # nested-min-max
88+ " PLR2044" , # empty-comment
89+ ]
90+
91+ # Allow fix for all enabled rules (when `--fix`) is provided.
92+ fixable = [" ALL" ]
93+ unfixable = []
94+
95+ # Allow unused variables when underscore-prefixed.
96+ dummy-variable-rgx = " ^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
0 commit comments