forked from music-assistant/support
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
120 lines (105 loc) · 2.58 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
[build-system]
requires = ["setuptools~=62.3", "wheel~=0.37.1"]
build-backend = "setuptools.build_meta"
[project]
name = "mass"
version = "0.0.0"
license = {text = "Apache-2.0"}
description = "Music Assistant (BETA) Home Assistant Integration"
readme = "README.md"
requires-python = ">=3.11"
authors = [
{name = "The Music Assistant Authors", email = "[email protected]"}
]
classifiers = [
"Environment :: Console",
"Programming Language :: Python :: 3.11",
]
dependencies = [
"homeassistant==2023.11.3",
"music-assistant",
]
[project.optional-dependencies]
test = [
"black==23.11.0",
"codespell==2.2.6",
"mypy==1.7.1",
"ruff==0.1.7",
"pre-commit==3.5.0"
]
[tool.black]
target-version = ['py311']
line-length = 100
[tool.codespell]
ignore-words-list = "provid,hass,followings"
[tool.mypy]
python_version = "3.11"
check_untyped_defs = true
#disallow_any_generics = true
disallow_incomplete_defs = true
disallow_untyped_calls = false
disallow_untyped_defs = true
mypy_path = "music_assistant/"
no_implicit_optional = true
show_error_codes = true
warn_incomplete_stub = true
warn_redundant_casts = true
warn_return_any = true
warn_unreachable = true
warn_unused_configs = true
warn_unused_ignores = true
[[tool.mypy.overrides]]
ignore_missing_imports = true
module = [
"aiorun",
"coloredlogs",
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
pythonpath = [
"."
]
[tool.ruff]
fix = true
show-fixes = true
# enable later: "C90", "PTH", "TCH", "RET", "ANN"
select = ["E", "F", "W", "I", "N", "D", "UP", "PL", "Q", "SIM", "TID", "ARG"]
ignore = ["PLR2004", "N818"]
extend-exclude = ["app_vars.py"]
unfixable = ["F841"]
line-length = 100
target-version = "py311"
[tool.ruff.flake8-annotations]
allow-star-arg-any = true
suppress-dummy-args = true
[tool.ruff.flake8-builtins]
builtins-ignorelist = ["id"]
[tool.ruff.pydocstyle]
# Use Google-style docstrings.
convention = "pep257"
[tool.ruff.pylint]
max-branches=25
max-returns=15
max-args=10
max-statements=50
[tool.pylint."MESSAGES CONTROL"]
# Reasons disabled:
# format - handled by black
# duplicate-code - unavoidable
# too-many-instance-attributes - unavoidable
# used-before-assignment - false positives with TYPE_CHECKING structures
# fixme - we're still WIP
# too-many-instance-attributes - handled by ruff
# unused-argument - handled by ruff
# too-many-branches - handled by ruff
# too-many-return-statements - handled by ruff
disable = [
"format",
"duplicate-code",
"used-before-assignment",
"fixme",
"unused-argument",
"too-many-instance-attributes",
"too-many-branches",
"too-many-return-statements"
]