Format your pyproject.toml file
Project description
Apply a consistent format to your tox.toml file with comment support. See changelog here.
Recent Changes
๐ fix(common): panic on non-array nodes in array ops by @gaborbernat in #266 <a id=โ1.9.0โ></a>
Philosophy
This tool aims to be an opinionated formatter, with similar objectives to black. This means it deliberately does not support a wide variety of configuration settings. In return, you get consistency, predictability, and smaller diffs.
Use
Via CLI
tox-toml-fmt is a CLI tool that needs a Python interpreter (version 3.10 or higher) to run. We recommend either pipx or uv to install tox-toml-fmt into an isolated environment. This has the added benefit that later you will be able to upgrade tox-toml-fmt without affecting other parts of the system. We provide a method for pip too here, but we discourage that path if you can:
# install uv per https://docs.astral.sh/uv/#getting-started uv tool install tox-toml-fmt tox-toml-fmt --help
Via pre-commit hook
See pre-commit/pre-commit for instructions, sample .pre-commit-config.yaml:
- repo: https://github.com/tox-dev/tox-toml-fmt
rev: "v1.0.0"
hooks:
- id: tox-toml-fmt
Via Python
You can use tox-toml-fmt as a Python module to format TOML content programmatically.
from tox_toml_fmt import run
# Format a tox.toml file and return the exit code
exit_code = run(["path/to/tox.toml"])
The run function accepts command-line arguments as a list and returns an exit code (0 for success, non-zero for failure).
The [tox-toml-fmt] table is used when present in the tox.toml file:
[tox-toml-fmt]
# After how many columns split arrays/dicts into multiple lines and wrap long strings;
# use a trailing comma in arrays to force multiline format instead of lowering this value
column_width = 120
# Number of spaces for indentation
indent = 2
# Environments pinned to the start of env_list
pin_envs = ["fix", "type"]
If not set they will default to values from the CLI. The example above shows the defaults (except pin_envs which defaults to an empty list).
General Formatting
These rules apply uniformly across the entire tox.toml file.
String Quotes
All strings use double quotes by default. Single quotes are only used when the value contains double quotes:
# Before
description = 'Run tests'
commands = ["echo \"hello\""]
# After
description = "Run tests"
commands = ['echo "hello"']
Key Quotes
TOML keys are normalized to the simplest valid form. Keys that are valid bare keys (containing only A-Za-z0-9_-) have redundant quotes stripped. Single-quoted (literal) keys that require quoting are converted to double-quoted (basic) strings with proper escaping. This applies to all keys: table headers, key-value pairs, and inline table keys:
# Before
[env.'my-env']
"description" = "run tests"
pass_env = [{ "else" = "no" }]
# After
[env."my-env"]
description = "run tests"
pass_env = [{ else = "no" }]
Backslashes and double quotes within literal keys are escaped during conversion.
Array Formatting
Arrays are formatted based on line length, trailing comma presence, and comments:
# Short arrays stay on one line
env_list = ["py312", "py313", "lint"]
# Long arrays that exceed column_width are expanded and get a trailing comma
deps = [
"pytest>=7",
"pytest-cov>=4",
"pytest-mock>=3",
]
# Trailing commas signal intent to keep multiline format
deps = [
"pytest>=7",
]
# Arrays with comments are always multiline
deps = [
"pytest>=7", # testing framework
"coverage>=7",
]
Multiline formatting rules:
An array becomes multiline when any of these conditions are met:
Trailing comma present - A trailing comma signals intent to keep multiline format
Exceeds column width - Arrays longer than column_width are expanded (and get a trailing comma added)
Contains comments - Arrays with inline or leading comments are always multiline
String Wrapping
Long strings that exceed column_width are wrapped using TOML multiline basic strings with line-ending backslashes:
# Before
description = "A very long description string that exceeds the column width limit set for this project"
# After (with column_width = 40)
description = """\
A very long description \
string that exceeds the \
column width limit set \
for this project\
"""
Specific keys can be excluded from wrapping using skip_wrap_for_keys. Patterns support wildcards (e.g. *.commands skips wrapping for commands under any table).
Table Formatting
Sub-tables can be formatted in two styles controlled by table_format:
Short format (default, collapsed to dotted keys):
[env.test]
description = "run tests"
sub.value = 1
Long format (expanded to table headers):
[env.test]
description = "run tests"
[env.test.sub]
value = 1
Individual tables can override the default using expand_tables and collapse_tables.
Environment tables are always expanded:
Regardless of the table_format setting, [env.*] tables are never collapsed into dotted keys under [env]. Each environment always gets its own [env.NAME] table section:
# This is always the output format, even in short mode:
[env.fix]
description = "fix"
[env.test]
description = "test"
# Dotted keys under [env] are automatically expanded:
# [env]
# fix.description = "fix" โ [env.fix]
# description = "fix"
Sub-tables within an environment (e.g. [env.test.sub]) still follow the table_format setting.
Table Ordering
Tables are reordered into a consistent structure:
Root-level keys (min_version, requires, env_list, etc.)
[env_run_base]
[env_pkg_base]
[env_base.*] sections (shared base configurations)
[env.NAME] sections ordered by env_list if specified
Any remaining [env.*] sections not in env_list, sorted alphabetically
[env] (catch-all environment table, if present)
# env_list determines the order of [env.*] sections
env_list = ["lint", "type", "py312", "py313"]
[env_run_base]
deps = ["pytest>=7"]
[env_pkg_base]
# ...
[env_base.ci]
# shared base config
# Environments appear in env_list order:
[env.lint]
# ...
[env.type]
# ...
[env.py312]
# ...
[env.py313]
# ...
Environments not listed in env_list are placed at the end, sorted alphabetically.
Alias Normalization
Legacy INI-style key names are renamed to their modern tox 4 TOML equivalents. This applies automatically to the root table, [env_run_base], [env_pkg_base], and all [env.*] tables.
Root table aliases:
# Before
envlist = ["py312", "py313"]
minversion = "4.2"
skipsdist = true
# After
env_list = ["py312", "py313"]
min_version = "4.2"
no_package = true
Full list: envlist โ env_list, toxinidir โ tox_root, toxworkdir โ work_dir, skipsdist โ no_package, isolated_build_env โ package_env, setupdir โ package_root, minversion โ min_version, ignore_basepython_conflict โ ignore_base_python_conflict
Environment table aliases:
# Before
[env_run_base]
basepython = "python3.12"
setenv.PYTHONPATH = "src"
passenv = ["HOME"]
# After
[env_run_base]
base_python = "python3.12"
set_env.PYTHONPATH = "src"
pass_env = ["HOME"]
Full list: setenv โ set_env, passenv โ pass_env, envdir โ env_dir, envtmpdir โ env_tmp_dir, envlogdir โ env_log_dir, changedir โ change_dir, basepython โ base_python, usedevelop โ use_develop, sitepackages โ system_site_packages, alwayscopy โ always_copy
Root Key Ordering
Keys in the root table are reordered into a consistent sequence:
min_version โ requires โ provision_tox_env โ env_list โ labels โ base โ package_env โ package_root โ no_package โ skip_missing_interpreters โ ignore_base_python_conflict โ work_dir โ temp_dir โ tox_root
# Before
env_list = ["py312", "lint"]
requires = ["tox>=4.2"]
min_version = "4.2"
# After
min_version = "4.2"
requires = ["tox>=4.2"]
env_list = ["py312", "lint"]
Environment Key Ordering
Keys within [env_run_base], [env_pkg_base], and [env.*] tables are reordered to group related settings:
factors โ runner โ description โ base_python โ default_base_python โ system_site_packages โ always_copy โ download โ virtualenv_spec โ package โ package_env โ wheel_build_env โ package_tox_env_type โ package_root โ skip_install โ use_develop โ meta_dir โ pkg_dir โ pip_pre โ install_command โ list_dependencies_command โ deps โ dependency_groups โ pylock โ constraints โ constrain_package_deps โ use_frozen_constraints โ extras โ recreate โ recreate_commands โ parallel_show_output โ skip_missing_interpreters โ fail_fast โ pass_env โ disallow_pass_env โ set_env โ change_dir โ platform โ args_are_paths โ ignore_errors โ commands_retry โ ignore_outcome โ extra_setup_commands โ commands_pre โ commands โ commands_post โ allowlist_externals โ labels โ suicide_timeout โ interrupt_timeout โ terminate_timeout โ depends โ env_dir โ env_tmp_dir โ env_log_dir
# Before
[env_run_base]
commands = ["pytest"]
deps = ["pytest>=7"]
description = "run tests"
# After
[env_run_base]
description = "run tests"
deps = ["pytest>=7"]
commands = ["pytest"]
requires Normalization
Dependencies in the root requires array are normalized per PEP 508 (canonical package names, consistent spacing around specifiers) and sorted alphabetically by package name:
# Before
requires = ["tox >= 4.2", "tox-uv"]
# After
requires = ["tox>=4.2", "tox-uv"]
env_list Sorting
The env_list array is sorted with a specific ordering:
Pinned environments come first, in the order specified by --pin-env
CPython versions (matching py3.12, py312, 3.12, etc.) sorted descending (newest first)
PyPy versions (matching pypy3.10, pypy310, etc.) sorted descending
Named environments (lint, type, docs, etc.) sorted alphabetically
Inline table entries (such as { product = ... }) in env_list are excluded from sorting and remain in their original positions.
Compound environment names separated by - are classified by their first recognized part:
# Before
env_list = ["lint", "py38", "py312", "docs", "py310-django"]
# After
env_list = ["py312", "py310-django", "py38", "docs", "lint"]
Use --pin-env to pin specific environments to the start:
# With --pin-env fix,type
env_list = ["fix", "type", "py313", "py312", "docs", "lint"]
use_develop Upgrade
The legacy use_develop = true setting is automatically converted to the modern package = "editable" equivalent. If use_develop = false, the key is left as-is. If a package key already exists, only the use_develop key is removed:
# Before
[env_run_base]
use_develop = true
# After
[env_run_base]
package = "editable"
Array Sorting
Certain arrays within environment tables are sorted automatically:
Sorted by canonical PEP 508 package name:
deps, constraints โ dependencies normalized and sorted by package name
Pip file references (-r requirements.txt, -c constraints.txt) are preserved as-is without PEP 508 normalization, but still participate in sorting by their lowercased value:
# Before
deps = ["Pytest >= 7", "-r requirements.txt", "coverage", "pytest-mock"]
# After
deps = ["-r requirements.txt", "coverage", "pytest>=7", "pytest-mock"]
Sorted alphabetically:
dependency_groups, allowlist_externals, extras, labels, depends
Special handling for ``pass_env``:
Replacement objects (inline tables like { replace = "default", ... }) are pinned to the start, then string entries are sorted alphabetically:
# Before
pass_env = ["TERM", "CI", { replace = "default", ... }, "HOME"]
# After
pass_env = [{ replace = "default", ... }, "CI", "HOME", "TERM"]
Arrays NOT sorted:
commands, commands_pre, commands_post โ execution order matters
base_python โ first entry takes priority
Inline Table Key Reordering
Keys within inline tables are reordered into a consistent order based on the inline tableโs type. The type is detected by the presence of a discriminator key:
``replace`` โ replace โ condition โ of โ env โ key โ name โ pattern โ then โ else โ default โ extend โ marker
``prefix`` โ prefix โ start โ stop
``product`` โ product โ exclude
``value`` โ value โ marker
Keys not listed in the schema are appended at the end in their original order.
# Before
pass_env = [{ default = ".", replace = "default", extend = true }]
env_list = [{ exclude = ["py38-django50"], product = ["py38", "py310", "django42", "django50"] }]
# After
pass_env = [{ replace = "default", default = ".", extend = true }]
env_list = [{ product = ["py38", "py310", "django42", "django50"], exclude = ["py38-django50"] }]
This reordering applies to all inline tables in the file, including those nested inside arrays.
Other Tables
Any unrecognized tables are preserved and reordered according to standard table ordering rules. Keys within unknown tables are not reordered or normalized.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tox_toml_fmt-1.9.1.tar.gz.
File metadata
- Download URL: tox_toml_fmt-1.9.1.tar.gz
- Upload date:
- Size: 110.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58ce34ec670d7e16acf677ced81009351f7ce9c8adc4093c57128e16b72b80c2
|
|
| MD5 |
75cd4c2c62f18bc9007c01d8659da6f8
|
|
| BLAKE2b-256 |
4413b93e0cb0c007caf106fbdc3dc48d2448bd344f781432892daffba570f6d3
|
Provenance
The following attestation bundles were made for tox_toml_fmt-1.9.1.tar.gz:
Publisher:
tox_toml_fmt_build.yaml on tox-dev/toml-fmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tox_toml_fmt-1.9.1.tar.gz -
Subject digest:
58ce34ec670d7e16acf677ced81009351f7ce9c8adc4093c57128e16b72b80c2 - Sigstore transparency entry: 1019212226
- Sigstore integration time:
-
Permalink:
tox-dev/toml-fmt@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tox-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tox_toml_fmt_build.yaml@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tox_toml_fmt-1.9.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: tox_toml_fmt-1.9.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 5.0 MB
- Tags: PyPy, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34adfada98b8f7ea92ad3970af1977d133708c250967af256c561ce9af77c069
|
|
| MD5 |
beb216f4978703a3292d427184222241
|
|
| BLAKE2b-256 |
d6d0d89867f6101028ea6e6f4da1197771ecc7173eb5453499056d3c3ee97e9b
|
Provenance
The following attestation bundles were made for tox_toml_fmt-1.9.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl:
Publisher:
tox_toml_fmt_build.yaml on tox-dev/toml-fmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tox_toml_fmt-1.9.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl -
Subject digest:
34adfada98b8f7ea92ad3970af1977d133708c250967af256c561ce9af77c069 - Sigstore transparency entry: 1019212459
- Sigstore integration time:
-
Permalink:
tox-dev/toml-fmt@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tox-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tox_toml_fmt_build.yaml@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tox_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl.
File metadata
- Download URL: tox_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.5 MB
- Tags: PyPy, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bdd1667e087750b7cbf03cd242336ba14f06fdae53cb3aaff428c73cf3171e29
|
|
| MD5 |
68a3c49a73d8bdeb386920724e2329f2
|
|
| BLAKE2b-256 |
747c0fc6cc30ee2b5647e40c4a8ffa1febe45a046ba9f2db8fae3b3c5d44429b
|
Provenance
The following attestation bundles were made for tox_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl:
Publisher:
tox_toml_fmt_build.yaml on tox-dev/toml-fmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tox_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl -
Subject digest:
bdd1667e087750b7cbf03cd242336ba14f06fdae53cb3aaff428c73cf3171e29 - Sigstore transparency entry: 1019212331
- Sigstore integration time:
-
Permalink:
tox-dev/toml-fmt@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tox-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tox_toml_fmt_build.yaml@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tox_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl.
File metadata
- Download URL: tox_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl
- Upload date:
- Size: 4.7 MB
- Tags: PyPy, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5342fe2300a7fea3bb5c739e991a7bf18533c6c879923ed8e309921e99c63b17
|
|
| MD5 |
a51300d39635196161216906c20ad975
|
|
| BLAKE2b-256 |
3a26b8848bcc4875d52a20e918fe8d97c91c39828d5fe2085f6eb52bf1ae05cf
|
Provenance
The following attestation bundles were made for tox_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl:
Publisher:
tox_toml_fmt_build.yaml on tox-dev/toml-fmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tox_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl -
Subject digest:
5342fe2300a7fea3bb5c739e991a7bf18533c6c879923ed8e309921e99c63b17 - Sigstore transparency entry: 1019212253
- Sigstore integration time:
-
Permalink:
tox-dev/toml-fmt@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tox-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tox_toml_fmt_build.yaml@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tox_toml_fmt-1.9.1-cp39-abi3-win_amd64.whl.
File metadata
- Download URL: tox_toml_fmt-1.9.1-cp39-abi3-win_amd64.whl
- Upload date:
- Size: 4.8 MB
- Tags: CPython 3.9+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a2d4085f694751b4323076a4252e2a35ab151293171b8f267e5413d7b13283c
|
|
| MD5 |
b110518f9ef71f70aa0c068e3c509c4b
|
|
| BLAKE2b-256 |
3fb1d2e7693575eeb544ba16ca34ba526f40f1f5491f5bf60cde91b807790297
|
Provenance
The following attestation bundles were made for tox_toml_fmt-1.9.1-cp39-abi3-win_amd64.whl:
Publisher:
tox_toml_fmt_build.yaml on tox-dev/toml-fmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tox_toml_fmt-1.9.1-cp39-abi3-win_amd64.whl -
Subject digest:
5a2d4085f694751b4323076a4252e2a35ab151293171b8f267e5413d7b13283c - Sigstore transparency entry: 1019212477
- Sigstore integration time:
-
Permalink:
tox-dev/toml-fmt@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tox-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tox_toml_fmt_build.yaml@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tox_toml_fmt-1.9.1-cp39-abi3-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: tox_toml_fmt-1.9.1-cp39-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 5.2 MB
- Tags: CPython 3.9+, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71d891b7fd71b32613c5ee4143417a2876eb28f8fd4dd1a1e1f277ae287c1242
|
|
| MD5 |
32dcb5a1ac809d8dcbe9f613dbb14fa4
|
|
| BLAKE2b-256 |
1b301f2a9646999bf9ffc27e61eaf877817a0c5561fed11dce6495b2f8e75770
|
Provenance
The following attestation bundles were made for tox_toml_fmt-1.9.1-cp39-abi3-musllinux_1_2_x86_64.whl:
Publisher:
tox_toml_fmt_build.yaml on tox-dev/toml-fmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tox_toml_fmt-1.9.1-cp39-abi3-musllinux_1_2_x86_64.whl -
Subject digest:
71d891b7fd71b32613c5ee4143417a2876eb28f8fd4dd1a1e1f277ae287c1242 - Sigstore transparency entry: 1019212303
- Sigstore integration time:
-
Permalink:
tox-dev/toml-fmt@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tox-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tox_toml_fmt_build.yaml@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_31_riscv64.whl.
File metadata
- Download URL: tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_31_riscv64.whl
- Upload date:
- Size: 4.7 MB
- Tags: CPython 3.9+, manylinux: glibc 2.31+ riscv64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddfa9b6095bbc3e05b542acacd835c0283c472a67806d2b1d4e908b6ed62f233
|
|
| MD5 |
5dd93bde09f444416c23cc000b2111d0
|
|
| BLAKE2b-256 |
8fd523bb445e99afa0afb2143b5b92b1e882eaa1e44e68a212ea705287d0ad3a
|
Provenance
The following attestation bundles were made for tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_31_riscv64.whl:
Publisher:
tox_toml_fmt_build.yaml on tox-dev/toml-fmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_31_riscv64.whl -
Subject digest:
ddfa9b6095bbc3e05b542acacd835c0283c472a67806d2b1d4e908b6ed62f233 - Sigstore transparency entry: 1019212371
- Sigstore integration time:
-
Permalink:
tox-dev/toml-fmt@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tox-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tox_toml_fmt_build.yaml@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 5.0 MB
- Tags: CPython 3.9+, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41e8de4fb269ca2e711c60ece3190f36a7777eb70fdd3013024e77a1fafca6a7
|
|
| MD5 |
fd799e4cb575eb4c25f683e377278fa4
|
|
| BLAKE2b-256 |
341bc655e29b18e7e769c926f70630f6f1ec6df3c8a85716dfda8fb85b2261e2
|
Provenance
The following attestation bundles were made for tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_x86_64.whl:
Publisher:
tox_toml_fmt_build.yaml on tox-dev/toml-fmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_x86_64.whl -
Subject digest:
41e8de4fb269ca2e711c60ece3190f36a7777eb70fdd3013024e77a1fafca6a7 - Sigstore transparency entry: 1019212406
- Sigstore integration time:
-
Permalink:
tox-dev/toml-fmt@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tox-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tox_toml_fmt_build.yaml@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 4.6 MB
- Tags: CPython 3.9+, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de34d99d9497960e530c020f4badfe47744863dcd0dd8321237a094b8188aa85
|
|
| MD5 |
0291c8713c86ab7f1e6bc7ba861a6a6e
|
|
| BLAKE2b-256 |
36f247854f711fb857ddcb302dd62403dfc777493189302d3bf643cf4a24a71c
|
Provenance
The following attestation bundles were made for tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_aarch64.whl:
Publisher:
tox_toml_fmt_build.yaml on tox-dev/toml-fmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_aarch64.whl -
Subject digest:
de34d99d9497960e530c020f4badfe47744863dcd0dd8321237a094b8188aa85 - Sigstore transparency entry: 1019212285
- Sigstore integration time:
-
Permalink:
tox-dev/toml-fmt@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tox-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tox_toml_fmt_build.yaml@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tox_toml_fmt-1.9.1-cp39-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: tox_toml_fmt-1.9.1-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.5 MB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ebf5506f7ef0f5d8b8bc4f6c485649d1165aac45c3823ee394cf8034d1c0b73
|
|
| MD5 |
1c417de9327a99ea3b3131e7507374b4
|
|
| BLAKE2b-256 |
4d74092095252b5bbc4d104e19b0a36159e0bd71cd147d3a7cce0ba9e3867f3d
|
Provenance
The following attestation bundles were made for tox_toml_fmt-1.9.1-cp39-abi3-macosx_11_0_arm64.whl:
Publisher:
tox_toml_fmt_build.yaml on tox-dev/toml-fmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tox_toml_fmt-1.9.1-cp39-abi3-macosx_11_0_arm64.whl -
Subject digest:
5ebf5506f7ef0f5d8b8bc4f6c485649d1165aac45c3823ee394cf8034d1c0b73 - Sigstore transparency entry: 1019212433
- Sigstore integration time:
-
Permalink:
tox-dev/toml-fmt@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tox-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tox_toml_fmt_build.yaml@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tox_toml_fmt-1.9.1-cp39-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: tox_toml_fmt-1.9.1-cp39-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 4.7 MB
- Tags: CPython 3.9+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f89862747503c4ed0c5671f78ee2eb562a33029a4079c2288e8211ab41890a2
|
|
| MD5 |
49c5cd120f6f87d93b780c3fa46b411c
|
|
| BLAKE2b-256 |
1675c61c1a7f6ade88984c49905dcfb6fc416fa1f0388507048a4415d91c7472
|
Provenance
The following attestation bundles were made for tox_toml_fmt-1.9.1-cp39-abi3-macosx_10_12_x86_64.whl:
Publisher:
tox_toml_fmt_build.yaml on tox-dev/toml-fmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tox_toml_fmt-1.9.1-cp39-abi3-macosx_10_12_x86_64.whl -
Subject digest:
8f89862747503c4ed0c5671f78ee2eb562a33029a4079c2288e8211ab41890a2 - Sigstore transparency entry: 1019212351
- Sigstore integration time:
-
Permalink:
tox-dev/toml-fmt@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tox-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tox_toml_fmt_build.yaml@edbbafdbb34207153b8ffe3139a9cc915253e6bb -
Trigger Event:
workflow_dispatch
-
Statement type:
Comment Preservation
All comments are preserved during formatting:
Inline comments - Comments after a value on the same line stay with that value
Leading comments - Comments on the line before an entry stay with the entry below
Block comments - Multi-line comment blocks are preserved
Inline comment alignment:
Inline comments within arrays are aligned independently per array, based on that arrayโs longest value:
Table-Specific Handling
Beyond general formatting, tables have specific key ordering, value normalization, and sorting rules.