Skip to content

kiara_api

Classes

ApiRenderInputsSchema

Bases: RenderInputsSchema

Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
30
31
class ApiRenderInputsSchema(RenderInputsSchema):
    pass

ApiRendererConfig

Bases: KiaraRendererConfig

Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
34
35
36
37
38
class ApiRendererConfig(KiaraRendererConfig):
    filter: Union[str, Iterable[str]] = Field(
        description="One or a list of filter tokens -- if provided -- all of which must match for the api endpoing to be in the render result.",
        default_factory=list,  # type: ignore
    )

Attributes

filter: Union[str, Iterable[str]] = Field(description='One or a list of filter tokens -- if provided -- all of which must match for the api endpoing to be in the render result.', default_factory=list) class-attribute instance-attribute

ApiRenderer

Bases: KiaraRenderer[KiaraAPI, ApiRenderInputsSchema, RenderValueResult, ApiRendererConfig]

Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
class ApiRenderer(
    KiaraRenderer[KiaraAPI, ApiRenderInputsSchema, RenderValueResult, ApiRendererConfig]
):
    _inputs_schema = ApiRenderInputsSchema
    _renderer_config_cls = ApiRendererConfig

    def __init__(
        self,
        kiara: "Kiara",
        renderer_config: Union[None, Mapping[str, Any], KiaraRendererConfig] = None,
    ):
        super().__init__(kiara=kiara, renderer_config=renderer_config)

        filters: Union[None, str, Iterable[str]] = self.renderer_config.filter
        if not filters:
            filters = None
        elif isinstance(filters, str):
            filters = [filters]

        self._api_endpoints: ApiEndpoints = ApiEndpoints(
            api_cls=KiaraAPI, filters=filters
        )

    @property
    def api_endpoints(self) -> ApiEndpoints:
        return self._api_endpoints

    def get_renderer_alias(self) -> str:
        return f"api_to_{self.get_target_type()}"

    def retrieve_supported_render_sources(self) -> str:
        return "kiara_api"

    def retrieve_doc(self) -> Union[str, None]:
        return f"Render the kiara API endpoints to: '{self.get_target_type()}'."

    @abc.abstractmethod
    def get_target_type(self) -> str:
        pass

Attributes

api_endpoints: ApiEndpoints property

Functions

get_renderer_alias() -> str
Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
69
70
def get_renderer_alias(self) -> str:
    return f"api_to_{self.get_target_type()}"
retrieve_supported_render_sources() -> str
Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
72
73
def retrieve_supported_render_sources(self) -> str:
    return "kiara_api"
retrieve_doc() -> Union[str, None]
Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
75
76
def retrieve_doc(self) -> Union[str, None]:
    return f"Render the kiara API endpoints to: '{self.get_target_type()}'."
get_target_type() -> str abstractmethod
Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
78
79
80
@abc.abstractmethod
def get_target_type(self) -> str:
    pass

KiaraApiDocRenderer

Bases: ApiRenderer

Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
class KiaraApiDocRenderer(ApiRenderer):
    _renderer_name = "kiara_api_doc_renderer"

    def get_target_type(self) -> str:
        return "html"

    def retrieve_supported_render_targets(self) -> Union[Iterable[str], str]:
        return "html"

    def _render(self, instance: KiaraAPI, render_config: ApiRenderInputsSchema) -> Any:
        # details = self.api_endpoints.get_api_endpoint("get_value")
        details = self.api_endpoints.get_api_endpoint("retrieve_aliases_info")

        # for k, v in details.arg_schema.items():
        #     print(k)
        #     print(type(v))

        terminal_print(create_table_from_base_model_v1_cls(details.arg_model))

        return "xxx"

Functions

get_target_type() -> str
Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
86
87
def get_target_type(self) -> str:
    return "html"
retrieve_supported_render_targets() -> Union[Iterable[str], str]
Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
89
90
def retrieve_supported_render_targets(self) -> Union[Iterable[str], str]:
    return "html"

KiaraApiDocTextRenderer

Bases: ApiRenderer

Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
class KiaraApiDocTextRenderer(ApiRenderer):
    _renderer_name = "kiara_api_doc_markdown_renderer"

    def get_target_type(self) -> str:
        return "markdown"

    def retrieve_supported_render_targets(self) -> Union[Iterable[str], str]:
        return "markdown"

    def _render(self, instance: KiaraAPI, render_config: ApiRenderInputsSchema) -> Any:
        template = self._kiara.render_registry.get_template(
            "kiara_api/api_doc.md.j2", "kiara"
        )

        result = ""
        for ep in self.api_endpoints.api_endpint_names:
            doc = self.api_endpoints.get_api_endpoint(ep).doc
            rendered = template.render(endpoint_name=ep, doc=doc)
            result += f"{rendered}\n"

        # details = self.api_endpoints.get_api_endpoint("get_value")
        # dbg(details.validated_func.__dict__)

        # for k, v in details.arg_schema.items():
        #     print(k)
        #     print(type(v))

        # inputs = {
        #     "value": "tm.date_array"
        # }
        # result = details.execute(instance, **inputs)
        # print(result)

        return result

Functions

get_target_type() -> str
Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
108
109
def get_target_type(self) -> str:
    return "markdown"
retrieve_supported_render_targets() -> Union[Iterable[str], str]
Source code in src/kiara/renderers/included_renderers/api/kiara_api.py
111
112
def retrieve_supported_render_targets(self) -> Union[Iterable[str], str]:
    return "markdown"

Functions