Builds docs surface manifests from published documentation artifacts.
Primary input is a Sphinx objects.inv inventory (Intersphinx format).
Optionally, an HTML page can be used to derive a curated "summary" profile
by extracting fully-qualified object references and intersecting them with
the inventory.
Summary
Functions
Extracts candidate module names from Sphinx/MkDocs-style nav links.
Returns a set of fully-qualified references found in HTML.
Filters a set/list of Python module names to a maximum depth relative to library_root.
Builds a manifest from a parsed Sphinx inventory.
Merges two profiles by unioning modules and objects.
Builds a summary profile by extracting object references from HTML and intersecting with a full profile built from inventory.
Types
Functions
Returns a set of fully-qualified references found in HTML.
@spec filter_modules_by_depth(Enumerable.t(), String.t(), pos_integer()) :: MapSet.t(String.t())
Filters a set/list of Python module names to a maximum depth relative to library_root.
Depth is measured in dot-separated segments after the root:
examplelib.config→ depth 1examplelib.multimodal.inputs→ depth 2
@spec from_inventory(SnakeBridge.Docs.SphinxInventory.t(), String.t(), keyword()) :: profile()
Builds a manifest from a parsed Sphinx inventory.
Merges two profiles by unioning modules and objects.
Objects are deduplicated by {name, kind}.
Builds a summary profile by extracting object references from HTML and intersecting with a full profile built from inventory.