Skip to content

kiara.info.modules

ModuleTypesGroupInfo pydantic-model

create_renderable_from_module_info_map(module_types, ignore_pipeline_modules=False, ignore_non_pipeline_modules=False, **config) classmethod

Create a renderable from a map of module info wrappers.

Render-configuration options: - include_full_doc (default: False): include the full documentation, instead of just a one line description

Source code in kiara/info/modules.py
@classmethod
def create_renderable_from_module_info_map(
    cls,
    module_types: typing.Mapping[str, KiaraModuleTypeMetadata],
    ignore_pipeline_modules: bool = False,
    ignore_non_pipeline_modules: bool = False,
    **config: typing.Any
):
    """Create a renderable from a map of module info wrappers.

    Render-configuration options:
      - include_full_doc (default: False): include the full documentation, instead of just a one line description
    """

    if ignore_pipeline_modules and ignore_non_pipeline_modules:
        raise Exception("Can't ignore both pipeline and non-pipeline modules.")

    if ignore_pipeline_modules:
        module_types = {k: v for k, v in module_types.items() if not v.is_pipeline}
    elif ignore_non_pipeline_modules:
        module_types = {k: v for k, v in module_types.items() if v.is_pipeline}

    show_lines = False
    table = Table(show_header=False, box=box.SIMPLE, show_lines=show_lines)
    table.add_column("name", style="b")
    table.add_column("desc", style="i")

    for name, details in module_types.items():

        if config.get("include_full_doc", False):
            table.add_row(name, details.documentation.full_doc)
        else:
            table.add_row(name, details.documentation.description)

    return table

create_renderable_from_module_type_map(module_types, ignore_pipeline_modules=False, ignore_non_pipeline_modules=False, **config) classmethod

Create a renderable from a map of module classes.

Render-configuration options: - include_full_doc (default: False): include the full documentation, instead of just a one line description

Source code in kiara/info/modules.py
@classmethod
def create_renderable_from_module_type_map(
    cls,
    module_types: typing.Mapping[str, typing.Type["KiaraModule"]],
    ignore_pipeline_modules: bool = False,
    ignore_non_pipeline_modules: bool = False,
    **config: typing.Any
):
    """Create a renderable from a map of module classes.

    Render-configuration options:
      - include_full_doc (default: False): include the full documentation, instead of just a one line description
    """

    return cls.create_renderable_from_module_info_map(
        {
            k: KiaraModuleTypeMetadata.from_module_class(v)
            for k, v in module_types.items()
        },
        ignore_pipeline_modules=ignore_pipeline_modules,
        ignore_non_pipeline_modules=ignore_non_pipeline_modules,
        **config
    )