-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
102 lines (90 loc) · 2.97 KB
/
Copy pathpyproject.toml
File metadata and controls
102 lines (90 loc) · 2.97 KB
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
[tool.poetry]
name = "D-Link DCH-S150 HomeAssistant Integration"
version = "0.5.0-dev0"
description = "HomeAssistant integration for the defunct D-Link DCH-S150 motion sensor"
authors = ["UpDryTwist <tathamg@gmail.com>"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/UpDryTwist/dlink-dschs150-hass"
documentation = "https://dlink-dschs150-hass.readthedocs.io/en/latest/"
keywords = ["dlink_dschs150_hass"]
homepage = "https://github.com/UpDryTwist/dlink-dschs150-hass"
packages = [ { include = "custom_components" } ]
[lint.per-file-ignores]
"tests/*.py" = ["S101"]
[tool.bandit]
exclude_dirs = ["tests", "docs", "examples", ".venv", "dist", ".ruff_cache", ".github"]
[tool.creosote]
venvs = [".venv"]
paths = ["custom_components", "tests", "utils"]
deps-file = "pyproject.toml"
sections = ["tool.poetry.dependencies"]
[tool.codespell]
ignore-words-list = "D-Link,DCH-S150,hass,HASS,HomeAssistant,THIRDPARTY,Integration"
uri-ignore-words-list = "Classess"
skip = "pyproject.toml,build,dist,.venv,.git,*.png,*.jpg,*.jpeg,*.gif,*.bmp,*.ico,*.svg,*.pyc,*.pyo,*.pyd,*.so,*.dll,*.dylib,*.exe,*.bin,*.hex,*.obj,*.o,*.a,*.lib,*.dll.a,*.db,*.sqlite,*.sqlite3"
[tool.isort]
profile = "black"
# splits long import on multiple lines indented by 4 spaces
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
line_length = 88
indent = " "
# by default isort don't check module indexes
not_skip = "__init__.py"
# will group `import x` and `from x import` of the same module.
force_sort_within_sections = true
sections = "FUTURE,STDLIB,INBETWEENS,THIRDPARTY,FIRSTPARTY,LOCALFOLDER"
default_section = "THIRDPARTY"
known_first_party = "custom_components.dchs150_motion, tests"
combine_as_imports = true
[tool.pyright]
venv = ".venv"
venvPath = "."
pythonVersion = "3.13"
# TODO: fix for earlier Python versions
# Include this if you're feeling you have too much time on your hands
# typeCheckingMode = "strict"
[tool.coverage.run]
branch = true
[tool.coverage.report]
fail_under = 20
show_missing = true
[tool.pytest.ini_options]
addopts = "-qq --cov=custom_components.dchs150_motion"
console_output_style = "count"
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
[tool.poetry.dependencies]
# Numpy may require < 3.13
# Bleak as of this moment requires < 3.14
python = ">=3.13,<3.14"
xmltodict = "^0.14.2"
aiohttp = "^3.11.13"
pytz = "^2025.1"
voluptuous = "^0.15.2"
homeassistant = "^2025.2.5"
defusedxml = "^0.7.1"
PyCryptodome = "^3.22.0"
[tool.poetry.group.dev.dependencies]
poetry = "^2.1.2"
pytest = ">=7.4.3,<9.0.0"
pre-commit = "^4.0.1"
ruff = "^0.11.2"
black = "^25.1.0"
make = "^0.1.6.post2"
codespell = "^2.2.6"
sphinx = ">=7.2.6,<9.0.0"
sphinx-rtd-theme = "^3.0.2"
pyright = "^1.1.390"
pytest-cov = "^6.0.0"
bump-my-version = "^1.1.1"
copier = "^9.5.0"
pytest-homeassistant-custom-component = "^0.13.218"
pytest-asyncio = "^0.26.0"
pytest-socket = "^0.7.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"