setup.cfgとtox.iniの使い分け
環境
- Python 3.7
- tox 3.13
背景
以下のツールを利用して、Pythonのパッケージを作成しています。
上記のツールの設定情報は、可能な限り1つのファイルにまとめて記載したいです。
Pylintとflake8の設定情報が互いに依存しているためです。例えば、「flake8では1行の文字数をチェックするから、pylintでは1行の文字数をチェックしない」などです。
Formatter, Lintterの設定
toxパッケージのtox.iniには、flake8の設定情報が記載されています。
[flake8]
max-complexity = 22
max-line-length = 99
ignore = E203, W503, C901, E402, B011
私はこれに倣って、tox.ini
にFormatter, Lintterの設定情報を記載しようとしました。
しかし、yapfだけはtox.ini
に記載した設定情報を読み込めません。コマンドライン引数で設定ファイルを指定できず、デフォルトではtox.ini
を読み込まないためです。
setup.cfg
に記載した設定情報は読み込めます。
https://github.com/google/yapf#id7
また、pandasではsetup.cfgにflake8, yapfの設定情報が記載されていました。
※tox.iniは存在しない
以上のことから私は、Formatter, Linterの設定情報はsetup.cfg
に書いた方が良いと思いました。
質問
Formatter, Linterの設定は、setup.cfg
かtox.ini
どちらに記載すればよいですか?
また、setup.cfg
とtox.ini
はどう使い分ければよいですか?