Repository navigation
chore: Refresh non-PyModbus dependency lockset and stabilize docs toolchain compatibility - #19
Conversation
Co-authored-by: gavinying <10823762+gavinying@users.noreply.github.com>
There was a problem hiding this comment.
🔵 Needs a closer look
The dependency and lock pin refresh requires CI validation of compatibility bounds and Python 3.10–3.14 resolution that static checks alone cannot confirm.
No open issues 🎉
What changed in this PR
This PR refreshes the locked development, documentation, and transitive dependencies while deliberately preserving the project's public contract: pymodbus stays at ~3.16.1 and the Python support range stays >=3.10,<4.0. The core of the human-authored change is three explicit docs-group version bounds in pyproject.toml that cap transitive upgrades (mkdocs-autorefs, markdown, pymdown-extensions) to versions compatible with the current mkdocstrings 0.25 line, preventing doc-build breakage from newer releases. The poetry.lock (still @generated by Poetry 1.8.3) and requirements.txt export were regenerated to match.
I verified the constraints are internally consistent: poetry.lock resolves markdown 3.7, mkdocs-autorefs 1.3.1, and pymdown-extensions 10.21.3, all within the new bounds; mkdocs-material 9.7.7 (^9.5.28) and mkdocstrings-python 1.10.9 impose no conflicting requirements; and requirements.txt correctly contains only the unchanged main dependency (pymodbus==3.16.1). No application behavior changes are present, consistent with the PR's stated intent and issue #17.
Changes:
- Added explicit docs-group upper/lower bounds in
pyproject.tomlto keep transitive docs tooling compatible withmkdocstrings0.25. - Regenerated
poetry.lock(in-range dev/docs/transitive refresh) and re-exportedrequirements.txt, keepingpymodbusand the Python range unchanged.
| File | Description |
|---|---|
| pyproject.toml | Adds mkdocs-autorefs, markdown, and pymdown-extensions compatibility bounds for the docs group; all consistent with the resolved lock versions. |
No objective issues were found in the reviewed change, so I have not stored any review comments.
Review effort: Balanced
This PR updates locked development/documentation/transitive dependencies while preserving the project’s Python support range (
>=3.10,<4.0) and keeping PyModbus unchanged. It also resolves doc-build breakage introduced by newer transitive docs packages by adding explicit compatibility bounds.Scope and invariants
pymodbusuntouched (~3.16.1).>=3.10,<4.0.Dependency refresh
poetry.lockwith Poetry 1.8.3-compatible metadata.requirements.txt) to stay consistent with lock state.Docs toolchain compatibility guards
mkdocstringsline:mkdocs-autorefs = ">=1.2,<1.4"markdown = ">=3.7,<3.8"pymdown-extensions = ">=10.11,<11"