Skip to content

kiara

Classes

KiaraTypesRuntimeEnvironment

Bases: RuntimeEnvironment

Source code in kiara/models/runtime_environment/kiara.py
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
class KiaraTypesRuntimeEnvironment(RuntimeEnvironment):

    _kiara_model_id = "info.runtime.kiara_types"

    environment_type: Literal["kiara_types"]
    archive_types: ArchiveTypeClassesInfo = Field(
        description="The available implemented store types."
    )
    metadata_types: MetadataTypeClassesInfo = Field(
        description="The available metadata types."
    )

    @classmethod
    def retrieve_environment_data(cls) -> Dict[str, Any]:

        result: Dict[str, Any] = {}
        result["metadata_types"] = find_metadata_models()
        result["archive_types"] = find_archive_types()

        return result

Attributes

environment_type: Literal['kiara_types'] class-attribute
archive_types: ArchiveTypeClassesInfo = Field(description='The available implemented store types.') class-attribute
metadata_types: MetadataTypeClassesInfo = Field(description='The available metadata types.') class-attribute

Functions

retrieve_environment_data() -> Dict[str, Any] classmethod
Source code in kiara/models/runtime_environment/kiara.py
57
58
59
60
61
62
63
64
@classmethod
def retrieve_environment_data(cls) -> Dict[str, Any]:

    result: Dict[str, Any] = {}
    result["metadata_types"] = find_metadata_models()
    result["archive_types"] = find_archive_types()

    return result

Functions

find_archive_types(alias: Union[str, None] = None, only_for_package: Union[str, None] = None) -> ArchiveTypeClassesInfo

Source code in kiara/models/runtime_environment/kiara.py
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
def find_archive_types(
    alias: Union[str, None] = None, only_for_package: Union[str, None] = None
) -> ArchiveTypeClassesInfo:

    archive_types = find_all_archive_types()

    kiara: Kiara = None  # type: ignore
    group: ArchiveTypeClassesInfo = ArchiveTypeClassesInfo.create_from_type_items(  # type: ignore
        kiara=kiara, group_title=alias, **archive_types
    )

    if only_for_package:
        temp: Dict[str, TypeInfo] = {}
        for key, info in group.item_infos.items():
            if info.context.labels.get("package") == only_for_package:
                temp[key] = info  # type: ignore

        group = ArchiveTypeClassesInfo.construct(
            group_id=group.group_id, group_alias=group.group_alias, item_infos=temp  # type: ignore
        )

    return group