jupyter-to-marimo について
Jupyter Notebookをmarimoに変換する開発者向けの手順ガイドです。生成コードの確認と調整、元の動作の維持、変換結果の検証方法を説明します。
主な機能
- 01marimo convertによる変換
- 02依存関係とインストールセルの確認
- 03セルと出力表示の整理
- 04操作要素と副作用の確認
- 05marimo checkによる検証
活用シーン
- 01Jupyter Notebookの移行
- 02変換時に漏れた依存関係の修正
- 03変換後のNotebook動作の検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ marimo-team/ skills --skill jupyter-to-marimoインストール後、Claude Code で/jupyter-to-marimoを入力して読み込まれたか確認します。
同梱ファイルreferences/latex.mdreferences/widgets.md
詳細
Jupyter Notebook を Marimo に変換する
まず変換する
重要: ソースノートブックを読む前に、コンバーターを実行してください。
uvx marimo convert <notebook.ipynb> -o <notebook.py>
変換に失敗した場合、または生成されたファイルに必要な情報が含まれていない場合に限り、.ipynb ファイルを読んでください。生成されたファイルは初稿として扱ってください。
変換後、および大幅な編集を行った後に、このコマンドを実行してください。
uvx marimo check <notebook.py>
変換結果を確認する
- PEP 723 メタデータに必要なパッケージがすべて含まれていることを確認してください。コンバーターが一部のパッケージインストール形式を見落とす場合があります。
- 残存するインストール用セルや古いインストール説明文を削除してください。バージョン制約は必要な場合にのみ追加してください。
- ノートブックで PEP 723 メタデータが使用されている場合は、
--sandboxを使用してください。 - ソースノートブックの目的と意図されたワークフローを維持してください。
- セルを見せ方に合わせて配置してください。marimo は変数の定義と参照に基づいて実行順序を決定します。
- セルは、入力を定義するセルより前に表示される場合があります。
- 現在のセル境界によって明瞭さが損なわれる場合は、セルを結合または分割してください。
- 不要な
display()呼び出しなど、冗長な Jupyter の生成物を削除してください。 - 変換されたマジックコマンドを確認してください。有効な変換は維持し、未サポートのマジックを報告するコメントには対処してください。
- 各セルでレンダリングする値は、最後の式にしてください。
- 追加する UI やヘルパー関数は、ノートブックの目的に見合った規模にしてください。
- ターミナル入力を待つものや、対象インターフェースで動作しない対話型入力方法は置き換えてください。適切な UI コントロール、スクリプトパラメーター、または環境値を使用してください。
- シークレットを出力、ログ記録、または保存しないでください。複数の環境値を扱う場合は、EnvConfig を検討してください。
- 処理コストの高い作業や外部への副作用を特定してください。作業を保留する必要がある場合は、
mo.stop()と適切な UI 要素を使って実行を制御してください。 - ユーザーが複数の値をまとめて送信する必要がある場合は、フォームを使用してください。
- ゲートの後に後続の値を定義し、依存関係グラフによって依存セルの実行が保留されるようにしてください。
- 便利な結果は、シンプルなネイティブコンポーネントで表示してください。意図されたワークフローで必要な場合にのみ、ライブ更新を追加してください。
- ipywidgets については、
references/widgets.mdを読んでください。 - LaTeX と MathJax については、
references/latex.mdを読んでください。
結果を検証する
- すべての編集後に、もう一度
marimo checkを実行してください。 - 想定される各モードでノートブックを実行し、意図したとおりに動作することを確認してください。
- 可能であれば、ソースノートブックと変換後のノートブックを並べて開き、ユーザーに確認してもらってください。
- 内容、コントロール、出力、ワークフローを比較してください。セルの順序やレイアウトは異なる場合があります。
- 変更されたファイルに、シークレット、生成データ、キャッシュ、ログ、その他のランタイムファイルが含まれていないか調べてください。
コメント
Markdown 対応