Decode River 3 separately and accumulate partial reports against a field-level checklist. Keep watch mode running after completion. Label fields and nested records from the pinned pr705 schema. Preserve unknown values and document unverified meanings and routing. Add synthetic regressions, the River 3 field reference, schema-generation tooling, and upstream attribution.
58 lines
1.4 KiB
TOML
58 lines
1.4 KiB
TOML
[project]
|
|
name = "bmspy"
|
|
version = "2.1"
|
|
description = "bmspy is a tool to get information from a xiaoxiang-type BMS system"
|
|
authors = [{name = "Timothy Allen", email = "tim@treehouse.org.za"}]
|
|
license = "CC-BY-NC-SA-4.0"
|
|
license-files = ["LICENSE"]
|
|
readme = "README.md"
|
|
requires-python = ">=3.12,<4.0"
|
|
dependencies = [
|
|
"pyserial>=3.5",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
influxdb = [
|
|
"influxdb3-python>=0.19.0",
|
|
"typing-extensions>=4.13",
|
|
]
|
|
prometheus = ["prometheus-client>=0.11.0"]
|
|
ecoflow-bt = [
|
|
"bleak>=0.21.0",
|
|
"ecdsa>=0.19.0",
|
|
"pycryptodome>=3.20.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
bmspy = "bmspy:main"
|
|
bmspy-server = "bmspy.server:main"
|
|
bmspy-influxdb = "bmspy.influxdb:main"
|
|
bmspy-prometheus = "bmspy.prometheus:main"
|
|
bmspy-ups = "bmspy.ups:main"
|
|
bmspy-ecoflow-login = "bmspy.ecoflow_login:main"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest>=8.0",
|
|
"pytest-cov>=7.1.0",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["uv_build>=0.12.5,<0.13"]
|
|
build-backend = "uv_build"
|
|
|
|
[tool.uv.build-backend]
|
|
module-root = ""
|
|
source-include = [
|
|
"tests/**", "docs/ecoflow-river2-fields.md", "docs/ecoflow-river3-fields.md",
|
|
"tools/generate_ecoflow_river3_schema.py", "tools/ecoflow-bt.py", "*.service", "uv.lock",
|
|
]
|
|
# Do not distribute the external Type 7 table or the unfinished local USB stub.
|
|
source-exclude = ["/bmspy/ecoflow_keydata.py", "/bmspy/usbhid.py"]
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"if __name__ == .__main__.:",
|
|
]
|