Pfd-Generator / app py
MuhammadHananKhan123's picture
Update app py
dc37a7f verified
import streamlit as st
from graphviz import Digraph
def generate_flow_diagram(objective):
"""Generates a process flow diagram based on the given objective."""
# Example process based on a generic objective
steps = [
("Start", "Define Objectives"),
("Define Objectives", "Identify Inputs"),
("Identify Inputs", "Analyze Process"),
("Analyze Process", "Develop Workflow"),
("Develop Workflow", "Implement Workflow"),
("Implement Workflow", "Monitor and Improve"),
("Monitor and Improve", "End")
]
diagram = Digraph()
for step in steps:
diagram.edge(step[0], step[1])
return diagram
def explain_diagram():
"""Provides an explanation for the process flow diagram."""
explanation = (
"This process flow diagram outlines the typical steps involved in achieving the objective. "
"It begins with defining the objectives and identifying the necessary inputs, followed by analyzing "
"the process and developing a workflow. After implementation, continuous monitoring and improvement "
"ensure the process remains effective and efficient."
)
return explanation
def main():
st.title("Process Flow Diagram Generator")
st.sidebar.header("Input Parameters")
objective = st.sidebar.text_input("Enter the objective of the process:")
if st.sidebar.button("Generate Diagram"):
if objective.strip():
diagram = generate_flow_diagram(objective)
explanation = explain_diagram()
st.subheader("Process Flow Diagram")
st.graphviz_chart(diagram)
st.subheader("Explanation")
st.write(explanation)
else:
st.error("Please enter a valid objective to generate the process flow diagram.")
if __name__ == "__main__":
main()