forked from skodaconnect/myskoda
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
99 lines (87 loc) · 2.2 KB
/
pyproject.toml
File metadata and controls
99 lines (87 loc) · 2.2 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
[project]
name = "myskoda"
dynamic = ["version"]
description = "Library for interaction with the MySkoda APIs."
authors = [
{ name = "Frederick Gnodtke", email = "frederick@gnodtke.net" },
{ name = "WebSpider", email = "bacardicoke@gmail.com" },
{ name = "Fabrice Devaux", email = "fabrice.devaux@gmail.com" },
]
readme = "README.md"
requires-python = ">=3.13.0"
dependencies = [
"aiohttp ~=3.11",
"aiomqtt ~=2.2",
"asyncio ~=3.4",
"mashumaro[orjson] ~=3.13",
"pyjwt ~=2.10",
"pyyaml ~=6.0",
]
[dependency-groups]
dev = [
"aioresponses ~=0.7",
"pyright ~=1.1",
"pytest ~=8.0",
"pytest-asyncio ~=0.0",
"pytest-cov >=5,<7",
"ruff >=0.6.4,<0.12.0",
"setuptools >=75.2,<77.0",
]
[project.optional-dependencies]
cli = [
"asyncclick ~=8.1",
"coloredlogs ~=15.0",
"termcolor ~=3.0",
"pygments ~=2.18",
"python-dateutil ~=2.9",
]
docs = [
"mkdocs ~=1.6",
"mkdocstrings[python] >=0.26.1,<0.30.0",
"mkdocs-gen-files ~=0.5",
"mkdocs-literate-nav ~=0.6",
]
[build-system]
requires = ["hatchling", "uv-dynamic-versioning"]
build-backend = "hatchling.build"
[tool.hatch.version]
source = "uv-dynamic-versioning"
[project.scripts]
myskoda = "myskoda.cli:cli"
[tool.ruff]
line-length = 100
target-version = "py313"
[tool.ruff.lint]
ignore = [
"COM812", # missing-trailing-comma
"D101", # undocumented-public-class
"D107", # undocumented-public-init
"D203", # one-blank-line-before-class
"D211", # blank-line-before-class
"D213", # multi-line-summary-second-line
"FBT001", # boolean-type-hint-positional-argument
"FBT002", # boolean-default-value-positional-argument
"FIX002", # line-contains-todo
"ISC001", # single-line-implicit-string-concatenation
"S101", # assert (used in tests)
"T201", # print
"TD003", # missing-todo-link
]
select = ["ALL"]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.lint.per-file-ignores]
"tests/*" = ["D"]
"**/test_*.py" = ["D"]
"myskoda/cli/*" = ["D"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
log_cli = true
log_cli_level = "INFO"
log_date_format = "%Y-%m-%d %H:%M:%S"
log_format = "%(asctime)s %(levelname)s %(message)s"
[tool.coverage.run]
omit = ["myskoda/cli/*"]
[tool.pyright]
venvPath = "."
venv = ".venv"