Open Source · MIT License

marimo-sandbox

実用型 marimo ノートブック集

SQL・データ分析・機械学習・AI チャット・地図・ニューススクレイピングに加え、 災害情報を時系列でまとめるクロノロジー制作ツールを収録した、実用型ノートブック集です。

screenshot

🐍 marimo とは

marimo は Python と SQL を統合したオープンソースのリアクティブノートブック環境です。 セルの依存関係を自動追跡し、UI の操作に応じて必要なセルだけが自動で再実行されます。 ノートブックはプレーンな .py ファイルとして保存されるため、Git による差分管理にも適しています。

本リポジトリでは、この marimo を実務で使い倒すための実用的なサンプル集を提供します。 各ノートブックは「デモを開く」で実際の実行結果をブラウザで確認できます。

特集

🕐 クロノロジー制作ツール

地震や台風の発生時、SNS・報道・自治体発表に錯綜する情報を「いつ・どこで・ 誰が・何を伝えたか」の時系列に整理するためのツールです。このページでは サンプルデータを使ったタイムラインの「見える化」の見え方を紹介します。

📚 収録ノートブック

クロノロジー制作ツール

災害時の情報を時系列で整理・可視化するツール。カテゴリ絞り込み・イベント追加・CSV/JSON出力に対応。

  • pandas
  • matplotlib
  • timeline

データ分析 (EDA)

タイタニック号データを pandas / seaborn / plotly で探索。フィルタ操作がリアクティブに反映。

  • pandas
  • seaborn
  • plotly
  • matplotlib

機械学習パイプライン

scikit-learn でハイパーパラメータをスライダーからライブ調整。評価指標や混同行列が即更新。

  • scikit-learn

AI チャット

mo.ui.chat を使った OpenAI / Gemini 切替式チャット。モデル名や temperature も変更可能。

  • mo.ai
  • openai
  • google-genai

構造化情報抽出

langextract でテキストから人物名・日付・金額などを Gemini で抽出するデモ。

  • langextract
  • Gemini

ニューススクレイパー

Google News の RSS を取得して JSON に保存。実装は共有パッケージに分離。

  • requests
  • BeautifulSoup

ニュースダッシュボード

国・言語・件数を選んでニュースを取得し、テーブルとグラフで可視化。

  • pandas
  • plotly

プレゼンテーション

各セルをスライドにするプレゼンモード。再生ボタンでスライドショーを開始。

  • marimo slideshow

自由帳 (peach)

数学の美しさを味わうノート。モンテカルロ法での π 推定、カオスの分岐図、マンデルブロ集合、ベンフォードの法則を観察。

  • matplotlib
  • numpy
  • math

🧩 技術スタック

🚀 始め方

このリポジトリは uv を前提としています。

$ uv sync
$ uv run marimo edit sql_demo.py      # SQL デモ
$ uv run marimo edit data_analysis.py # データ分析
$ uv run marimo edit ml_pipeline.py   # 機械学習
$ uv run marimo edit ai_chat.py       # AI チャット

AI 系ノートブックを使う場合は、.env.example.env にコピーして API キーを設定してください。

$ cp .env.example .env

📓 学習リソース