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はどう使い分ければよいですか?