Repolode
jpmorganchase

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. 1

    PyPIからPythonパッケージをインストールする

    pip install nbcelltests
  2. 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 の数値は毎日更新されます。

関連プロジェクト