Hub documentation
Spaces의 marimo
Spaces의 marimo
marimo는 Python용 반응형 노트북으로, 노트북을 데이터플로우 그래프로 모델링합니다. 셀을 실행하거나 UI 요소와 상호작용하면 marimo는 영향을 받는 셀을 자동으로 실행하거나(또는 stale로 표시하여) 코드와 출력이 일관되도록 유지하고, 버그가 발생하기 전에 이를 방지합니다. 모든 marimo 노트북은 순수 Python으로 저장되며, 스크립트로 실행하고 앱으로 배포할 수 있습니다.
주요 기능:
- ⚡️ 반응형: 셀을 실행하면 marimo가 종속 셀을 반응형으로 실행하거나 stale 상태로 표시합니다
- 🖐️ 인터랙티브: 슬라이더, 테이블, 플롯 등을 Python에 바인딩 — 콜백 불필요
- 🔬 재현 가능: 숨겨진 상태 없음, 결정론적 실행, 내장 패키지 관리
- 🏃 실행 가능: CLI 인자로 매개변수화된 Python 스크립트로 실행
- 🛜 shareable: 인터랙티브 웹 앱 또는 슬라이드로 배포하거나, WASM을 통해 브라우저에서 실행
- 🛢️ 데이터를 위해 설계됨: SQL로 dataframe과 database를 쿼리하고, dataframe을 필터링 및 검색
Spaces에 marimo 앱 배포
Spaces에서 marimo를 시작하려면 아래 버튼을 클릭하세요:
이 과정을 통해 marimo introduction notebook과 유사한 애플리케이션을 확인하게 됩니다.
marimo 앱 사용자 정의
marimo Space를 생성하면 시작에 도움이 되는 몇 가지 주요 파일을 받게 됩니다:
1. app.py
이것은 앱의 로직을 정의하는 주요 marimo 노트북 파일입니다. marimo 노트북은 @app.cell 데코레이터를 사용하여 셀을 정의하는 순수 Python 파일입니다. 노트북 및 앱 구축에 대해 자세히 알아보려면 marimo 문서를 참조하세요. 앱이 커지면 코드를 모듈로 정리하고 주요 노트북에 가져올 수 있습니다.
2. Dockerfile
marimo 앱의 Dockerfile은 marimo의 시스템 의존성이 적기 때문에 최소한의 구성으로 작성됩니다. 주요 요구 사항은 다음과 같습니다:
requirements.txt에 나열된 종속성을 설치합니다(uv사용)- 보안을 위해 루트가 아닌 사용자를 생성합니다
marimo run app.py를 사용하여 앱을 실행합니다
애플리케이션에 추가적인 시스템 종속성, 권한 또는 기타 CLI 플래그가 필요한 경우 이 파일을 수정해야 할 수 있습니다.
3. requirements.txt
Space는 requirements.txt 파일에 나열된 의존성을 자동으로 설치합니다. 이 파일에는 최소한 marimo를 포함해야 합니다. 앱에 필요한 기타 패키지도 추가해야 합니다.
marimo Space 템플릿은 필요에 따라 확장할 수 있는 기본 설정을 제공합니다. 배포되면 노트북은 코드 셀을 숨기고 인터랙티브 출력만 표시하는 “앱 모드”로 실행되며, 최종 사용자와 공유하는 데 적합합니다. Dockerfile의 marimo run 명령에 --include-code를 추가하여 앱에 코드 셀을 포함하도록 선택할 수 있습니다.
추가 리소스 및 지원
문제 해결
문제가 발생하면:
marimo run app.py를 사용하여 노트북이 로컬에서 앱 모드로 실행되는지 확인하세요.requirements.txt에 필요한 모든 패키지가 나열되어 있는지 확인하세요.- 포트 구성이 일치하는지 확인하세요(7860은 Spaces의 기본값입니다)
- Space 로그에서 Python 오류가 있는지 확인하세요
추가 도움이 필요하시면 marimo Discord에 방문하시거나 이슈를 생성하세요.
Update on GitHub