Skip to main content

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).

Shared configuration file

You can place formatting settings in a standalone tox-toml-fmt.toml file instead of (or in addition to) the [tox-toml-fmt] table. This is useful for monorepos or when you want to share the same configuration across multiple projects without duplicating it in each tox.toml.

The formatter searches for tox-toml-fmt.toml starting from the directory of the file being formatted and walking up to the filesystem root. The first match wins. You can also pass an explicit path via --config:

tox-toml-fmt --config /path/to/tox-toml-fmt.toml tox.toml

The shared config file uses the same keys as the [tox-toml-fmt] table, but without the table header:

column_width = 120
indent = 2
pin_envs = ["fix", "type"]

When both a shared config file and a [tox-toml-fmt] table exist, per-file settings from the [tox-toml-fmt] table take precedence over the shared config file.

tox-toml-fmt is an opinionated formatter, much like black is for Python code. The tool intentionally provides minimal configuration options because the goal is to establish a single standard format that all tox.toml files follow.

Benefits of this approach:

  • Less time configuring tools

  • Smaller diffs when committing changes

  • Easier code reviews since formatting is never a question

While a few key options exist (column_width, indent, table_format), the tool does not expose dozens of toggles. You get what the maintainers have chosen to be the right balance of readability, consistency, and usability.

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:

  1. Trailing comma present - A trailing comma signals intent to keep multiline format

  2. Exceeds column width - Arrays longer than column_width are expanded (and get a trailing comma added)

  3. 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.

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:

# Before - comments at inconsistent positions
deps = [
  "pytest", # testing
  "pytest-cov",  # coverage
  "pytest-mock", # mocking
]

# After - comments align to longest value in this array
deps = [
  "pytest",       # testing
  "pytest-cov",   # coverage
  "pytest-mock",  # mocking
]

Table-Specific Handling

Beyond general formatting, tables have specific key ordering, value normalization, and sorting rules.

Table Ordering

