Streamlit 및 Streamlit 구성 요소 소개

Streamlit은 기계 학습 및 데이터 과학 팀을 위한 오픈 소스 앱 프레임워크입니다.



이 기사에서는 Auth0 인증 구현이라는 최종 목표를 가지고 Streamlit 앱 및 사용자 지정 Streamlit 구성 요소를 구축하는 방법을 보여줍니다.




요약: Streamlit은 기계 학습 및 데이터 과학 팀을 위한 오픈 소스 앱 프레임워크입니다. 몇 시간 안에 멋진 데이터 앱을 만들 수 있습니다. 모두 순수 Python입니다. Streamlit은 2019년 10월에 출시되었으며 최근acquired by Snowflake . 데이터 사이언스 커뮤니티에는 이에 대한 큰 흥분이 있습니다. 하지만 데이터 과학만을 위한 것은 아닙니다. 구성 요소 확장성 아키텍처를 통해 대부분의 웹 프런트엔드를 Streamlit 앱에 구축하고 통합할 수 있습니다. Streamlit에 대한 나의 경험은 Streamlit Creators의 공식 페이지에서 확인할 수 있습니다.

Streamlit이 매우 인기가 있고 진지하게 살펴볼 가치가 있다는 내 말을 믿지 마십시오. 다음은 다른 유사한 도구에 비해 Streamlit의 매우 빠른 채택률을 보여주는 차트 Ifound입니다.



왜 이렇게이다?

Streamlit은 단순성에 중점을 둡니다.



"How can we make a machine learning script and convert it into an app as simple as possible, so that it basically feels like a scripting exercise?", Inventor of Streamlit, Adrien Treuille (Ph.D.)



Streamlitpip를 통해 설치하는 단일 Python 패키지로, 다음과 같은 기능 세트를 제공합니다.
  • 기존 ML 코드 스크립트에 인터리브할 수 있습니다.
  • 기본적으로 ML 코드를 매개변수화할 수 있도록 함
  • 약간의 레이아웃을 수행하고

  • ML 코드를 멋진 앱으로 마술처럼 바꿔줍니다.

  • 영감은 Jupyter, ipywidgets, R-Shiny, Voila, React 등에서 가져오지만 소프트웨어 아키텍처라기보다는 길잡이 역할에 더 가깝습니다. 콜백 연결이 아닌 declarative data flow model 을 기반으로 하는 Streamlit 구현에는 상당한 기술적 차이가 있습니다.

    scikit-learn , spaCy , Pandas 과 같은 Python 프레임워크와 Altair , PlotlyMatplotlib 과 같은 다양한 시각화 프레임워크는 모두 Streamlit과 원활하게 작동합니다.

    Streamlit은 다양한 용도를 지원합니다.


  • 모든 데이터 분석 팀은 앱을 만들어야 합니다. 그들은 팀의 모닥불과 같은 초점입니다. 팀원들이 모여 소통하는 곳입니다.
  • 앱은 특히 중요한 프로젝트에서 ML(데이터 분석) 워크플로의 중요한 부분입니다.
  • 이는 내부 앱에만 적용되는 것이 아닙니다. 기계 학습 연구원과 데이터 과학자는 외부 소비를 위한 앱도 구축해야 합니다. 다른 팀은 다양한 방식으로 모델을 사용해야 하며 이를 위해 필요하지만 다른 애플리케이션 계층을 구축하는 것이 훨씬 쉬워야 합니다.

  • 저는 Streamlit의 열렬한 팬이며 진지한 작업과 놀이에 광범위하게 사용합니다. 이전 직장에서 고객 및 동료와 외부에서 공유해야 하는 여러 사내 앱을 개발했기 때문에 보안 및 인증 기능을 추가하는 것이 필수적이었습니다. 이 기사에서 볼 수 있듯이 Streamlit의 임베디드 구성 요소, 확장성 아키텍처 및 기본 세션 상태 관리는 이 보안 목표를 실현하는 데 도움이 될 것입니다.

    다음은 이 문서의 GitHub repository입니다.

    Streamlit 시작하기



    핵심 Streamlit 문서, 토론 포럼 및 예제 갤러리는 매우 훌륭합니다. 이 문서는 결코 이를 대체하지 않지만 Auth0과의 통합이라는 구체적인 목표로 Streamlit에 대해 배우기 시작할 수 있는 대체 장소 역할을 할 것입니다. Streamlit에 대해 더 자세히 알아보려면 다음 링크를 확인하세요. API Docs | Gallery | GitHub | Discussion Forum | Discord Server .

    빠른 설치



    To use Streamlit, you'll need Python 3.5 or above. I use the Anaconda Python distribution (conda) and Visual Studio Code IDE with Python extensions, which works well with conda environments.


  • conda console 창 열기
  • 필요한 경우 패키지 요구 사항을 설치하려는 환경에 대해 conda activate를 실행합니다. managing conda environments을 참조하십시오.
  • 콘솔 창에서 다음 명령 중 하나를 실행합니다.

  • 
    $ pip install --upgrade streamlit
    # and
    $ pip install -r requirements.txt
    
    


    후자의 명령은 이 문서에 필요한 모든 패키지가 Python 환경에 있는지 확인합니다. requirements file은 이 문서의 GitHub repository에 있습니다.

    Note: Linux and Mac users, please remove the windows-curses package from the requirements file. The curses package comes with the Python standard library. In Linux and Mac, the curses dependencies should already be installed, so there are no extra steps needed. On Windows, you need to install one special Python package, windows-curses, available on PyPI to add curses support.



    Read more...

    좋은 웹페이지 즐겨찾기