複数の仮想環境やPythonバージョンにまたがるPythonのテストとパッケージ検証を自動化するコマンドラインツール。
wntrblm/nox
toxのini形式ではなく通常のPythonファイルで設定し、複数のPython環境にまたがるテストを自動化するコマンドラインツール。
- スター
- 1,561
- フォーク
- 212
- 未解決の Issue
- 81
- 最終コミット
- 19 時間前
これは何?
Noxは、toxと同様の目的で、複数のPython環境にまたがるテストやその他のタスクを自動化するコマンドラインツールです。セッションはデコレーターを付けたPython関数として定義するため、プロジェクトのテストやlintの手順を、別の設定形式ではなく通常のPythonで記述できます。
各セッションは、独立した仮想環境に依存関係をインストールし、その環境内でコマンドを実行できます。すべてのセッションを一覧表示したり、名前を指定して単一のセッションを実行したり、1つのコマンドですべてのセッションを実行したりできます。また、セッションにdocstringを付けると、ヘルプ出力に表示されます。
Noxは、プロジェクトの仮想環境内ではなく、たとえばpipxを使ってグローバルにインストールすることを想定しています。PyPIで公開されており、ドキュメントはRead the Docsでホストされています。
主な機能
- 01@nox.sessionデコレーターを付けた通常のPython関数として、テストセッションを定義できます。
- 02Pythonの複数のバージョンにわたり、各セッションを専用の独立した仮想環境で実行します。
- 03コマンドラインからセッションを一覧表示し、単一またはすべてのセッションを実行できます。
- 04--usageオプションを使うと、セッションのdocstringをヘルプテキストとして表示できます。
- 05多くの場合pipxを使って、単体のCLIとしてインストールできます。
ユースケース
- Pythonライブラリでpytestとflake8を、それぞれ独立した環境で実行する。
- カスタマイズしやすいPythonファイルに置き換えて、tox.iniの設定を廃止する。
- 1つのコマンドで、複数のPythonインタープリターのバージョンを使ってプロジェクトをテストする。
クイックスタート
- 1
pipxでNoxをインストールする
pipx install nox - 2
利用可能なセッションをすべて一覧表示する
nox -l - 3
すべてのセッションを実行する
nox
収録されている特集
トピック
よくある質問
- nox とは?
- toxのini形式ではなく通常のPythonファイルで設定し、複数のPython環境にまたがるテストを自動化するコマンドラインツール。 Noxは、toxと同様の目的で、複数のPython環境にまたがるテストやその他のタスクを自動化するコマンドラインツールです。セッションはデコレーターを付けたPython関数として定義するため、プロジェクトのテストやlintの手順を、別の設定形式ではなく通常のPythonで記述できます。
- nox は無料で使えますか?ライセンスは?
- nox は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- nox は今もメンテナンスされていますか?
- 活発にメンテナンス中。nox の最終コミットは 2026年11月6日 です。
- nox は何に使えますか?
- Pythonライブラリでpytestとflake8を、それぞれ独立した環境で実行する。 カスタマイズしやすいPythonファイルに置き換えて、tox.iniの設定を廃止する。 1つのコマンドで、複数のPythonインタープリターのバージョンを使ってプロジェクトをテストする。
- nox のインストール方法は?
- pipxでNoxをインストールする: pipx install nox 利用可能なセッションをすべて一覧表示する: nox -l すべてのセッションを実行する: nox
- nox はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/wntrblm/nox
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Python製の、受け入れテスト、ATDD、RPA向けのオープンソースなキーワード駆動型自動化フレームワーク。
ビルド、環境構築、テスト、Lint、バージョン管理、公開までをカバーする、モダンで拡張性の高いPythonプロジェクト管理ツール。
Playwrightは、単一のAPIでChromium、Firefox、WebKitを操作するWebテスト・自動化フレームワークです。
AIコーディングアシスタントやテストスイート向けの自然言語によるAndroid自動化。実機とエミュレーターで動作します。