Skip to main content

tox-ini-fmt

PyPI PyPI - Implementation PyPI - Python Version Downloads PyPI - License check

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: 1.3.1
    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 | --check] [-p toxenv] tox_ini [tox_ini ...]

positional arguments:
  tox_ini       tox ini files to format

options:
  -h, --help    show this help message and exit
  -s, --stdout  print the formatted text to the stdout (instead of update in-place)
  --check       check files are formatted without writing them back (exit code 1 on change)
  -p toxenv     tox environments that pin to the start of the envlist (comma separated)

what does it do?

It does not

  • Format any other section beside tox/testenv:* (other than put this sections to the end of the file)

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 four spaces, and start on new line
  • substitutions within multi-line (excluding commands) are moved to the start of the list (order kept)

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 - multi-line, one environment name to pass per line, sorted by name
  3. setenv - multi-line, 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 four spaces

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-1.9.0.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tox_ini_fmt-1.9.0-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tox_ini_fmt-1.9.0.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for tox_ini_fmt-1.9.0.tar.gz
Algorithm Hash digest
SHA256 fcde1e00624fcf6fd1280dbef1ffa8a4bd536fe3e05076730e8cb6b89e0859a4
MD5 4351b993c6698d6d497f1ce3121a44ed
BLAKE2b-256 0f3052ba92f7017218da099345741796699fe5d15431a5dfb522c1f837b78540

See more details on using hashes here.

Provenance

The following attestation bundles were made for tox_ini_fmt-1.9.0.tar.gz:

Publisher: release.yaml on tox-dev/tox-ini-fmt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: tox_ini_fmt-1.9.0-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for tox_ini_fmt-1.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ed3ac58b7b64a6eecaf696f3c3a1865af06f98a40c60f0603257de119b6afde
MD5 7f799f5ddc3aba14b975c1d3efe77f02
BLAKE2b-256 492bc1a0e3609a80ffb233ca350754260c30ee88eb2d3aa5c6f9a2a210a972e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for tox_ini_fmt-1.9.0-py3-none-any.whl:

Publisher: release.yaml on tox-dev/tox-ini-fmt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.9.0 This release

2 files

1.8.1

2 files

1.8.0

2 files

1.7.2

2 files

1.7.1

2 files

1.7.0

2 files

1.6.0

2 files

1.5.0

2 files

1.4.1

2 files

1.4.0

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page