|
1 | | -[build-system] |
2 | | -build-backend = "uv_build" |
3 | | -requires = [ "uv-build>=0.9,<0.10" ] |
4 | | - |
5 | | -[project] |
6 | | -name = "sunsynk" |
7 | | -version = "0.9.3" |
8 | | -description = "Library to interface Deye/Sunsynk Hybrid Inverters" |
9 | | -readme = "README.md" |
10 | | -keywords = [ "asyncio", "deye", "inverter", "modbus", "sunsynk" ] |
11 | | -license = "Apache-2.0" |
12 | | -license-files = [ "LICENSE" ] |
13 | | -authors = [ { name = "Johann Kellerman", email = "kellerza@gmail.com" } ] |
14 | | -requires-python = ">=3.12" |
15 | | -classifiers = [ |
16 | | - "Development Status :: 5 - Production/Stable", |
17 | | - "Intended Audience :: Developers", |
18 | | - "Natural Language :: English", |
19 | | - "Programming Language :: Python :: 3 :: Only", |
20 | | - "Programming Language :: Python :: 3.12", |
21 | | - "Programming Language :: Python :: 3.13", |
22 | | - "Programming Language :: Python :: 3.14", |
23 | | -] |
24 | | -dependencies = [ |
25 | | - "attrs>=25,<26", |
26 | | - "cattrs>=25,<26", |
27 | | - "mqtt-entity[options]>=1,<2", |
28 | | - "prettytable>=3.17,<4", |
29 | | - "pymodbus[serial]==3.11.4", |
30 | | -] |
31 | | -optional-dependencies.solarman = [ "pysolarmanv5==3.0.6" ] |
32 | | -optional-dependencies.umodbus = [ "async-modbus==0.2.3", "connio==0.2", "umodbus==1.0.4" ] |
33 | | -urls.Homepage = "https://kellerza.github.io/sunsynk/" |
34 | | -urls.Source = "https://github.com/kellerza/sunsynk" |
35 | | - |
36 | | -[dependency-groups] |
37 | | -dev = [ |
38 | | - "codespell", |
39 | | - "pyproject-fmt", |
40 | | - "pyright", |
41 | | - "pytest", |
42 | | - "pytest-asyncio", |
43 | | - "pytest-cov", |
44 | | - "pytest-github-actions-annotate-failures", |
45 | | - "types-pyyaml", |
46 | | -] |
47 | | - |
48 | | -[tool.uv.build-backend] |
49 | | -module-name = [ "sunsynk", "ha_addon_sunsynk_multi" ] |
50 | | - |
51 | | -[tool.ruff] |
52 | | -include = [ "src/**/*.py" ] |
53 | | -format.line-ending = "lf" |
54 | | -format.docstring-code-format = true |
55 | | -lint.select = [ |
56 | | - "A", # flake8-builtins |
57 | | - "ASYNC", # flake8-async |
58 | | - "B", # bugbear |
59 | | - "D", # pydocstyle |
60 | | - "E", # pycodestyle |
61 | | - "F", # pyflakes |
62 | | - "I", # isort |
63 | | - "PGH", # pygrep-hooks |
64 | | - "PIE", # flake8-pie |
65 | | - "PL", # pylint |
66 | | - "PTH", # flake8-pathlib |
67 | | - "PYI", # flake8-pyi |
68 | | - "RUF", # ruff |
69 | | - "UP", # pyupgrade |
70 | | - "W", # pycodestyle |
71 | | -] |
72 | | -lint.ignore = [ "D203", "D213", "E203", "E501", "PLR2004" ] |
73 | | -lint.pylint.max-args = 7 |
74 | | - |
75 | | -[tool.codespell] |
76 | | -skip = "data,*.map,package-lock.json,*.map,**/cache/*,**/node_modules/*" |
77 | | -ignore-words-list = "HASS,hass,Hass,ist" |
78 | | - |
79 | | -[tool.pytest.ini_options] |
80 | | -pythonpath = [ ".", "src" ] |
81 | | -filterwarnings = "ignore:.+@coroutine.+deprecated.+" |
82 | | -testpaths = "src\tests" |
83 | | -norecursedirs = [ ".git", "modules" ] |
84 | | -log_cli = true |
85 | | -log_cli_level = "DEBUG" |
86 | | -asyncio_mode = "auto" |
87 | | -addopts = "--cov=src --cov-report xml:cov.xml" |
88 | | - |
89 | | -# [tool.mypy] |
90 | | -# disallow_untyped_defs = true |
91 | | -# ignore_missing_imports = true |
92 | | -# exclude = [ "build" ] |
93 | | -# enable_error_code = [ "ignore-without-code" ] |
| 1 | +[build-system] |
| 2 | +build-backend = "uv_build" |
| 3 | +requires = [ "uv-build>=0.9,<0.10" ] |
| 4 | + |
| 5 | +[project] |
| 6 | +name = "sunsynk" |
| 7 | +version = "0.9.3" |
| 8 | +description = "Library to interface Deye/Sunsynk Hybrid Inverters" |
| 9 | +readme = "README.md" |
| 10 | +keywords = [ "asyncio", "deye", "inverter", "modbus", "sunsynk" ] |
| 11 | +license = "Apache-2.0" |
| 12 | +license-files = [ "LICENSE" ] |
| 13 | +authors = [ { name = "Johann Kellerman", email = "kellerza@gmail.com" } ] |
| 14 | +requires-python = ">=3.12" |
| 15 | +classifiers = [ |
| 16 | + "Development Status :: 5 - Production/Stable", |
| 17 | + "Intended Audience :: Developers", |
| 18 | + "Natural Language :: English", |
| 19 | + "Programming Language :: Python :: 3 :: Only", |
| 20 | + "Programming Language :: Python :: 3.12", |
| 21 | + "Programming Language :: Python :: 3.13", |
| 22 | + "Programming Language :: Python :: 3.14", |
| 23 | +] |
| 24 | +dependencies = [ |
| 25 | + "attrs>=25,<26", |
| 26 | + "cattrs>=25,<26", |
| 27 | + "mqtt-entity[options]>=1,<2", |
| 28 | + "prettytable>=3.17,<4", |
| 29 | + "pymodbus[serial]==3.11.4", |
| 30 | +] |
| 31 | +optional-dependencies.solarman = [ "pysolarmanv5==3.0.6" ] |
| 32 | +optional-dependencies.umodbus = [ "async-modbus==0.2.3", "connio==0.2", "umodbus==1.0.4" ] |
| 33 | +urls.Homepage = "https://kellerza.github.io/sunsynk/" |
| 34 | +urls.Source = "https://github.com/kellerza/sunsynk" |
| 35 | + |
| 36 | +[dependency-groups] |
| 37 | +dev = [ |
| 38 | + "codespell", |
| 39 | + "pyproject-fmt", |
| 40 | + "pyright", |
| 41 | + "pytest", |
| 42 | + "pytest-asyncio", |
| 43 | + "pytest-cov", |
| 44 | + "pytest-github-actions-annotate-failures", |
| 45 | + "types-pyyaml", |
| 46 | +] |
| 47 | + |
| 48 | +[tool.uv] |
| 49 | +build-backend.module-name = [ "sunsynk", "ha_addon_sunsynk_multi" ] |
| 50 | + |
| 51 | +[tool.ruff] |
| 52 | +include = [ "src/**/*.py" ] |
| 53 | +format.line-ending = "lf" |
| 54 | +format.docstring-code-format = true |
| 55 | +lint.select = [ |
| 56 | + "A", # flake8-builtins |
| 57 | + "ASYNC", # flake8-async |
| 58 | + "B", # bugbear |
| 59 | + "D", # pydocstyle |
| 60 | + "E", # pycodestyle |
| 61 | + "F", # pyflakes |
| 62 | + "I", # isort |
| 63 | + "PGH", # pygrep-hooks |
| 64 | + "PIE", # flake8-pie |
| 65 | + "PL", # pylint |
| 66 | + "PTH", # flake8-pathlib |
| 67 | + "PYI", # flake8-pyi |
| 68 | + "RUF", # ruff |
| 69 | + "UP", # pyupgrade |
| 70 | + "W", # pycodestyle |
| 71 | +] |
| 72 | +lint.ignore = [ "D203", "D213", "E203", "E501", "PLR2004" ] |
| 73 | +lint.pylint.max-args = 7 |
| 74 | + |
| 75 | +[tool.codespell] |
| 76 | +skip = "data,*.map,package-lock.json,*.map,**/cache/*,**/node_modules/*" |
| 77 | +ignore-words-list = "HASS,hass,Hass,ist" |
| 78 | + |
| 79 | +[tool.pytest] |
| 80 | +ini_options.pythonpath = [ ".", "src" ] |
| 81 | +ini_options.filterwarnings = "ignore:.+@coroutine.+deprecated.+" |
| 82 | +ini_options.testpaths = "src\tests" |
| 83 | +ini_options.norecursedirs = [ ".git", "modules" ] |
| 84 | +ini_options.log_cli = true |
| 85 | +ini_options.log_cli_level = "DEBUG" |
| 86 | +ini_options.asyncio_mode = "auto" |
| 87 | +ini_options.addopts = "--cov=src --cov-report xml:cov.xml" |
0 commit comments