Update documentation links

This commit is contained in:
Edward Brown 2026-05-01 13:14:23 +01:00
parent e965ce23c9
commit 1226393564
3 changed files with 17 additions and 6 deletions

View file

@ -24,7 +24,4 @@ If you're building a custom IoT device, a script to monitor your system, or just
## Documentation
[See Documentation](docs/index.md)
- [Quick Start](docs/quick-start.md)
- [Control Types](docs/controls.md)
[See Documentation](https://fmtr.link/haco/doc)

View file

@ -0,0 +1,6 @@
- Refactored core models from `dataclass` to Pydantic across active entities (`Base`, `Device`, `Control`, `Capability`, topic models, and concrete control types like `Switch`, `Climate`, `Sensor`, etc.).
- Replaced dataclass-specific field metadata (`metadata=dict(exclude=True)`, `field(...)`, `__post_init__`) with native Pydantic patterns (`Field(...)`, `model_post_init`, class inheritance from `corio.dm.Base`).
- Updated parent/back-reference handling to follow the parent-typing pattern, including explicit in-`__init__` imports for forward references (e.g. `Device.parent: ClientHaco | None`).
- Reworked `Base.model_dump()` to preserve discovery behavior by merging class `DATA`, defaulting to `exclude_none=True`, and excluding runtime extra attributes so dynamic callbacks do not leak into HA announce payloads.
- Cleaned up dataclass leftovers by removing the unused `Metadata` helper from `haco/utils.py` and simplifying related imports.
- Added packaging metadata and testing support updates: `pyproject.toml` project metadata/uv source config, `setup.py` test extras (`pytest`, `pytest-cov`), and initial `haco/tests` package scaffolding.

View file

@ -4,8 +4,16 @@ build-backend = "setuptools.build_meta" #
[project]
name= "haco"
dynamic = ["description", "readme", "version", "dependencies", "optional-dependencies"]
dynamic = [
"description",
"readme",
"version",
"dependencies",
"optional-dependencies",
"license",
"authors",
"keywords",
]
[tool.uv.sources]
corio = { path = "../corio", editable = true }