Streamlit 사용법
역시 모든 것이 다 회사에서 Demo를 해야 하는 상황이 생기고 이를 발표하거나 보여줘야 하는데
시간이 부족할 때 사용하면 좋을 것 같아서 내용을 정리하려고 함
그리고 데모로 FastAPI와 JS으로 만들기에는 Demo 보여주기 위해 준비하는 시간이 더 길었다..
그리고 그 동안 하나하나 적용하면서 만들기 좀 힘들었다…ㅠㅠ
Streamlit
공식 문서 에 아래와 같이 설명이 되어있음
open-source Python library that makes it easy to create and share beautiful, custom web apps for machine learning and data science.
In just a few minutes you can build and deploy powerful data apps.
빠르고 쉽게 data 앱을 만들어 배포 할 수 있도록 해주는 라이브러리
그래서 웹 개발자가 아니더라도 빠르고 쉽게 데모를 만들 수 있을 것 같음
우버, 애플, 구글 등 많은 기업들의 데이터 분석 조직에서 사용되고 파이썬을 주력 언어로 사용하고 있는 AI 관련 일하는 사람들도 Demo 용으로 많이 사용한다고 함
공식 문서가 잘 정리되어 있어서 사용하기 편할 것 같음
Streamlit 특징
-
빠른 개발 속도
- 앱을 간단하고 빠르게 빌드 할 수 있고 반복적인 프로토타이핑이 가능하고 배포 속도를 높일 수 있음
-
간단한 사용법
- 간단한 파이썬 코드로 작성 가능
-
Interactive 기능
- backend, http 요청 구현 필요 없음
-
시각적 사용자 정의 기능
- Matplotlib, Plotly 등의 데이터 시각화 라이브러리를 쉽게 통합하여 다양한 시각적 사용자 정의 가능
-
실시간 업데이트 기능
- 코드를 수정하면 앱이 자동 업데이트되어 효율적인 개발 가능
-
간편한 공유 기능
- 간소화된 배포 과정을 통해 다른 사용자들에게
Streamlit 설치
-
Streamlit 설치
pip3 install streamlit
-
설치 확인
streamlit hello
Streamlit 실행
-
에시 코드 (example.py)
import streamlit as st st.title("Streamlit Title") st.header("Streamlit header") st.subheader("Streamlit subheader") st.text("Streamlit text") st.write("Streamlit write function")
-
실행
streamlit run [example.py]
Streamlit API
제목 및 텍스트 관련
-
타이틀
st.title("Streamlit Title")
-
헤더
st.header("Streamlit header")
-
서브헤더
st.subheader("Streamlit subheader")
-
텍스트
st.text("Streamlit text")
-
텍스트나 데이터 생성
- 텍스트를 생성 할 수도 있지만 다른 용도로도 사용 가능
- 아래 결과를 보면
st.text
와는 차이가 있음
st.write("Streamlit write function")