forked from ajtudela/hass-smartbox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
118 lines (102 loc) · 2.35 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
[project]
name = "hass-smartbox"
version = "2.1.1"
description = "Home Assistant integration for Smartbox."
readme = "README.md"
requires-python = ">=3.13"
authors = [
{ name="Alberto Tudela", email="[email protected]" },
{ name="Delmael", email="[email protected]" },
{ name="graham33", email="[email protected]" },
]
classifiers = [
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
"License :: OSI Approved :: MIT License",
]
license = {file = "LICENSE"}
dependencies = [
"homeassistant==2025.2.0",
"smartbox>=2.1.3,<2.2.0",
]
[dependency-groups]
dev = [
"coverage>=7.6.8",
"homeassistant>=2025.1.0",
"homeassistant-stubs>=2025.1.0",
"pytest>=8.3.4",
"pytest-aiohttp>=1.0.5",
"pytest-cov>=6.0.0",
"pytest-homeassistant-custom-component==0.13.210",
"pytest-mock>=3.14.0",
"pytest-sugar>=1.0.0",
"tox>=4.24.1",
"ruff>=0.9.4",
"types-python-dateutil>=2.9.0.20241206",
"mypy>=1.14.1",
]
[project.urls]
Homepage = "https://github.com/ajtudela/hass-smartbox"
Issues = "https://github.com/ajtudela/hass-smartbox/issues"
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
[tool.mypy]
warn_unused_configs = true
[tool.ruff]
target-version = "py313"
fix = true
line-length = 90
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"E501", # line too long
"D203",
"D213",
"RUF006",
"FBT001",
"FBT002",
"PLR0913",
"A005",
"COM812"
]
[tool.ruff.lint.flake8-pytest-style]
fixture-parentheses = false
mark-parentheses = false
[tool.ruff.lint.isort]
force-sort-within-sections = true
combine-as-imports = true
split-on-trailing-comma = false
[tool.ruff.lint.mccabe]
max-complexity = 25
[tool.ruff.lint.per-file-ignores]
"tests/*" = [
"D10",
"S105",
"S101",
"ANN201",
"ANN001",
"N802",
"ANN202",
"PTH123",
"ASYNC230",
"PT012",
"DTZ001",
"ANN003",
"ANN002",
"A001",
"ARG001",
"ANN204",
"SLF001",
"S106",
"PLR2004",
"B018",
"PLR0912",
"PT011",
]
[tool.tox]
env_list = ["3.13"]
[tool.tox.env_run_base]
description = "Run test under {base_python}"
dependency_groups = ["dev"]
commands = [["python", "-m", "pytest", "--cov=custom_components.smartbox", "--cov-append", "--cov-report=term", "--cov-report=xml", "--junitxml=junit.xml"]]