역시 모든 것이 다 회사에서 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 특징

  1. 빠른 개발 속도

    • 앱을 간단하고 빠르게 빌드 할 수 있고 반복적인 프로토타이핑이 가능하고 배포 속도를 높일 수 있음
  2. 간단한 사용법

    • 간단한 파이썬 코드로 작성 가능
  3. Interactive 기능

    • backend, http 요청 구현 필요 없음
  4. 시각적 사용자 정의 기능

    • Matplotlib, Plotly 등의 데이터 시각화 라이브러리를 쉽게 통합하여 다양한 시각적 사용자 정의 가능
  5. 실시간 업데이트 기능

    • 코드를 수정하면 앱이 자동 업데이트되어 효율적인 개발 가능
  6. 간편한 공유 기능

    • 간소화된 배포 과정을 통해 다른 사용자들에게



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")
    


1

태그:

카테고리:

업데이트: