httk.core.register.members

The project-member-kind registry: which module owns which member kind.

Attributes

Functions

register_project_member_kind(kind, handler)

Register the handler that implements one project-member kind.

known_project_member_kinds()

Return the registered member-kind names.

project_member_handler(kind)

Return the handler object for one project-member kind.

Module Contents

httk.core.register.members.project_member_kinds[source]
httk.core.register.members.register_project_member_kind(kind, handler)[source]

Register the handler that implements one project-member kind.

A handler is either a callable or a lazy "module:callable" reference that takes no arguments and returns an object implementing ProjectMemberHandler. Registering a kind is how an installed module teaches the core seal, manifest, and repair verbs to delegate that member’s internals to it. This mirrors register_entry_provider().

Parameters:
  • kind (str) – The member kind name to register.

  • handler (str | collections.abc.Callable[Ellipsis, Any]) – The handler callable or lazy "module:callable" reference.

httk.core.register.members.known_project_member_kinds()[source]

Return the registered member-kind names.

Returns:

Registered member-kind names in sorted order.

Return type:

list[str]

httk.core.register.members.project_member_handler(kind)[source]

Return the handler object for one project-member kind.

The registered reference is resolved lazily and called with no arguments to build the handler, so a module contributes a kind without core importing it until a member of that kind is actually acted on.

Parameters:

kind (str) – The member kind whose handler to resolve.

Returns:

The handler object implementing the member protocol.

Raises:

LookupError – If no module has registered a handler for the kind.

Return type:

Any