marimo

marimo

marimo team · コーディング

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

marimo の画面プレビュー

marimo について

marimoとは

marimoは、ひとつの考えを軸に作られたオープンソースのPythonノートブックだ。コードとその出力は決して食い違うべきではない、という考えである。どのセルをどの順で実行したかを追う代わりに、ノートブックのどこかで値を変えると、それに依存するセルをmarimoが自動で実行する。従来のノートブックを信用しにくくし、同僚への引き継ぎをさらに難しくしていた隠れた状態が、これで消える。

ノートブックはすべて素の.pyファイルとして保存されるため、バージョン管理は他のコードと同じように機能する。同じファイルをスクリプトとして実行し、対話的なWebアプリとして起動し、サーバーなしでWebAssembly経由でブラウザで開くこともできる。無料のホスト版molabを使えば、オンラインで試せる。

難点は何か。リアクティブ実行では、どこかを少し変えるたびに高コストなセルが再実行されるので、重い処理には注意が要る。遅いセルは自動実行せず古い状態としてマークできるが、これは自分で意識すべき設定だ。marimo cloudはまだクローズドベータで、自前のサーバーを動かさず完全管理のホスティングを求めるチームは、公開を待つか自分でインフラを用意するしかない。

はじめかた

  1. pip(pip install marimo)、uv、condaでパッケージを入れるか、インストールを省いて無料オンライン版のmolabでノートブックを開く。
  2. ターミナルでmarimo editを実行し、エディタを起動して新しいノートブックを作る。
  3. セルにPythonを書く。実行すると、その変数に依存するセルをmarimoが自動で実行する。
  4. スライダーや表、プロットをPython変数に紐づけて対話性を加える。コールバック関数は要らない。
  5. 作業を.pyファイルとして保存し、共有したくなったらスクリプトとして実行するかWebアプリとしてデプロイする。

AIツール情報

marimoの料金、対応プラットフォーム、性能を簡単に確認できます。

無料プランはい
有料プラン$0
プラットフォームWeb, Linux, macOS, Windows
開発元marimo team
カテゴリコーディング
リリース日Jun 2020
最終更新Oct 2025
サイト訪問数144.2K
サイト世界ランキング286.2K
API提供状況N/A

こんな人におすすめ

このツールが最も力を発揮するユーザー、タスク、シーン。

ユーザー

  • データサイエンティスト:リアクティブ実行により、手動で再実行せずとも分析を再現可能に保てる。ただし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 · コーディング

ForefrontはオープンソースAIで構築するためのウェブプラットフォームだ。主要なオープンソース言語モデルを自分のデータで微調整し、性能を評価し、API経由で実行したり、エクスポートして自分でホストしたりできる。クローズドなプラットフォームの手軽さを求めつつ、モデルとデータの所有権にはこだわる開発者が対象だ。

無料 / $0 - $99/mo詳細を見る
Startkit

Startkit

StartKit.AI · コーディング

Startkitは、AI SaaSとAIラッパー製品を作るためのボイラープレートだ。面倒な部分をあらかじめ配線済みにしたAIスタートアップボイラープレートと考えればいい。認証、StripeとLemon Squeezyの決済、利用制限、トランザクションメール、そしてOpenAI、Anthropic、Groq、Llamaと通信するAI APIスターターキットが含まれる。リポジトリをクローンして価格を設定し、ユーザーが実際にお金を払う部分に取りかかれる。ReactとTailwind上のNext.jsで作られているため、ボイラープレートコードの多くはすでに見慣れたものだ。

有料 / $99 - $499 one-time詳細を見る
Testim

Testim

Tricentis · コーディング

Testimは、Web・モバイル・Salesforceアプリ向けにエンドツーエンドテストを構築して実行するAIテスト自動化プラットフォームだ。機械学習を頼りに、インターフェースが変わってもテストを安定させ、チームが壊れたセレクターの修正に費やす時間を減らす。今日から使い始められる自動テストツールとしては悪くない。ブラウザで操作を録画してテストを作り、より細かい制御が必要なときはJavaScriptを足す。忙しいQAチームにとって堅実な選択肢である。

無料 / Custom pricing on request詳細を見る