Skip to main content

tox-ini-fmt formats your tox file for you

Project description

tox-ini-fmt

PyPI PyPI - Implementation PyPI - Python Version PyPI - Downloads PyPI - License check codecov Code style: black

apply a consistent format to tox.ini files

installation

pip install tox-ini-fmt

as a pre-commit hook

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
      args: ["-p", "fix_lint,type"]

cli

Consult the help for the latest usage:

$ tox-ini-fmt --help
usage: tox-ini-fmt [-h] [-s] [-p toxenv] 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)
  -p toxenv     tox environments that pin to the start of the envlist (comma separated)

what does it do?

General

  • boolean fields are normalized to true or false
  • 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 spaces, and start on new line

Ordering of sections

Applies the following section order:

  1. tox
  2. testenv
  3. testenv:* - py/pypy envs are ordered in decreasing order by python version, then apply the order defined within envlist part of tox section, you can pin tox elements to the start by using the -p flag
  4. any other section defined within the file

tox section

Order by:

  1. envlist - multi-line, start with py envs in decreasing python order, then same with pypy, then everything else
  2. isolated_build - boolean field
  3. skipsdist - boolean field
  4. skip_missing_interpreters - boolean field
  5. minversion

testenv section

Order by:

  1. description
  2. passenv - one environment name to pass per line, sorted by name
  3. setenv - one environment name-value to set per line in format of key=value, sorted by key+value
  4. basepython
  5. skip_install - boolean field
  6. usedevelop - boolean field
  7. deps - multi-line, order by package name (but keep dependencies with package names separate at end), normalize format to remove extra spaces
  8. extras - multi-line, one extra env per line
  9. parallel_show_output - boolean field
  10. commands - one command per line, commands that wrap over multiple lines are indented with line two or later by extra two space

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tox_ini_fmt-0.3.0.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

tox_ini_fmt-0.3.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file tox_ini_fmt-0.3.0.tar.gz.

File metadata

  • Download URL: tox_ini_fmt-0.3.0.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.6

File hashes

Hashes for tox_ini_fmt-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6e236dfed7e8fd36edd5eccb9ed15621fe6b76e0aaac412429541a7fd7731479
MD5 03394b62f30140a57d2ab2d16fdae908
BLAKE2b-256 03dae8291bd33a53dd12a929e72f203b9dabf1df14d1c9972203c3cc199b0b54

See more details on using hashes here.

File details

Details for the file tox_ini_fmt-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: tox_ini_fmt-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.6

File hashes

Hashes for tox_ini_fmt-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81db45151d7a551336a8792f6b113f395abf17cb2be3b02722bb1d043c50de14
MD5 8d2282c11706caff0f160c855a8ede5d
BLAKE2b-256 f6766cf7ca1f6b2108850d96a1983d279dc7ca320a6923f6b319bb23eaf08985

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page