재현 가능하고 Git 친화적이며 스크립트나 앱으로 배포 가능한 반응형 Python 노트북입니다.
문서 · Discord · 예제
영어 |简体中文
marimo 는 반응형 Python 노트북입니다. 셀을 실행하거나 UI 요소와 상호 작용하면 marimo는 자동으로 종속 셀을 실행(또는 오래된 것으로 표시)하여 코드와 출력의 일관성을 유지합니다. 마리모 노트북은 순수 Python으로 저장되고, 스크립트로 실행 가능하며, 앱으로 배포 가능합니다.
하이라이트 .
jupyter
, streamlit
, jupytext
, ipywidgets
, papermill
등을 대체합니다..py
파일로 저장됩니다. pip install marimo & & marimo tutorial intro
전적으로 브라우저에서 실행되는 온라인 놀이터에서 마리모를 사용해 보세요!
CLI 입문서에 대한 빠른 시작으로 이동하세요.
marimo는 노트북 코드, 출력 및 프로그램 상태의 일관성을 보장합니다. 이는 Jupyter와 같은 기존 노트북과 관련된 많은 문제를 해결합니다.
반응형 프로그래밍 환경. 셀을 실행하면 마리모는 해당 변수를 참조하는 셀을 자동으로 실행하여 반응하므로 수동으로 셀을 다시 실행하는 오류가 발생하기 쉬운 작업이 제거됩니다. 셀을 삭제하면 마리모는 프로그램 메모리에서 해당 변수를 제거하여 숨겨진 상태를 제거합니다.
고가의 노트북과 호환됩니다. marimo를 사용하면 런타임을 게으르게 구성하여 영향을 받는 셀을 자동으로 실행하는 대신 오래된 것으로 표시할 수 있습니다. 이를 통해 비용이 많이 드는 셀이 실수로 실행되는 것을 방지하면서 프로그램 상태를 보장할 수 있습니다.
동기화된 UI 요소. 슬라이더, 드롭다운, 데이터 프레임 변환기, 채팅 인터페이스 등의 UI 요소와 상호 작용하면 이를 사용하는 셀이 최신 값으로 자동으로 다시 실행됩니다.
대화형 데이터프레임. 코드가 필요 없이 엄청나게 빠른 속도로 수백만 행의 페이지를 살펴보고, 검색하고, 필터링하고 정렬할 수 있습니다.
고성능 런타임. 마리모는 코드를 정적으로 분석하여 실행해야 하는 셀만 실행합니다.
동적 마크다운 및 SQL. Markdown을 사용하여 Python 데이터에 의존하는 동적 스토리를 전달하세요. 또는 Python 값에 의존하는 SQL 쿼리를 작성하고 결과를 Python 데이터프레임으로 반환하는 내장된 SQL 엔진을 사용하여 데이터프레임, 데이터베이스, CSV, Google 스프레드시트 또는 기타 항목에 대해 실행합니다.
귀하의 노트북은 마크다운이나 SQL을 사용하더라도 여전히 순수한 Python입니다.
결정적인 실행 순서. 노트북은 페이지의 셀 위치 대신 변수 참조를 기반으로 결정적인 순서로 실행됩니다. 당신이 하고 싶은 이야기에 가장 잘 맞도록 노트를 정리하세요.
내장된 패키지 관리. marimo에는 모든 주요 패키지 관리자에 대한 지원이 내장되어 있어 가져올 때 패키지를 설치할 수 있습니다. marimo는 노트북 파일의 패키지 요구 사항을 직렬화하고 격리된 venv 샌드박스에 자동으로 설치할 수도 있습니다.
배터리 포함. marimo에는 GitHub Copilot, AI 도우미, Ruff 코드 형식 지정, HTML 내보내기, 빠른 코드 완성, VS Code 확장, 대화형 데이터 프레임 뷰어 및 기타 다양한 고품질 기능이 함께 제공됩니다.
설치. 터미널에서 다음을 실행하세요.
pip install marimo # or conda install -c conda-forge marimo
marimo tutorial intro
노트북을 만듭니다.
다음을 사용하여 노트북을 만들거나 편집하세요.
marimo edit
앱을 실행하세요. Python 코드를 숨기고 편집할 수 없는 상태에서 노트북을 웹 앱으로 실행하세요.
marimo run your_notebook.py
스크립트로 실행합니다. 명령줄에서 노트북을 스크립트로 실행합니다.
python your_notebook.py
Jupyter 노트북을 자동으로 변환합니다. CLI를 사용하여 Jupyter 노트북을 Marimo 노트북으로 자동 변환
marimo convert your_notebook.ipynb > your_notebook.py
또는 웹 인터페이스를 사용하세요.
튜토리얼. 모든 튜토리얼 나열:
marimo tutorial --help
문서에서 FAQ를 참조하세요.
마리모는 시작하기 쉽고 고급 사용자를 위한 공간이 많습니다. 예를 들어 다음은 marimo로 만든 임베딩 시각화 도우미입니다(비디오).
자세한 내용은 문서, examples/
폴더 및 갤러리를 확인하세요.
지도 시간 | 입력 | 플롯 | 공들여 나열한 것 |
모든 기여에 감사드립니다! 도움을 주기 위해 전문가가 될 필요는 없습니다. 시작하는 방법에 대한 자세한 내용은 CONTRIBUTING.md를 참조하세요.
질문? Discord에서 우리에게 연락하세요.
우리는 커뮤니티를 구축하고 있습니다. 우리와 함께 놀러 오세요!
marimo는 오류가 발생하기 쉬운 JSON 스크래치패드 대신 재현 가능하고 대화형이며 공유 가능한 Python 프로그램으로 Python 노트북을 재창조한 것 입니다.
우리는 우리가 사용하는 도구가 우리가 생각하는 방식, 즉 더 나은 도구, 더 나은 마음을 형성한다고 믿습니다. 마리모를 통해 우리는 Python 커뮤니티에 연구하고 전달할 수 있는 더 나은 프로그래밍 환경을 제공하고자 합니다. 코드를 실험하고 공유합니다. 계산 과학을 배우고 가르칩니다.
우리의 영감은 특히 Pluto.jl, ObservableHQ 및 Bret Victor의 에세이 등 다양한 장소와 프로젝트에서 나옵니다. marimo는 반응형 데이터 흐름 프로그래밍을 향한 더 큰 움직임의 일부입니다. IPyflow, streamlit, TensorFlow, PyTorch, JAX 및 React에서 기능적, 선언적, 반응형 프로그래밍의 아이디어는 광범위한 도구를 더 나은 방향으로 변화시키고 있습니다.