
marimo
marimo team · コーディング
marimoは無料のオープンソースのリアクティブなPythonノートブックだ。再現可能なコード、Gitに優しいファイル、共有できるアプリを求めるデータサイエンティストと開発者に向く。

marimo について
marimoとは
marimoは、ひとつの考えを軸に作られたオープンソースのPythonノートブックだ。コードとその出力は決して食い違うべきではない、という考えである。どのセルをどの順で実行したかを追う代わりに、ノートブックのどこかで値を変えると、それに依存するセルをmarimoが自動で実行する。従来のノートブックを信用しにくくし、同僚への引き継ぎをさらに難しくしていた隠れた状態が、これで消える。
ノートブックはすべて素の.pyファイルとして保存されるため、バージョン管理は他のコードと同じように機能する。同じファイルをスクリプトとして実行し、対話的なWebアプリとして起動し、サーバーなしでWebAssembly経由でブラウザで開くこともできる。無料のホスト版molabを使えば、オンラインで試せる。
難点は何か。リアクティブ実行では、どこかを少し変えるたびに高コストなセルが再実行されるので、重い処理には注意が要る。遅いセルは自動実行せず古い状態としてマークできるが、これは自分で意識すべき設定だ。marimo cloudはまだクローズドベータで、自前のサーバーを動かさず完全管理のホスティングを求めるチームは、公開を待つか自分でインフラを用意するしかない。
はじめかた
- pip(
pip install marimo)、uv、condaでパッケージを入れるか、インストールを省いて無料オンライン版のmolabでノートブックを開く。 - ターミナルで
marimo editを実行し、エディタを起動して新しいノートブックを作る。 - セルにPythonを書く。実行すると、その変数に依存するセルをmarimoが自動で実行する。
- スライダーや表、プロットをPython変数に紐づけて対話性を加える。コールバック関数は要らない。
- 作業を
.pyファイルとして保存し、共有したくなったらスクリプトとして実行するかWebアプリとしてデプロイする。
AIツール情報
marimoの料金、対応プラットフォーム、性能を簡単に確認できます。
こんな人におすすめ
このツールが最も力を発揮するユーザー、タスク、シーン。
ユーザー
- データサイエンティスト:リアクティブ実行により、手動で再実行せずとも分析を再現可能に保てる。ただしPythonに慣れていることが前提だ。
- 開発者:`.py`保存とスクリプト実行は、既存のGitワークフローとコードレビューにそのまま乗る。
- 教育者:対話的なウィジェットは、ライブデモや共有ダッシュボードを授業で実用的にする。
タスク
- データセットを探索してグラフを作る:表やプロットを変数に紐づければ、一緒に更新されるのが見える。
- データフレームやウェアハウスに対してSQLを書く:Pythonノートブックの中で直接データを問い合わせる。
- ノートブックを小さな社内ツールに変える:チーム全員が開けるWebアプリとしてデプロイする。
シーン
- 数か月後にモデル訓練を再現し、同じ数値を得る。
- レビュー担当者が静的な出力を読む代わりにスライダーを動かせる、対話的なレポートを共有する。
- WebAssemblyにより、バックエンドを用意せずブラウザでダッシュボードを試作する。
主な機能
リアクティブ実行
marimoを定義づける機能だ。ひとつのセルを実行すると、それに依存するすべてのセルが再実行されるので、Jupyter利用者を悩ませる古びた順序不同の状態にノートブックは陥らない。セルが高コストなら、依存セルを再実行せず古い状態としてマークするようmarimoに指示できる。結果として、出力が常に上のコードと一致するノートブックになる。
純粋なPythonファイル保存
marimoのノートブックはすべてJSONではなく.pyファイルとして保存される。差分は読みやすく、マージ衝突も扱いやすく、ノートブックはプロジェクトの他の部分と一緒にGitの中で生きる。あるノートブックの関数を別のノートブックへimportできるので、ノートブックは孤立した文書ではなく再利用可能なモジュールになる。
組み込みの対話性
UI要素をPython変数に直接紐づける。スライダーはコールバックで配線されるのではなく、値を読み書きするだけで、残りはmarimoが引き受ける。表もプロットもフォーム入力も同じように動くので、分析を小さなアプリにする作業は面倒どころか楽になる。
SQLサポート
marimoはPythonと並んでSQLをネイティブに扱う。データフレーム、データベース、ウェアハウス、レイクハウスをノートブックから出ずに問い合わせ、結果をPythonの作業と混ぜられる。分析の半分がpandas、半分がウェアハウスにあるなら、これは確かに便利だ。
スクリプトまたはアプリとして実行
同じファイルをPythonスクリプトとして実行し、コマンドライン引数でパラメータ化し、対話的なWebアプリやスライドデッキとしてデプロイできる。別途のエクスポート手順も書き直しもない。ひとつのファイル、三つの使い方だ。
WebAssemblyによるブラウザ実行
marimoはWebAssembly経由でサーバーなしにブラウザだけで動く。何もインストールしたくない相手とノートブックを共有する際の壁を下げる。無料のmolabもこれによって数秒で動き出す。
AIネイティブなワークフロー
marimoはAIツールを念頭に設計された。Claude CodeのようなAIコーディングエージェントとノートブックを組み合わせたり、エディタ内蔵のAI機能で執筆中の補完や支援を受けたりできる。リアクティブモデルはここでも役立つ。自動編集が隠れた依存を残せないからだ。
メリットとデメリット
メリット
- リアクティブ実行が隠れた状態を排除するので、出力は常に目に見えるコードと一致する。
- ノートブックを`.py`ファイルとして保存すると、バージョン管理とコードレビューが素直になる。
- ひとつのファイルがスクリプト、Webアプリ、ブラウザのいずれでも動き、エクスポートの手間を減らす。
- 寛容なライセンスの無料オープンソースで、機能に課金の壁がない。
デメリット
- 大規模なデータセットではリアクティブな再実行が高コストになり、どのセルを古い状態にするか管理を迫られる。
- 成熟したJupyterのプラグイン群に比べ、サードパーティのプラグインやチュートリアルは少ない。
- marimo cloudはまだクローズドベータで、管理型ホスティングはまだ誰にでも使えるわけではない。
よくある質問
marimoはデータ分析、モデル訓練、SQLクエリのためのリアクティブなPythonノートブックだ。従来のノートブックが許す隠れた状態ではなく、再現可能な結果とGitに優しいファイルを求める人に向く。
関連コンテンツ
marimoに関連するツール、スキル、記事を探す。
marimoの代替ツール
Forefront
Forefront · コーディングForefrontはオープンソースAIで構築するためのウェブプラットフォームだ。主要なオープンソース言語モデルを自分のデータで微調整し、性能を評価し、API経由で実行したり、エクスポートして自分でホストしたりできる。クローズドなプラットフォームの手軽さを求めつつ、モデルとデータの所有権にはこだわる開発者が対象だ。
Startkit
StartKit.AI · コーディングStartkitは、AI SaaSとAIラッパー製品を作るためのボイラープレートだ。面倒な部分をあらかじめ配線済みにしたAIスタートアップボイラープレートと考えればいい。認証、StripeとLemon Squeezyの決済、利用制限、トランザクションメール、そしてOpenAI、Anthropic、Groq、Llamaと通信するAI APIスターターキットが含まれる。リポジトリをクローンして価格を設定し、ユーザーが実際にお金を払う部分に取りかかれる。ReactとTailwind上のNext.jsで作られているため、ボイラープレートコードの多くはすでに見慣れたものだ。
Testim
Tricentis · コーディングTestimは、Web・モバイル・Salesforceアプリ向けにエンドツーエンドテストを構築して実行するAIテスト自動化プラットフォームだ。機械学習を頼りに、インターフェースが変わってもテストを安定させ、チームが壊れたセレクターの修正に費やす時間を減らす。今日から使い始められる自動テストツールとしては悪くない。ブラウザで操作を録画してテストを作り、より細かい制御が必要なときはJavaScriptを足す。忙しいQAチームにとって堅実な選択肢である。
