apply a consistent format to tox.ini
files
pip install tox-ini-fmt
See pre-commit for instructions
Sample .pre-commit-config.yaml
:
- repo: https://github.com/tox-dev/tox-ini-fmt
rev: "0.2.0"
hooks:
- id: tox-ini-fmt
Consult the help for the latest usage:
$ tox-ini-fmt --help
usage: tox-ini-fmt [-h] [-s] tox_ini
positional arguments:
tox_ini tox ini file to format
optional arguments:
-h, --help show this help message and exit
-s, --stdout print the formatted text to the stdout (instead of update in-place)
boolean
fields are normalized totrue
orfalse
- all fields are stripped of white space on both end
- values that contain a list are split one value per line (PR/merge friendly)
- indent multi-line values by two space, and start on new line
Applies the following section order:
tox
testenv
testenv:*
-py
/pypy
envs are ordered in decreasing order by python version, then apply the order defined withinenvlist
part oftox
section- any other section defined within the file
Order by:
envlist
- multi-line, start withpy
envs in decreasing python order, then same withpypy
, then everything elseisolated_build
-boolean
fieldskipsdist
-boolean
fieldskip_missing_interpreters
-boolean
fieldminversion
Order by:
description
passenv
- one environment name to pass per line, sorted by namesetenv
- one environment name-value to set per line in format ofkey=value
, sorted by key+valuebasepython
skip_install
-boolean
fieldusedevelop
-boolean
fielddeps
- multi-line, order by package name (but keep dependencies with package names separate at end), normalize format to remove extra spacesextras
- multi-line, one extra env per lineparallel_show_output
-boolean
fieldcommands
- one command per line, commands that wrap over multiple lines are indented with line two or later by extra two space