import streamlit as st from diagrams import Cluster, Diagram from diagrams.azure.compute import ContainerInstances from diagrams.azure.integration import APIManagement from diagrams.onprem.container import Docker #from diagrams.onprem.database import Snowflake from diagrams.programming.framework import FastAPI from diagrams.custom import Custom # Define the diagram def create_diagram(): with Diagram("Architecture Diagram", show=False): with Cluster("Azure"): container_registry = ContainerInstances("Azure Container Registry") container_registry_api = APIManagement("ACR API") with Cluster("Docker"): docker = Docker("Docker") slimbuster = Custom("Slim Buster", "./slimbuster.png") with Cluster("Python"): python = FastAPI("Python / Uvicorn") #with Cluster("Snowflake"): # snowflake = Snowflake("Snowflake") container_registry >> docker >> slimbuster >> python container_registry_api >> docker python >> snowflake return "architecture_diagram.png" # Create and show the diagram in Streamlit diagram = create_diagram() st.image(diagram, caption="Architecture Diagram", use_column_width=True)