Skip to content

docs: expose public package surface in API overview#103

Merged
Faerkeren merged 1 commit into
mainfrom
docs/expose-public-api-overview
May 28, 2026
Merged

docs: expose public package surface in API overview#103
Faerkeren merged 1 commit into
mainfrom
docs/expose-public-api-overview

Conversation

@Faerkeren
Copy link
Copy Markdown
Contributor

Closes #94

Issue validity

Valid. docs/reference/index.md rendered the top-level haclient package with show_submodules: false and members: false, hiding the public import contract defined by haclient/__init__.py (__all__). Users had no discoverable overview of common imports like HAClient, SyncHAClient, ConnectionConfig, DomainSpec, Entity, or the exception types.

Fix

Following the issue's suggested option of a hand-written table (keeps the page focused and avoids duplicating per-symbol docs that already live on dedicated reference pages):

  • Added a table in docs/reference/index.md mapping every name in haclient.__all__ to the reference page where it is documented.
  • Kept the existing ::: haclient block for the package-level docstring.

Checks run

  • pytest tests/ --cov=haclient --cov-report=term-missing --cov-fail-under=95 — 329 passed, coverage 97.19%
  • ruff check src tests — all checks passed
  • ruff format --check src tests — 60 files already formatted
  • mypy src — no issues in 38 source files
  • mkdocs build — built cleanly

The reference overview rendered the top-level haclient package with
show_submodules: false and members: false, hiding the public import
contract defined by haclient.__init__.__all__.

Add a hand-written table mapping every name in __all__ to its reference
page so users get a clear, discoverable overview of HAClient,
SyncHAClient, ConnectionConfig, DomainSpec, Entity, the exception
types, and the rest of the public surface.

Refs #94
@Faerkeren Faerkeren merged commit c6e424d into main May 28, 2026
12 checks passed
@Faerkeren Faerkeren deleted the docs/expose-public-api-overview branch May 28, 2026 01:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose top-level public exports in the API overview

1 participant