Tables are reordered into a consistent structure:

  1. Root-level keys (min_version, requires, env_list, etc.)

  2. [env_run_base]

  3. [env_pkg_base]

  4. [env_base.*] sections (shared base configurations)

  5. [env.NAME] sections ordered by env_list if specified

  6. Any remaining [env.*] sections not in env_list, sorted alphabetically

  7. [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:

  1. Pinned environments come first, in the order specified by --pin-env

  2. CPython versions (matching py3.12, py312, 3.12, etc.) sorted descending (newest first)

  3. PyPy versions (matching pypy3.10, pypy310, etc.) sorted descending

  4. 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


Download files

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

Source Distribution

tox_toml_fmt-1.9.1.tar.gz (110.0 kB view details)

Uploaded Source

Built Distributions

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

tox_toml_fmt-1.9.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

tox_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl (4.5 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

tox_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl (4.7 MB view details)

Uploaded PyPymacOS 10.12+ x86-64

tox_toml_fmt-1.9.1-cp39-abi3-win_amd64.whl (4.8 MB view details)

Uploaded CPython 3.9+Windows x86-64

tox_toml_fmt-1.9.1-cp39-abi3-musllinux_1_2_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_31_riscv64.whl (4.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.31+ riscv64

tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ x86-64

tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ ARM64

tox_toml_fmt-1.9.1-cp39-abi3-macosx_11_0_arm64.whl (4.5 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

tox_toml_fmt-1.9.1-cp39-abi3-macosx_10_12_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

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

Hashes for tox_toml_fmt-1.9.1.tar.gz
Algorithm Hash digest
SHA256 58ce34ec670d7e16acf677ced81009351f7ce9c8adc4093c57128e16b72b80c2
MD5 75cd4c2c62f18bc9007c01d8659da6f8
BLAKE2b-256 4413b93e0cb0c007caf106fbdc3dc48d2448bd344f781432892daffba570f6d3

See more details on using hashes here.

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

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_toml_fmt-1.9.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tox_toml_fmt-1.9.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 34adfada98b8f7ea92ad3970af1977d133708c250967af256c561ce9af77c069
MD5 beb216f4978703a3292d427184222241
BLAKE2b-256 d6d0d89867f6101028ea6e6f4da1197771ecc7173eb5453499056d3c3ee97e9b

See more details on using hashes here.

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

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_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tox_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bdd1667e087750b7cbf03cd242336ba14f06fdae53cb3aaff428c73cf3171e29
MD5 68a3c49a73d8bdeb386920724e2329f2
BLAKE2b-256 747c0fc6cc30ee2b5647e40c4a8ffa1febe45a046ba9f2db8fae3b3c5d44429b

See more details on using hashes here.

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

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_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tox_toml_fmt-1.9.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5342fe2300a7fea3bb5c739e991a7bf18533c6c879923ed8e309921e99c63b17
MD5 a51300d39635196161216906c20ad975
BLAKE2b-256 3a26b8848bcc4875d52a20e918fe8d97c91c39828d5fe2085f6eb52bf1ae05cf

See more details on using hashes here.

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

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_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

Hashes for tox_toml_fmt-1.9.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5a2d4085f694751b4323076a4252e2a35ab151293171b8f267e5413d7b13283c
MD5 b110518f9ef71f70aa0c068e3c509c4b
BLAKE2b-256 3fb1d2e7693575eeb544ba16ca34ba526f40f1f5491f5bf60cde91b807790297

See more details on using hashes here.

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

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_toml_fmt-1.9.1-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tox_toml_fmt-1.9.1-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 71d891b7fd71b32613c5ee4143417a2876eb28f8fd4dd1a1e1f277ae287c1242
MD5 32dcb5a1ac809d8dcbe9f613dbb14fa4
BLAKE2b-256 1b301f2a9646999bf9ffc27e61eaf877817a0c5561fed11dce6495b2f8e75770

See more details on using hashes here.

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

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_toml_fmt-1.9.1-cp39-abi3-manylinux_2_31_riscv64.whl.

File metadata

File hashes

Hashes for tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 ddfa9b6095bbc3e05b542acacd835c0283c472a67806d2b1d4e908b6ed62f233
MD5 5dd93bde09f444416c23cc000b2111d0
BLAKE2b-256 8fd523bb445e99afa0afb2143b5b92b1e882eaa1e44e68a212ea705287d0ad3a

See more details on using hashes here.

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

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_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 41e8de4fb269ca2e711c60ece3190f36a7777eb70fdd3013024e77a1fafca6a7
MD5 fd799e4cb575eb4c25f683e377278fa4
BLAKE2b-256 341bc655e29b18e7e769c926f70630f6f1ec6df3c8a85716dfda8fb85b2261e2

See more details on using hashes here.

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

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_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tox_toml_fmt-1.9.1-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 de34d99d9497960e530c020f4badfe47744863dcd0dd8321237a094b8188aa85
MD5 0291c8713c86ab7f1e6bc7ba861a6a6e
BLAKE2b-256 36f247854f711fb857ddcb302dd62403dfc777493189302d3bf643cf4a24a71c

See more details on using hashes here.

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

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_toml_fmt-1.9.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tox_toml_fmt-1.9.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ebf5506f7ef0f5d8b8bc4f6c485649d1165aac45c3823ee394cf8034d1c0b73
MD5 1c417de9327a99ea3b3131e7507374b4
BLAKE2b-256 4d74092095252b5bbc4d104e19b0a36159e0bd71cd147d3a7cce0ba9e3867f3d

See more details on using hashes here.

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

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_toml_fmt-1.9.1-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tox_toml_fmt-1.9.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8f89862747503c4ed0c5671f78ee2eb562a33029a4079c2288e8211ab41890a2
MD5 49c5cd120f6f87d93b780c3fa46b411c
BLAKE2b-256 1675c61c1a7f6ade88984c49905dcfb6fc416fa1f0388507048a4415d91c7472

See more details on using hashes here.

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

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

Supported by

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