-
Notifications
You must be signed in to change notification settings - Fork 15
/
pyproject.toml
120 lines (108 loc) · 3.14 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 >= 35.0.2", "wheel >= 0.29.0", "poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.isort]
combine_as_imports = true
default_section = "THIRDPARTY"
force_grid_wrap = 0
force_sort_within_sections = true
forced_separate = "tests"
include_trailing_comma = true
indent = " "
known_first_party = "examples,script,pyhilo,tests"
line_length = 88
multi_line_output = 3
not_skip = "__init__.py"
sections = "FUTURE,STDLIB,INBETWEENS,THIRDPARTY,FIRSTPARTY,LOCALFOLDER"
use_parentheses = true
[tool.mypy]
check_untyped_defs = true
disallow_incomplete_defs = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_decorators = true
disallow_untyped_defs = true
follow_imports = "silent"
ignore_missing_imports = true
no_implicit_optional = true
python_version = "3.11"
show_error_codes = true
strict_equality = true
warn_incomplete_stub = true
warn_redundant_casts = true
warn_return_any = true
warn_unreachable = true
warn_unused_configs = true
warn_unused_ignores = true
exclude = ".venv/.*"
[tool.poetry]
name = "python-hilo"
version = "2024.10.2"
description = "A Python3, async interface to the Hilo API"
readme = "README.md"
authors = ["David Vallee Delisle <[email protected]>"]
maintainers = ["David Vallee Delisle <[email protected]>"]
license = "MIT"
repository = "https://github.com/dvd-dev/python-hilo"
packages = [
{ include = "pyhilo" },
]
classifiers = [
"License :: OSI Approved :: MIT License",
"Framework :: aiohttp",
"Topic :: Home Automation",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
[tool.poetry.dependencies]
aiohttp = ">=3.8.0"
aiofiles = ">=23.2.1"
aiosignal = ">=1.2.0"
async-timeout = ">=4.0.0"
attrs = ">=21.2.0"
backoff = ">=1.11.1"
python-dateutil = ">=2.8.2"
ruyaml = ">=0.91.0"
python = "^3.9.0"
voluptuous = ">=0.13.1"
websockets = ">=8.1,<15.0"
[tool.poetry.dev-dependencies]
Sphinx = "^7.1.2"
aresponses = "^3.0.0"
asynctest = "^0.13.0"
pre-commit = "^4.0.0"
pytest = "^8.0.0"
pytest-aiohttp = "^1.0.4"
pytest-cov = "^6.0.0"
sphinx-rtd-theme = "^3.0.0"
types-pytz = "^2024.1.0"
[tool.pylint.BASIC]
expected-line-ending-format = "LF"
[tool.pylint."MESSAGES CONTROL"]
# Reasons disabled:
# bad-continuation - Invalid attack on black
# cyclic-import - Imports under TYPE_CHECKING still get evaluated
# unnecessary-pass - This can hurt readability
disable = [
"bad-continuation",
"cyclic-import",
"unnecessary-pass"
]
[tool.pylint.REPORTS]
score = false
[tool.pylint.SIMILARITIES]
# Minimum lines number of a similarity.
# We set this higher because of some cases where V2 and V3 functionality are
# similar, but abstracting them isn't feasible.
min-similarity-lines = 4
# Ignore comments when computing similarities.
ignore-comments = true
# Ignore docstrings when computing similarities.
ignore-docstrings = true
# Ignore imports when computing similarities.
ignore-imports = true