この記事は GMOインターネットグループ Advent Calendar 2025 5日目の記事です。
こんにちは!
GMOインターネット株式会社の杉浦巧です。
今回は最近触って感動したmarimoに関して紹介します!
目次
はじめに
Python で分析や可視化をするとき、セルごとに実行できる Notebook 形式は本当に便利ですよね。
みなさんは普段、どの Notebook を使っていますか?
多くの方は Jupyter や Google Colab を使っているのではないでしょうか。
そんな中、最近 “次世代ノートブック” と呼ばれる marimo を触ってみたところ、あまりにも快適で驚きました。
「え、もう Jupyter に戻れない…」と本気で感じるレベルです。
marimoとは何か?
marimo は オープンソースの Python ノートブック で、
従来のノートブックが抱えていた “再現性” や “バージョン管理のしづらさ” を解決することを目的に作られたツールです。
一言でいえば、
「ノートブックの手軽さ」と「ソフトウェアとしての堅牢さ」を両立させた新しい開発体験を提供してくれる存在です。
公式サイトとリポジトリのリンクを以下にまとめておきます。
https://marimo.io/
https://github.com/marimo-team/marimo
marimoのここがすごい!!
セルの依存関係の自動管理
marimo はノートブック全体を「データフローグラフ」として扱い、あるセルを変更すると、そのセルに依存する部分だけが自動で再実行されます。
そのため「どのセルから実行するべきか」「実行順がバグって壊れた」という Notebook 特有の悩みがなくなります。常に一貫した状態を保てるのが大きな魅力です。
リアクティブ性
コードや値を変更すると、グラフやUIが即座に更新されます。
“実行ボタンを押す” という概念がほぼ不要で、リアクティブアプリのような体験が得られます。UIパーツとコードも自動で同期するため、手間なくインタラクティブな分析環境を構築できます。
Gitフレンドリー
marimo のノートブックは .py ファイルとして保存されるため、Git でのバージョン管理が非常にしやすいです。
差分が綺麗に表示され、レビューやマージがスムーズに行えます。従来の Notebook にありがちな「出力混ざり問題」も回避できます。
DBフレンドリー
SQL の実行、データフレーム操作、データベースとの接続が自然に記述できるようになっています。
データ分析〜集計〜可視化までの一連の流れを marimo 上で完結させることができ、データ関連の作業と相性が非常に良いです。
AIネイティブな設計
marimo は AI 活用を前提にした設計になっており、AI の提案によるコード作成、Chat UI の埋め込み、LLM と連動したインタラクティブアプリの構築などが可能です。
Notebook と AI の組み合わせが自然に扱えるのは大きな強みです。
テスト可能性
marimo のノートブックは Python モジュールとして import できるため、pytest などを使ったユニットテストを簡単に書けます。
Notebook を “本番品質” に寄せるための仕組みが初めから用意されている点が特徴的です。
デモ
今回は marimo を立ち上げて BigQuery と連携し、データを可視化するところまでを紹介します。
インストール&起動
Python環境があればpipでインストールするだけで、簡単に利用できます。
pip install marimo
uvやconda環境の方は以下で追加します。
uv add marimo or conda install -c conda-forge marimoインストールが完了したら、marimo_notebook を起動してみます。
自動的に .py ファイルが作成されるので、任意の名前を付けてください。
marimo edit my_notebook.py起動が完了すると、次のように URL が出力されます。
クリックするか、ブラウザにコピーしてアクセスしてください。
(marimo-sample) marimo-sample$ marimo edit my_notebook.py
Edit my_notebook.py in your browser 📝
➜ URL: http://localhost:2718?access_token=q3546u57ektyjrt4u57eiyjリンクに遷移して以下のような画面になっていれば起動成功です。

Agent設定
このままでも利用できますが、今の時代は AI チャットやコード補完が欲しくなりますよね。
marimo でも、設定を行えば Copilot のような補完を使えるようになります。
まず、左側のメニューから 「Chat with AI」 タブを開き、「AI settings」 をクリックします。
次に 「AI Providers」 タブを選択し、利用したい AI の API キー と Base URL を設定してください。

次に AI Models のタブで、利用したいモデルを ON にします。
その後、AI Features タブに戻り、
「CODE COMPLETION」と「AI ASSISTANT」の項目で、先ほど ON にしたモデルを選択します。
「CODE COMPLETION」については、GitHub Copilot を使っている場合は Provider から Copilot を選択してください。
好きなモデルを使いたい場合は custom を選択すれば問題ありません。

設定が終わったら、試しに AI with chat で何かプロンプトを入力してみてください。
問題なく応答が返ってくれば設定完了です。
初回実行時は、必要なライブラリがインストールされていない場合に警告が出ることがあります。
その際は、自分の環境に合わせて Install をクリックしてください。私は uv を使ってインストールしました。
従来は Jupyter でセルを使ってインストールしていましたが、marimo では不足ライブラリをワンクリックで入れられるので、地味に嬉しいポイントです。
これで Chat 機能・Generate 機能・Completion 機能 が使えるようになります。

DB接続
今回は、DB の接続先として BigQuery に接続します。
左メニューの Explore data sources から Add database or catalog をクリックしてください。
次に BigQuery を選択し、project_id、dataset、Credentials JSON を入力します。
余談ですが、これだけ多くの種類のデータベースをサポートしているのは本当にありがたいですね。

Add をクリックすると、対応するコードがセルに自動生成されます。
そのセルを実行すると、DATASOURCES タブに指定したデータセットがマウントされていることを確認できます。
marimo では Python や Markdown に加えて SQL もサポートしているため、セル内で直接 SQL を実行できるのも便利なポイントです。

