def get_external_object_link()

in src/doc_builder/external.py [0:0]


def get_external_object_link(object_name, page_info):
    if object_name.startswith("~"):
        object_name = object_name[1:]
        link_name = object_name.split(".")[-1]
    else:
        link_name = object_name

    version = page_info.get("version", "main")
    language = page_info.get("language", "en")
    if language != "en":
        # No resolving for other languages then English as we don't translate API doc pages/docstrings for now.
        return f"`{link_name}`"

    package_name = object_name.split(".")[0]
    if package_name not in HUGGINFACE_LIBS:
        # No resolving for non-HF libs for now.
        return f"`{link_name}`"

    if package_name not in EXTERNAL_DOC_OBJECTS_CACHE:
        EXTERNAL_DOC_OBJECTS_CACHE[package_name] = get_objects_map(package_name, version=version, language=language)
    object_url = EXTERNAL_DOC_OBJECTS_CACHE[package_name].get(object_name, None)

    if object_url is None:
        # Object not found in the lib
        return f"`{link_name}`"
    else:
        return f"[{link_name}]({object_url})"