Skip to content

Latest commit

 

History

History
243 lines (183 loc) · 15.1 KB

README_Japanese.md

File metadata and controls

243 lines (183 loc) · 15.1 KB

再現性が高く、Git対応で、スクリプトやアプリとしても展開できる リアクティブなPythonノートブック。

ドキュメント · Discord · サンプル

English | 简体中文 | 日本語

marimoはリアクティブなPythonノートブックです。セルを実行したり、UIエレメントと対話することで、依存するセルが自動的に実行される(または古い状態としてマークされる)ため、コードと出力の一貫性が保たれます。marimoノートブックは純粋なPythonとして保存され、スクリプトとして実行したり、アプリケーションとしてデプロイすることができます。

主な特徴

pip install marimo && marimo tutorial intro

オンラインプレイグラウンドで試してみましょう!完全にブラウザ上で動作します。

CLIの基本を学ぶにはクイックスタートへジャンプ。

リアクティブなプログラミング環境

marimoは、ノートブックのコード、出力、プログラムの状態の一貫性を保証します。これにより、Jupyterなどの従来のノートブックに関連する多くの問題を解決します。

リアクティブなプログラミング環境 セルを実行すると、marimoはその変数を参照するセルを自動的に実行し、セルを手動で再実行するというエラーが起きやすいタスクを排除します。セルを削除すると、marimoはそのセルの変数をプログラムメモリから削除し、隠れた状態を排除します。

重い処理のノートブックにも対応 marimoでは、ランタイムを遅延実行するように設定できます。影響を受けるセルを自動実行する代わりに、古い状態としてマークします。これにより、プログラムの状態を保証しながら、重い処理のセルが誤って実行されることを防ぎます。

同期されたUI要素 スライダードロップダウンデータフレーム変換チャットインターフェースなどのUI要素と対話すると、それらを使用するセルが最新の値で自動的に再実行されます。

インタラクティブなデータフレーム 数百万行のデータを高速にページング、検索、フィルタリング、ソートできます。コード不要です。

パフォーマンスの高いランタイム marimoは、コードを静的に分析することで、実行が必要なセルのみを実行します。

動的なマークダウンとSQL マークダウンを使用して、Pythonのデータに依存する動的なストーリーを作成できます。または、Pythonの値に依存するSQLクエリを作成し、データフレーム、データベース、CSV、Google Sheets、その他のデータソースに対して実行できます。組み込みのSQLエンジンは結果をPythonデータフレームとして返します。

マークダウンやSQLを使用していても、ノートブックは純粋なPythonのままです。

決定論的な実行順序 ノートブックは、セルのページ上の位置ではなく、変数の参照に基づいて決定論的な順序で実行されます。伝えたいストーリーに合わせてノートブックを整理できます。

ビルトインのパッケージ管理 marimoには、すべての主要なパッケージマネージャーのビルトインサポートがあり、インポート時にパッケージをインストールできます。marimoはパッケージの依存関係をノートブックファイルにシリアライズし、隔離された仮想環境サンドボックスに自動インストールすることもできます。

オールインワン marimoには、GitHub Copilot、AIアシスタント、Ruffコードフォーマッティング、HTMLエクスポート、高速なコード補完、VS Code拡張機能、インタラクティブなデータフレームビューアー、その他多くの機能が付属しています。

クイックスタート

インストール ターミナルで以下を実行:

pip install marimo  # または conda install -c conda-forge marimo
marimo tutorial intro

ノートブックの作成

以下のコマンドでノートブックを作成・編集:

marimo edit

アプリとして実行 Pythonコードを非表示かつ編集不可の状態でWebアプリとして実行:

marimo run your_notebook.py

スクリプトとして実行 コマンドラインでノートブックをスクリプトとして実行:

python your_notebook.py

Jupyterノートブックの自動変換 CLIを使用してJupyterノートブックをmarimoノートブックに自動変換:

marimo convert your_notebook.ipynb > your_notebook.py

またはWeb変換ツールを使用することもできます。

チュートリアル 全てのチュートリアルを表示:

marimo tutorial --help

質問がありますか?

ドキュメントのFAQをご覧ください。

もっと詳しく

marimoは簡単に始められ、パワーユーザーのための機能も豊富です。 例えば、こちらはmarimoで作成した埋め込み可視化ツール (動画)です:

詳しくはドキュメントexamples/フォルダ、ギャラリーをご覧ください。

チュートリアル 入力 プロット Layout

貢献

すべての貢献を歓迎します!専門家でなくても助けることができます。 CONTRIBUTING.md をご覧ください。

質問がありますか? Discord! でお問い合わせください。

コミュニティ

私たちはコミュニティを構築しています。ぜひ一緒に交流しましょう!

インスピレーション ✨

marimoは、エラーが発生しやすいJSONのスクラッチパッドではなく、再現可能でインタラクティブかつ共有可能なPythonプログラムとして、Pythonノートブックを再発明したものです。

私たちは、使用するツールが思考の仕方を形作ると信じています。より良いツールは、より良い思考をもたらします。marimoを通じて、Pythonコミュニティに研究を行い、それを伝えるための、コードを試し、共有するための、計算科学を学び、教えるための、より良いプログラミング環境を提供したいと考えています。

私たちのインスピレーションは、 Pluto.jlObservableHQBret Victor's essays など、多くの場所やプロジェクトから得ています。 marimoは、リアクティブデータフロープログラミングへの大きな流れの一部です。 IPyflowstreamlitTensorFlowPyTorchJAXReact など、関数型、宣言型、リアクティブプログラミングのアイデアが、幅広いツールをより良いものへと変革しています。