Hub documentation
Spaces의 Shiny
Spaces의 Shiny
Shiny는 간단하고 아름답고 성능이 뛰어난 데이터 애플리케이션을 구축하기 위한 오픈소스 프레임워크입니다. Shiny를 개발할 때의 목표는 오후 한 번 만에 누군가에게 가르칠 수 있을 만큼 단순하면서도, 대규모의 핵심 업무 애플리케이션을 구동할 수 있을 만큼 확장 가능한 것을 만드는 것이었습니다. 몇 분 만에 유용한 Shiny 앱을 만들 수 있지만, 프로젝트 범위가 커져도 Shiny가 해당 애플리케이션을 수용할 수 있다는 점을 확신할 수 있습니다.
Shiny를 다른 프레임워크와 구분하는 주요 특징은 반응형 실행 모델입니다. Shiny 앱을 작성하면 프레임워크는 입력, 출력, 중간 계산 간의 관계를 추론하고, 이러한 관계를 사용하여 사용자의 동작으로 인해 변경이 필요한 것만 렌더링합니다. 그 결과, 사용자는 데이터를 명시적으로 캐시하거나 콜백 함수를 작성하지 않고도 효율적이고 확장 가능한 애플리케이션을 쉽게 개발할 수 있습니다.
Shiny for Python
Shiny for Python은 Shiny의 순수 Python 구현입니다. 이를 통해 R을 사용하지 않고도 반응성, 복잡한 레이아웃, 모듈 등 Shiny의 모든 훌륭한 기능을 활용할 수 있습니다. Shiny for Python은 다른 Hugging Face 도구와 원활하게 통합되므로 Hugging Face 애플리케이션에 이상적입니다.
Space 배포를 시작하려면 이 버튼을 클릭하여 하드웨어를 선택하고 공개 또는 비공개 Space 중 원하는 옵션을 지정하세요. Space 템플릿은 앱을 시작하기 위한 몇 가지 파일을 자동으로 생성합니다.
app.py
이 파일은 앱의 로직을 정의합니다. 이 파일을 수정하는 방법에 대해 자세히 알아보려면 Shiny for Python 문서를 참조하세요. 앱이 점점 더 복잡해지면, 애플리케이션 로직을 모듈로 나누는 것이 좋습니다.
Dockerfile
The Dockerfile for a Shiny for Python app is very minimal because the library doesn’t have many system dependencies, but you may need to modify this file if your application has additional system dependencies. The one essential feature of this file is that it exposes and runs the app on the port specified in the space README file (which is 7860 by default).
requirements.txt
Space는 requirements.txt 파일에 나열된 종속성을 자동으로 설치합니다. 이 파일에 shiny를 포함해야 한다는 점에 유의하세요.
Shiny for R
Shiny for R는 R 커뮤니티에서 인기 있고 확립된 애플리케이션 프레임워크로, Hugging Face 인프라에 R 앱을 호스팅하거나 훌륭한 Shiny R 확장 중 일부를 활용하고 싶다면 좋은 선택지입니다. R 앱에 Hugging Face 도구를 통합하려면 httr2를 사용하여 Hugging Face API를 호출하거나, reticulate를 사용하여 Hugging Face Python SDK 중 하나를 호출할 수 있습니다.
R Shiny Space를 배포하려면 이 버튼을 클릭하고 Space 메타데이터를 입력하세요. 이렇게 하면 시작에 필요한 모든 파일이 Space에 채워집니다.
app.R 이 파일에는 애플리케이션 로직이 모두 포함되어 있습니다. 원하시는 경우, 이 파일을 ui.R과 server.R으로 분리할 수 있습니다.
Dockerfile
Dockerfile은 rocker shiny 이미지를 기반으로 빌드됩니다. 추가 패키지를 사용하려면 이 파일을 수정해야 합니다.
tidyverse 패키지를 많이 사용하는 경우 기본 이미지를 rocker/shinyverse로 변경하는 것을 권장합니다.
dockerfile의 RUN install2.r 섹션 아래에 추가 R 패키지를 추가하여 설치할 수 있으며, RUN installGithub.r 아래에 저장소를 추가하여 github 패키지를 설치할 수 있습니다.
이 Dockerfile에는 두 가지 주요 요구 사항이 있습니다:
먼저, 파일은 README에 나열한 포트를 노출해야 합니다. 기본값은 7860이며, 특별한 이유가 없는 한 이 포트를 변경하지 않는 것을 권장합니다.
둘째, 현재 Hugging Face에서 앱 타임아웃 문제를 해결하는 httpuv의 개발 버전을 사용해야 합니다.