Streamlit

홍찬우·2023년 7월 24일
0

파이썬 프로토타입 도구 비교


Streamlit

장점

  • 파이썬 스크립트 코드를 조금만 수정하면 웹을 띄울 수 있음
  • 백엔드 개발이나 HTTP 요청을 구현하지 않아도 됨
  • 다양한 컴포넌트를 제공해 대시보드 UI를 구현
  • Streamlit Cloud도 존재해서 쉽게 배포 가능
  • 화면 녹화 기능 존재

실행 방법

  • CLI에서 streamlit run 파일명.py

Component

  • Text 작성

    • title, header, subheader, 일반 text 작성
  • Button

  • Checkbox

  • dataframe, table

    • dataframe에서 강조하고 싶은 부분 색칠 가능
  • metric, Json

  • line_chart

  • map

  • radio button, select box

  • multi select box

  • slider

  • Input Box, caption, code, latex

  • sidebar

    • 기존 메서드 앞에 sidebar를 붙이면 sidebar에 나타남

    • e.g., st.sidebar.button

  • columns

    • 수직으로 칸을 나눠 사용
  • expander

    • 누르면 확장
  • spinner

    • 연산 진행 도중 메세지 보여 줌
  • balloons

  • status box

    • success, info, warning, error
  • form

    • 로그인 같은 기능에 사용
  • file uploader



Streamlit Data Flow

  • Streamlit 화면에서 무언가 업데이트되면 전체 Streamlit 코드가 재실행 됨

  • Increment 버튼을 누르면 1 증가, Decrement 버튼을 누르면 1 감소
  • 실행 시 Increment 버튼을 계속 누르면 1, 2, 3, .. 증가가 아닌 계속 1이 출력

→ 버튼 클릭할 때마다 코드가 재실행되어 업데이트가 되지 않음



session_state

  • 초기값을 설정

  • 전역 변수처럼 사용



st.cache

  • 매번 다시 실행하는 특성 떄문에 매번 csv를 읽어 옴

  • @st.cache 데코레이터를 사용해 캐싱

    • 캐싱 : 성능을 위해 메모리에 저장하는 행위
  • 데이터를 읽는 함수를 만들고, 데코레이터 적용







※ 모든 이미지 및 코드 출처는 네이버 커넥트재단 부스트캠프 AI Tech 5기입니다. ※

profile
AI-Kid

0개의 댓글