From 65b36b347840ebf3f40fe4154260bc8d386b324a Mon Sep 17 00:00:00 2001 From: ParkGyeongTae Date: Fri, 3 Oct 2025 22:44:37 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20Streamlit=20=EB=A9=94=EC=9D=B8=20?= =?UTF-8?q?=EC=8B=A4=ED=96=89=20=EB=AA=A8=EB=93=88=EA=B3=BC=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=84=A4=EC=A0=95=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interface/pages_config.py | 19 +++++++++++++ interface/streamlit_app.py | 55 ++++++++++++++++++++++++-------------- 2 files changed, 54 insertions(+), 20 deletions(-) create mode 100644 interface/pages_config.py diff --git a/interface/pages_config.py b/interface/pages_config.py new file mode 100644 index 0000000..ad09110 --- /dev/null +++ b/interface/pages_config.py @@ -0,0 +1,19 @@ +""" +Streamlit 애플리케이션 페이지 설정 모듈. + +각 페이지의 경로와 제목을 정의하여 내비게이션에 사용합니다. + +Attributes: + PAGES (list): Streamlit Page 객체 리스트. + - 홈 페이지 + - Lang2SQL 페이지 + - 그래프 빌더 페이지 +""" + +import streamlit as st + +PAGES = [ + st.Page("app_pages/home.py", title="🏠 홈"), + st.Page("app_pages/lang2sql.py", title="🔍 Lang2SQL"), + st.Page("app_pages/graph_builder.py", title="📊 그래프 빌더"), +] diff --git a/interface/streamlit_app.py b/interface/streamlit_app.py index 308b867..8e74d8e 100644 --- a/interface/streamlit_app.py +++ b/interface/streamlit_app.py @@ -1,27 +1,42 @@ """ Streamlit 애플리케이션 메인 실행 모듈. -이 모듈은 Lang2SQL 데이터 분석 도구의 내비게이션을 정의하고, -각 페이지를 연결하여 사용자가 원하는 기능을 선택할 수 있도록 합니다. - -Example: - $ streamlit run interface/streamlit_app.py +Lang2SQL 데이터 분석 도구의 내비게이션을 초기화하고 실행합니다. """ import streamlit as st -st.set_page_config( - page_title="Lang2SQL 데이터 분석 도구", - page_icon="🔎", - layout="wide", - initial_sidebar_state="expanded", -) - -PAGES = [ - st.Page("app_pages/home.py", title="🏠 홈"), - st.Page("app_pages/lang2sql.py", title="🔍 Lang2SQL"), - st.Page("app_pages/graph_builder.py", title="📊 그래프 빌더"), -] - -pg = st.navigation(PAGES) -pg.run() +from interface.pages_config import PAGES + + +def configure_app() -> None: + """앱 전역 설정 초기화. + + Streamlit 애플리케이션의 제목, 아이콘, 레이아웃, 사이드바 상태를 설정합니다. + + Returns: + None + """ + st.set_page_config( + page_title="Lang2SQL 데이터 분석 도구", + page_icon="🔎", + layout="wide", + initial_sidebar_state="expanded", + ) + + +def main() -> None: + """애플리케이션 진입점. + + 전역 설정을 초기화하고, 정의된 페이지 내비게이션을 실행합니다. + + Returns: + None + """ + configure_app() + pg = st.navigation(PAGES) + pg.run() + + +if __name__ == "__main__": + main()