Streamlit은 데이터 과학자와 엔지니어를 위한 빠르고 쉬운 웹 앱을 만들 수 있는 오픈소스 Python 라이브러리입니다. 복잡한 웹 프레임워크나 HTML, CSS, Javascript 지식 없이도 Python 코드만으로 데이터 기반의 웹 앱을 생성할 수 있습니다.
2. streamlit 장점
필자가 생각하는 streamlit의 가장 큰 장점은 웹 개발에 대한 기초배경지식이 없이도 쉽게 페이지 생성 및 배포가 가능하다는 점입니다. 이전에 대학시절에 잠시 django를 통해서 웹개발을 다뤄본 적이 있는데 HTML, CSS 등 많은 지식들을 요했습니다. 하지만, streamlit은 그러한 사전배경지식을 요하지 않다 보니 시간이 크게 절약됩니다. 또한, 웹 시각화로 표출하다 보니 전달력이 높으며, 문서형태로 보고하기 어려운 경우 활용하기에 매우 적합한 프레임워크입니다.
streamlit 장점
간편성: 복잡한 프론트엔드 지식이 없어도 웹 앱을 만들 수 있습니다.
반응형: 자동으로 업데이트되는 위젯을 제공하여 데이터와 시각화의 상호작용을 쉽게 구현할 수 있습니다.
데이터 통합: 주요 데이터 분석 및 시각화 라이브러리 (예: Pandas, Matplotlib, Plotly)와의 통합이 용이합니다.
빠른 프로토타이핑: 원하는 대로 앱의 모양과 기능을 빠르게 바꿔 볼 수 있어 프로토타이핑에 이상적입니다.
타 프레임워크와의 비교
3. 한계점
하지만, streamlit에는 제약사항이 있습니다.
기본 무료 계정의 경우, 3개의 애플리케이션까지 배포가능
Github와 연동하여 배포 가능 (단, public repository만 가능)
배포하는 어플리케이션은 RAM 1GB로 제한
즉, 사용용도에 따라서 단순한 웹 애플리케이션을 생성하는 경우 streamlit이 합리적이며, 대규모 배포의 경우에는 다른 프레임워크가 적합할 수 있으므로 용도에 따라서 선택하여 활용이 필요합니다.
4. 설치방법
Streamlit을 설치하는 것은 매우 간단합니다.
pip install streamlit
하지만, 여러 가지 라이브러리를 활용하고 하는 경우, 라이브러리 간의 충돌이 날 수 있기 때문에 사전에 이를 방지하기 위해 가상환경을 생성하여 그 안에 설치하도록 하겠습니다.
[1] 2023.10.09 - [✔ Python/2. Visualization] - 파이썬으로 쉽게 대시보드 만들기 [1] Streamlit 소개 및 설치하기 [2] Streamlit 데이터 표출하기 - 파이썬으로 손쉽게 대시보드 만드는 방법 [3] Streamlit 데이터 시각화하기 - 파이썬으로 손쉽게 대시보드 만드는 방법 [4] 2024.01.10 - [✔ Python/2. Visualization] - 파이썬으로 쉽게 대시보드 만들기 [4] Streamlit 배포하기