def render_embedded()

in components/webui/src/dpu/components.py [0:0]


def render_embedded(data: bytes, mime_type: str):
    # 1.5MB - Streamlit does not support rendering of files bigger than 1.5MB
    max_size = 1.5 * 1024 * 1024

    if len(data) > max_size:
        logger.warning(
            "Streamlit cannot render files larger than 1.5MB. "
            "Defaulting to a direct link to GCS. "
            "This may require updates to IAM permissions."
        )
        st.markdown("The App cannot render files larger than 1.5MB.")
    else:
        base64_file = base64.b64encode(data).decode("utf-8")
        st.markdown(
            f'<iframe src="data:{mime_type};base64,{base64_file}" '
            'width="100%" height="400" type="{mime_type}"></iframe>',
            unsafe_allow_html=True,
        )