Repolode
wntrblm

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

    pipxでNoxをインストールする

    pipx install nox
  2. 2

    利用可能なセッションをすべて一覧表示する

    nox -l
  3. 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 の数値は毎日更新されます。

関連プロジェクト

最近のコード変更の影響を受けるテストだけを再実行し、オプションで継続的な監視モードも利用できるpytestプラグインです。

開発ツール#pytest#testing#python
1034+2 今週87PythonMIT活発にメンテナンス更新 4 日前