mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 11:46:35 +00:00
fix(cli): stop declaring a re-exported class in __all__
autodoc documents whatever __all__ lists, including a name the module only imported, so sphinx found two targets for every annotation: nine for ImageRef and one for DevInventorySpec. mirror/model is a five-line shim whose whole purpose is the local name, so it drops __all__ entirely. The inventory package keeps its own, which also declares private helpers, and loses only that one entry; the reason sits in the module docstring so nobody re-adds it innocently. Both names stay importable from their packages, because the import binds them regardless of __all__. Every importer in the repository was enumerated and none uses a wildcard. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
747aff6b45
commit
7fee974c7f
2 files changed
+15
-6
No files matched your search
@@ -3,7 +3,7 @@
|
||||
Anything that wants to materialise the development inventory MUST go
|
||||
through :func:`build_dev_inventory` (single folder) or
|
||||
:func:`build_dev_inventory_matrix` (one folder per matrix-deploy round).
|
||||
Both flow through :class:`DevInventorySpec` and own:
|
||||
Both flow through :class:`~.spec.DevInventorySpec` and own:
|
||||
|
||||
* the SPOT vars-file (``DEV_INVENTORY_VARS_FILE``),
|
||||
* per-app variant baking (each role's ``meta/variants.yml`` is resolved
|
||||
@@ -18,7 +18,7 @@ function so wrapper and init step compute the same plan independently.
|
||||
|
||||
Internal layout (one module per responsibility):
|
||||
|
||||
* :mod:`.spec` — :class:`DevInventorySpec` + ``PlanEntry`` type
|
||||
* :mod:`.spec` — :class:`~.spec.DevInventorySpec` + ``PlanEntry`` type
|
||||
* :mod:`.payload` — variant payload pick + ``--vars`` bake
|
||||
* :mod:`.legacy_resolver` — ``CombinedResolver``-driven include resolution
|
||||
* :mod:`.planner` — :func:`plan_dev_inventory_matrix`
|
||||
@@ -28,6 +28,11 @@ The private helpers (``_resolve_round_include`` and friends) are
|
||||
re-exported below because unit tests historically patch them under this
|
||||
package path. New tests SHOULD patch the submodule path directly
|
||||
(e.g. ``inventory.legacy_resolver._resolve_round_include``).
|
||||
|
||||
``DevInventorySpec`` is imported but deliberately absent from ``__all__``:
|
||||
listing a re-exported class makes autodoc document it here as well as in
|
||||
:mod:`.spec`, and sphinx then finds two targets for every annotation. Importing
|
||||
it from this package keeps working either way.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
@@ -43,7 +48,6 @@ from .planner import filter_plan_to_variants, plan_dev_inventory_matrix
|
||||
from .spec import DevInventorySpec, PlanEntry
|
||||
|
||||
__all__ = [
|
||||
"DevInventorySpec",
|
||||
"PlanEntry",
|
||||
"_bake_overrides",
|
||||
"_build_services_overrides_for_round",
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
"""Local name for the image reference the mirror commands pass around.
|
||||
|
||||
No ``__all__``: declaring the re-exported name makes autodoc document the
|
||||
class here as well as where it is defined, and sphinx then finds two targets
|
||||
for every ``ImageRef`` annotation.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from utils.docker.image.discovery import ImageRef
|
||||
|
||||
__all__ = ["ImageRef"]
|
||||
from utils.docker.image.discovery import ImageRef # noqa: F401
|
||||
Reference in new issue
Block a user