Skip to content

config

get_global_lake_instance(settings=None)

Create lakefs connection.

Warning

This returns singleton object which uses connection information available on first call.

Parameters:

Name Type Description Default
settings Optional[Dict[str, Any]]

Prepared studio or project settings.

None

Returns:

Type Description

wrapper.LakeCtl: Connection object.

Source code in client/ayon_usd/config.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
def get_global_lake_instance(settings=None):
    """Create lakefs connection.

    Warning:
        This returns singleton object which uses connection information
            available on first call.

    Args:
        settings (Optional[Dict[str, Any]]): Prepared studio or
            project settings.

    Returns:
        wrapper.LakeCtl: Connection object.

    """
    if _LocalCache.lake_instance is not None:
        return _LocalCache.lake_instance

    if not settings:
        settings = get_studio_settings()
    distribution = settings["usd"]["distribution"]
    return wrapper.LakeCtl(
        server_url=distribution["server_uri"],
        access_key_id=distribution["access_key_id"],
        secret_access_key=distribution["secret_access_key"],
    )

get_lakefs_usdlib_name(lake_fs_repo)

Return AyonUsdBin/usd LakeFS repo object name for current platform.

Source code in client/ayon_usd/config.py
46
47
48
49
50
51
52
53
54
55
56
57
def get_lakefs_usdlib_name(lake_fs_repo: str) -> str:
    """Return AyonUsdBin/usd LakeFS repo object name for current platform."""
    platform_name = platform.system().lower()
    lake_fs_repo_items = _get_lakefs_repo_items(lake_fs_repo)
    for item in lake_fs_repo_items:
        if "AyonUsdBin/usd" in item and platform_name in item:
            return item

    raise RuntimeError(
        "No AyonUsdBin/usd item found for current platform "
        f"'{platform_name}' on LakeFS server: {lake_fs_repo}. "
        f"All LakeFS repository items found: {lake_fs_repo_items}")

get_lakefs_usdlib_path(settings)

Return AyonUsdBin/usd LakeFS full url for current platform.

Source code in client/ayon_usd/config.py
60
61
62
63
64
def get_lakefs_usdlib_path(settings: dict) -> str:
    """Return AyonUsdBin/usd LakeFS full url for current platform. """
    lake_fs_repo = settings["usd"]["distribution"]["server_repo"]
    usd_lib_conf = get_lakefs_usdlib_name(lake_fs_repo)
    return f"{lake_fs_repo}{usd_lib_conf}"