カーネルや拡張機能を設定できる、宣言的で再現可能なJupyterLab環境を構築するNixベースのフレームワーク。
jpmorganchase/nbcelltests
レポート用など、上から順に実行するノートブックの各セルを単体テストするためのJupyterLab拡張機能とPythonパッケージです。
- スター
- 97
- フォーク
- 26
- 未解決の Issue
- 42
- 最終コミット
- 5 日前
これは何?
nbcelltestsを使うと、主に上から順に実行してレポートを生成する、本番用Jupyterノートブックのテストを作成できます。各セルにモックとアサーションを追加すると、ノートブックの逐次実行を再現するように、セルごとに1つのメソッドを持ち、それ以前のすべてのセルのテストを累積して含むunittestクラスを生成します。
テストはセルのメタデータに保存され、nbcelltests CLIを使って.ipynbファイルからオフラインで実行するか、JupyterLabのブラウザーインターフェースからpytest-htmlの結果を表示して実行できます。また、セルあたりの最大行数、ノートブックあたりのセル数、関数とクラスの数、テストでカバーされているセルの割合など、lint形式のチェックも備えています。
このツールは、パッケージのバージョン変更や、探索的な非線形編集によってノートブックがレポートを生成できなくなる問題の検出を目的としています。回帰テスト形式の出力比較を担うnbvalを基盤としています。
主な機能
- 01セルごとのunittestメソッドを作成し、それ以前のセルのテストも累積して含める
- 02テスト定義をノートブック内のセルメタデータに保存する
- 03コマンドラインから.ipynbファイルのテストを実行する
- 04pytest-htmlを通じてJupyterLabでテストを実行し、結果を表示する
- 05セルあたりの行数やノートブックあたりのセル数など、ノートブックの構造上の上限をチェックする
ユースケース
- Papermillなどを使って上から順に実行するレポート用ノートブックの単体テスト
- ノートブックベースのレポート生成パイプラインで、パッケージのアップグレード後に発生する不具合の検出
- ソフトウェア開発プロセスで、ノートブックに簡単なコードサイズ制限を適用する
クイックスタート
- 1
PyPIからPythonパッケージをインストールする
pip install nbcelltests - 2
サンプルノートブックのテストを生成して実行する
nbcelltests test examples/Example.ipynb
使う前に知っておきたいこと
- JupyterLabとの連携にはNode.jsが必要です。また、インストール後にJupyterLabを再ビルドする必要があります。
- JupyterLabでは、lintチェックはJupyterの実行に使用されているPythonバージョンで実行されるため、Python 2のノートブックで誤った構文エラーが表示されることがあります。
収録されている特集
トピック
よくある質問
- nbcelltests とは?
- レポート用など、上から順に実行するノートブックの各セルを単体テストするためのJupyterLab拡張機能とPythonパッケージです。 nbcelltestsを使うと、主に上から順に実行してレポートを生成する、本番用Jupyterノートブックのテストを作成できます。各セルにモックとアサーションを追加すると、ノートブックの逐次実行を再現するように、セルごとに1つのメソッドを持ち、それ以前のすべてのセルのテストを累積して含むunittestクラスを生成します。
- nbcelltests は無料で使えますか?ライセンスは?
- nbcelltests は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- nbcelltests は今もメンテナンスされていますか?
- 活発にメンテナンス中。nbcelltests の最終コミットは 2026年11月1日 です。
- nbcelltests は何に使えますか?
- Papermillなどを使って上から順に実行するレポート用ノートブックの単体テスト ノートブックベースのレポート生成パイプラインで、パッケージのアップグレード後に発生する不具合の検出 ソフトウェア開発プロセスで、ノートブックに簡単なコードサイズ制限を適用する
- nbcelltests のインストール方法は?
- PyPIからPythonパッケージをインストールする: pip install nbcelltests サンプルノートブックのテストを生成して実行する: nbcelltests test examples/Example.ipynb
- nbcelltests はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/jpmorganchase/nbcelltests
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Jupyter notebookをプレーンなMarkdownやPython、Julia、Rのスクリプトとして保存し、Gitで差分を確認しやすく、きれいにバージョン管理できます。
JupyterLab、Jupyter Notebook、一般的な科学計算用Pythonツールをまとめた、すぐに使える個人・チーム向けDockerイメージ。
ローカルやS3、Samba共有などのストレージにつながる複数のファイルブラウザーを追加するJupyterLab拡張機能。
ノートブックから離れずにリポジトリのステージング、コミット、ブランチ操作、同期を行えるGitパネルを追加するJupyterLab拡張機能。
WebサイトやローカルのHTMLファイルをiframeウィジェットで開き、ランチャーにクイックリンクを追加できるJupyterLab拡張機能。