SQL セルでは、取得するデータソースと出力先の変数名を指定します。
セルを実行すると、指定した変数が自動的に追加されているのを確認できるはずです。
また、クエリ結果については 簡易的な可視化 も自動で行ってくれます。
普段の業務で SQL を中心にデータ加工をしている方は、こちらの方が扱いやすいと感じるかもしれませんね。

可視化
最後に、取得したデータを可視化してみます。
matplotlib を使っても良いのですが、今回は 手軽にインタラクティブな可視化 を行うため、marimo ライブラリを使って描画してみます。
先ほど SQL で取得したデータを、以下のコードで可視化します。
# セル2
start, end = date.value
filtered = df.filter(
(pl.col("record_date") >= start) &
(pl.col("record_date") <= end)
)
mo.ui.altair_chart(
alt.Chart(filtered.to_pandas())
.mark_line()
.encode(x="record_date:T", y="value1:Q")
.properties(height=300, title="value1 の推移(期間変更で自動更新)")
)
実行すると、以下のようなグラフが表示されます。
また、セル 1 で期間を選択すると、下のグラフの表示範囲が自動で更新されます。
このように UI コンポーネントを簡単に設置できる のも、marimo の大きな強みです。

まとめ
今回は簡単なデモでしたが、使いこなせば BI ツールやアプリケーションとしてデプロイすることも可能です。特に、組織的にデータ分析を行っている環境では、コードで管理できる点などが刺さるポイントだと思います。
一方で、まだ動作が安定しない部分があるのも事実で、大規模に組織導入するには不安定なところも残っています。
marimo は「Notebook の便利さ」と「ソフトウェアとしての堅牢さ」を両立させた、これまでにない開発体験を提供するツールです。セルの依存関係は自動管理され、リアクティブに動作し、Git・データベース・AI とも自然に連携できます。テストや再利用も容易で、Notebook を使い捨てではなく“育てられる資産”へと変えてくれます。
Jupyter や Colab を普段使っている方ほど、「ノートブックでもここまでできるのか」という違いを強く感じるはずです。
新しい選択肢として、一度触ってみていただければと思います。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(594)
-
イベント(237)
-
カルチャー(60)
-
デザイン(70)
TAG
- 5G
- AI
- AI TALK
- AI 機械学習強化学習
- AI/機械学習
- AIエージェント
- AIコーディング
- AI人財
- AI駆動
- Behind the Scenes
- BIT VALLEY
- blockchain
- ChatGPT
- ChatGPT Team
- Claude Team
- cloudflare
- cloudnative
- CNDO
- CNDT
- CODE BLUE
- ConoHa
- ConoHa VPS
- CSS
- CTF
- Designship
- developer
- DevRel
- DevSecOpsThon
- Docker
- DTF
- Engineering Journey
- expert
- EXPERT CROSS
- GMO AI&ロボティクス商事
- GMO AIR
- GMO DESIGN AWARD
- GMO Developers Day
- GMO Developers Night
- GMO Flatt Security
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOインターネット
- GMOインターネットグループ
- GMOインターネットグループ陸上部
- GMOグローバルサイン
- GMOコネクト
- GMOサイバーセキュリティ byイエラエ
- GMOデジキッズ
- GMOブランドセキュリティ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOメディア
- GMO大会議
- GMO天秤AI
- Go
- Good Morning
- GPUクラウド
- GTB
- Hack-1グランプリ
- iOS
- IoT
- ISUCON
- Japan Drone
- JapanDrone
- Java
- JJUG
- K8s
- Kaigi on Rails
- Kids VALLEY
- LLM
- MCP
- MetaMask
- MySQL
- NFT
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- Python
- RPA
- Ruby
- SECCON
- Selenium
- Spectrum Tokyo Meetup
- splunk
- SRE
- Takumi byGMO
- Terraform
- TypeScript
- UI/UX
- vibe
- VPN
- VS Code
- XSS
- ZTNA
- アドベントカレンダー
- インターンシップ
- インハウス
- お名前.com
- クリエイターインタビュー
- クリエイティブ
- コンテナ
- サイバーセキュリティ
- サマーインターン
- スクラム
- スペシャリスト
- セキュリティ
- ソフトウェアサプライチェーン
- チームビルディング
- デザイン
- ネットのセキュリティもGMO
- ハーネスエンジニアリング
- バックエンド
- ヒューマノイド
- ヒューマノイドロボット
- プログラミング教育
- ブロックチェーン
- フロントエンド
- ゆめみらいワーク
- リモートワーク
- レンタルサーバー
- ロボット
- 京大ミートアップ
- 国際ロボット展
- 基礎
- 多拠点開発
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 技術広報
- 技術書典
- 新卒
- 新卒研修
- 映像
- 映像クリエイター
- 暗号
- 業務効率化
- 機械学習
- 決済
- 生成AI
- 脆弱性診断
- 開発者
PICKUP
-
デザインカンファレンス「Yoitoi Summit 2026」をGMOYours・フクラスにて開催!
デザイン
-
攻撃者優位の時代に問われる「使命感」 GMO Flatt Security&GMOサイバーセキュリティ byイエラエが描く、AI時代のセキュリティ構想(後編)ーEngineering Journey
技術情報
-
頂上と裾野の両方から「底上げ」 GMO Flatt Security&GMO サイバーセキュリティ byイエラエが支える、日本のサイバーセキュリティ(前編)ーEngineering Journey
技術情報
-
【開催レポート】八幡小学校 社会科見学 at GMO kitaQ
カルチャー
-
デザインコンテスト「GMO DESIGN AWARD 2026」開催決定!3年目のテーマは「トキメキ」
デザイン
-
ソフトウェアサプライチェーン攻撃から「エンジニアの背中」を守る。Takumi byGMO・「Guard」機能「Runner」機能 開発の舞台裏ーEngineering Journey
技術情報