Skip to content

commands

Attributes

Classes

Functions

archive(ctx)

Kiara archive related sub-commands.

Source code in src/kiara/interfaces/cli/archive/commands.py
19
20
21
22
@click.group()
@click.pass_context
def archive(ctx):
    """Kiara archive related sub-commands."""

explain_archive(ctx, format: str, archive: str)

Print details of an archive file.

Source code in src/kiara/interfaces/cli/archive/commands.py
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
@archive.command("explain")
@click.argument("archive", nargs=1, required=True)
@output_format_option()
@click.pass_context
@handle_exception()
def explain_archive(
    ctx,
    format: str,
    archive: str,
):
    """Print details of an archive file."""

    from kiara.interfaces.python_api.base_api import BaseAPI

    kiara_api: BaseAPI = ctx.obj.base_api

    info = kiara_api.retrieve_archive_info(archive)

    terminal_print_model(info, format=format, in_panel=f"Archive info: {archive}")

export_archive(ctx, path: str, compression: str, append: bool, no_aliases: bool)

Source code in src/kiara/interfaces/cli/archive/commands.py
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
@archive.command("export")
@click.argument("path", nargs=1, required=True)
@click.option(
    "--compression",
    "-c",
    help="The compression inside the archive. If not provided, 'zstd' will be used. Ignored if archive already exists and 'append' is used.",
    type=click.Choice(["zstd", "lz4", "lzma", "none"]),
    default=DEFAULT_CHUNK_COMPRESSION.ZSTD.name.lower(),  # type: ignore
)
@click.option("--append", "-a", help="Append data to existing archive.", is_flag=True)
@click.option("--no-aliases", "-na", help="Do not store aliases.", is_flag=True)
@click.pass_context
@handle_exception()
def export_archive(ctx, path: str, compression: str, append: bool, no_aliases: bool):
    from kiara.interfaces.python_api.base_api import BaseAPI

    api: BaseAPI = ctx.obj.base_api

    target_store_params = {"compression": CHUNK_COMPRESSION_TYPE[compression.upper()]}
    result = api.export_archive(
        target_archive=path,
        append=append,
        target_store_params=target_store_params,
        no_aliases=no_aliases,
    )

    render_config = {"add_field_column": False}
    terminal_print_model(
        result,
        format="terminal",
        empty_line_before=None,
        in_panel="Exported values",
        **render_config,
    )

import_archive(ctx, path: str, no_aliases: bool)

Import an archive file.

Source code in src/kiara/interfaces/cli/archive/commands.py
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
@archive.command("import")
@click.argument("path", nargs=1, required=True)
@click.option("--no-aliases", "-na", help="Do not store aliases.", is_flag=True)
@click.pass_context
@handle_exception()
def import_archive(ctx, path: str, no_aliases: bool):
    """Import an archive file."""

    from kiara.interfaces.python_api.base_api import BaseAPI

    kiara_api: BaseAPI = ctx.obj.base_api

    result = kiara_api.import_archive(source_archive=path, no_aliases=no_aliases)

    render_config = {"add_field_column": False}
    terminal_print_model(
        result,
        format="terminal",
        empty_line_before=None,
        in_panel="Imported values",
        **render_config,
    )