- Date Created: 2026-06-06
- Last Modified: 2026-06-06
Progress Log: Dependency Groups Migration & Docs Build Update¶
Task Description¶
This project is not a published PyPI package, so all dependencies were migrated
from [project.optional-dependencies] to [dependency-groups] (PEP 735).
The docs build environment (Read the Docs, Taskfile) was updated accordingly.
Outcome¶
Dependency migration (pyproject.toml)¶
Removed [project.optional-dependencies] entirely. All groups now live under [dependency-groups]:
[dependency-groups]
dev = [
"clang-format>=22.1.5",
"commitizen>=4.16.3",
"esptool>=5.3.0",
"hvplot>=0.12.2",
"ipykernel>=7.2.0",
"pandas>=3.0.2",
"pre-commit>=4.6.0",
"pyserial>=3.5",
"scipy>=1.17.1",
]
docs = [
"mkdocs>=1.6.1",
"mkdocs-material>=9.7.6",
"zensical>=0.0.44",
]
Taskfile updates (Taskfile.yml)¶
| Task | Before | After |
|---|---|---|
deps:setup |
uv sync --all-extras |
uv sync --all-groups |
deps:update |
uv sync --upgrade --all-extras |
uv sync --upgrade --all-groups |
deps:check |
uv pip list --outdated |
uv tree --outdated |
info |
task version:show (non-existent) |
task version |
Read the Docs update (.readthedocs.yaml)¶
Switched from pip + extra_requirements to native uv + groups:
python:
install:
- method: uv
command: sync
groups:
- docs
uv.lock is now respected in the RTD build, giving reproducible documentation builds.
Documentation nav restructure (mkdocs.yml)¶
- Added Maintainers Guide as a new top-level section
- Moved
Progress Logsunder Maintainers Guide - Moved
Pre-commit HooksandClang Formatfrom Developer Guide to Maintainers Guide > Code Quality - Moved Feature Flags and Debug Configuration from User Guides to Developer Guide > Build & Configuration
- Moved
wifi-ap-interface.mdfromdocs/root todocs/hardware/ - Added
measurement-flow.mdto nav under User Guides > Hardware Guide - Fixed broken link in
docs/index.md(getting-started.md→getting-started/index.md)
Learnings¶
uv add --optionalanduv add --groupwrite to different sections. Even with the same group name (docs),uv sync --group docsdoes not include theoptionalside.- Read the Docs natively supports
method: uv+groups(documented in the build-customization guide). - MkDocs nav section-title-only nodes require correct child indentation or the build fails with
Expected nav to be a list, got None.
Next Steps¶
- Verify
task env:setupworks correctly withuv sync --all-groups - Confirm Read the Docs build passes after push