Move isort, pylint, and pytest configs to pyproject.toml (#40335)
This commit is contained in:
parent
ed9a40874d
commit
0444f3de14
3 changed files with 114 additions and 79 deletions
65
pylintrc
65
pylintrc
|
@ -1,65 +0,0 @@
|
|||
[MASTER]
|
||||
ignore=tests
|
||||
# Use a conservative default here; 2 should speed up most setups and not hurt
|
||||
# any too bad. Override on command line as appropriate.
|
||||
# Disabled for now: https://github.com/PyCQA/pylint/issues/3584
|
||||
#jobs=2
|
||||
load-plugins=pylint_strict_informational
|
||||
persistent=no
|
||||
extension-pkg-whitelist=ciso8601,cv2
|
||||
|
||||
[BASIC]
|
||||
good-names=id,i,j,k,ex,Run,_,fp,T,ev
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
# Reasons disabled:
|
||||
# format - handled by black
|
||||
# locally-disabled - it spams too much
|
||||
# duplicate-code - unavoidable
|
||||
# cyclic-import - doesn't test if both import on load
|
||||
# abstract-class-little-used - prevents from setting right foundation
|
||||
# unused-argument - generic callbacks and setup methods create a lot of warnings
|
||||
# too-many-* - are not enforced for the sake of readability
|
||||
# too-few-* - same as too-many-*
|
||||
# abstract-method - with intro of async there are always methods missing
|
||||
# inconsistent-return-statements - doesn't handle raise
|
||||
# too-many-ancestors - it's too strict.
|
||||
# wrong-import-order - isort guards this
|
||||
disable=
|
||||
format,
|
||||
abstract-class-little-used,
|
||||
abstract-method,
|
||||
cyclic-import,
|
||||
duplicate-code,
|
||||
inconsistent-return-statements,
|
||||
locally-disabled,
|
||||
not-context-manager,
|
||||
too-few-public-methods,
|
||||
too-many-ancestors,
|
||||
too-many-arguments,
|
||||
too-many-branches,
|
||||
too-many-instance-attributes,
|
||||
too-many-lines,
|
||||
too-many-locals,
|
||||
too-many-public-methods,
|
||||
too-many-return-statements,
|
||||
too-many-statements,
|
||||
too-many-boolean-expressions,
|
||||
unused-argument,
|
||||
wrong-import-order
|
||||
# enable useless-suppression temporarily every now and then to clean them up
|
||||
enable=
|
||||
use-symbolic-message-instead
|
||||
|
||||
[REPORTS]
|
||||
score=no
|
||||
|
||||
[TYPECHECK]
|
||||
# For attrs
|
||||
ignored-classes=_CountingAttr
|
||||
|
||||
[FORMAT]
|
||||
expected-line-ending-format=LF
|
||||
|
||||
[EXCEPTIONS]
|
||||
overgeneral-exceptions=BaseException,Exception,HomeAssistantError
|
114
pyproject.toml
114
pyproject.toml
|
@ -1,3 +1,117 @@
|
|||
[tool.black]
|
||||
target-version = ["py37", "py38"]
|
||||
exclude = 'generated'
|
||||
|
||||
[tool.isort]
|
||||
# https://github.com/PyCQA/isort/wiki/isort-Settings
|
||||
profile = "black"
|
||||
# will group `import x` and `from x import` of the same module.
|
||||
force_sort_within_sections = true
|
||||
known_first_party = [
|
||||
"homeassistant",
|
||||
"tests",
|
||||
]
|
||||
forced_separate = [
|
||||
"tests",
|
||||
]
|
||||
combine_as_imports = true
|
||||
|
||||
[tool.pylint.MASTER]
|
||||
ignore = [
|
||||
"tests",
|
||||
]
|
||||
# Use a conservative default here; 2 should speed up most setups and not hurt
|
||||
# any too bad. Override on command line as appropriate.
|
||||
# Disabled for now: https://github.com/PyCQA/pylint/issues/3584
|
||||
#jobs = 2
|
||||
load-plugins = [
|
||||
"pylint_strict_informational",
|
||||
]
|
||||
persistent = false
|
||||
extension-pkg-whitelist = [
|
||||
"ciso8601",
|
||||
"cv2",
|
||||
]
|
||||
|
||||
[tool.pylint.BASIC]
|
||||
good-names = [
|
||||
"_",
|
||||
"ev",
|
||||
"ex",
|
||||
"fp",
|
||||
"i",
|
||||
"id",
|
||||
"j",
|
||||
"k",
|
||||
"Run",
|
||||
"T",
|
||||
]
|
||||
|
||||
[tool.pylint."MESSAGES CONTROL"]
|
||||
# Reasons disabled:
|
||||
# format - handled by black
|
||||
# locally-disabled - it spams too much
|
||||
# duplicate-code - unavoidable
|
||||
# cyclic-import - doesn't test if both import on load
|
||||
# abstract-class-little-used - prevents from setting right foundation
|
||||
# unused-argument - generic callbacks and setup methods create a lot of warnings
|
||||
# too-many-* - are not enforced for the sake of readability
|
||||
# too-few-* - same as too-many-*
|
||||
# abstract-method - with intro of async there are always methods missing
|
||||
# inconsistent-return-statements - doesn't handle raise
|
||||
# too-many-ancestors - it's too strict.
|
||||
# wrong-import-order - isort guards this
|
||||
disable = [
|
||||
"format",
|
||||
"abstract-class-little-used",
|
||||
"abstract-method",
|
||||
"cyclic-import",
|
||||
"duplicate-code",
|
||||
"inconsistent-return-statements",
|
||||
"locally-disabled",
|
||||
"not-context-manager",
|
||||
"too-few-public-methods",
|
||||
"too-many-ancestors",
|
||||
"too-many-arguments",
|
||||
"too-many-branches",
|
||||
"too-many-instance-attributes",
|
||||
"too-many-lines",
|
||||
"too-many-locals",
|
||||
"too-many-public-methods",
|
||||
"too-many-return-statements",
|
||||
"too-many-statements",
|
||||
"too-many-boolean-expressions",
|
||||
"unused-argument",
|
||||
"wrong-import-order",
|
||||
]
|
||||
enable = [
|
||||
#"useless-suppression", # temporarily every now and then to clean them up
|
||||
"use-symbolic-message-instead",
|
||||
]
|
||||
|
||||
[tool.pylint.REPORTS]
|
||||
score = false
|
||||
|
||||
[tool.pylint.TYPECHECK]
|
||||
ignored-classes = [
|
||||
"_CountingAttr", # for attrs
|
||||
]
|
||||
|
||||
[tool.pylint.FORMAT]
|
||||
expected-line-ending-format = "LF"
|
||||
|
||||
[tool.pylint.EXCEPTIONS]
|
||||
overgeneral-exceptions = [
|
||||
"BaseException",
|
||||
"Exception",
|
||||
"HomeAssistantError",
|
||||
]
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
testpaths = [
|
||||
"tests",
|
||||
]
|
||||
norecursedirs = [
|
||||
".git",
|
||||
"testing_config",
|
||||
]
|
||||
|
|
14
setup.cfg
14
setup.cfg
|
@ -14,10 +14,6 @@ classifier =
|
|||
Programming Language :: Python :: 3.7
|
||||
Topic :: Home Automation
|
||||
|
||||
[tool:pytest]
|
||||
testpaths = tests
|
||||
norecursedirs = .git testing_config
|
||||
|
||||
[flake8]
|
||||
exclude = .venv,.git,.tox,docs,venv,bin,lib,deps,build
|
||||
doctests = True
|
||||
|
@ -35,16 +31,6 @@ ignore =
|
|||
D202,
|
||||
W504
|
||||
|
||||
[isort]
|
||||
# https://github.com/timothycrosley/isort
|
||||
# https://github.com/timothycrosley/isort/wiki/isort-Settings
|
||||
profile = black
|
||||
# will group `import x` and `from x import` of the same module.
|
||||
force_sort_within_sections = true
|
||||
known_first_party = homeassistant,tests
|
||||
forced_separate = tests
|
||||
combine_as_imports = true
|
||||
|
||||
[mypy]
|
||||
python_version = 3.7
|
||||
ignore_errors = true
|
||||
|
|
Loading…
Add table
Reference in a new issue