tox-ini-fmt


Nametox-ini-fmt JSON
Version 1.4.1 PyPI version JSON
download
home_pageNone
Summarytox is a generic virtualenv management and test command line tool
upload_time2024-09-18 00:18:17
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords environments isolated testing virtual
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # tox-ini-fmt

[![PyPI](https://img.shields.io/pypi/v/tox-ini-fmt?style=flat-square)](https://pypi.org/project/tox-ini-fmt)
[![PyPI - Implementation](https://img.shields.io/pypi/implementation/tox-ini-fmt?style=flat-square)](https://pypi.org/project/tox-ini-fmt)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/tox-ini-fmt?style=flat-square)](https://pypi.org/project/tox-ini-fmt)
[![Downloads](https://static.pepy.tech/badge/tox-ini-fmt/month)](https://pepy.tech/project/tox-ini-fmt)
[![PyPI - License](https://img.shields.io/pypi/l/tox-ini-fmt?style=flat-square)](https://opensource.org/licenses/MIT)
[![check](https://github.com/tox-dev/tox-ini-fmt/actions/workflows/check.yaml/badge.svg)](https://github.com/tox-dev/tox-ini-fmt/actions/workflows/check.yaml)

apply a consistent format to `tox.ini` files

## installation

`pip install tox-ini-fmt`

## as a pre-commit hook

See [pre-commit](https://github.com/pre-commit/pre-commit) for instructions

Sample `.pre-commit-config.yaml`:

```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:

```console
$ 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?

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

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tox-ini-fmt",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Bern\u00e1t G\u00e1bor <gaborjbernat@gmail.com>",
    "keywords": "environments, isolated, testing, virtual",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/24/2b/29bf05144c197b7e03c1a41edd3c207ae64c1aabe0930c81ce0ae141d796/tox_ini_fmt-1.4.1.tar.gz",
    "platform": null,
    "description": "# tox-ini-fmt\n\n[![PyPI](https://img.shields.io/pypi/v/tox-ini-fmt?style=flat-square)](https://pypi.org/project/tox-ini-fmt)\n[![PyPI - Implementation](https://img.shields.io/pypi/implementation/tox-ini-fmt?style=flat-square)](https://pypi.org/project/tox-ini-fmt)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/tox-ini-fmt?style=flat-square)](https://pypi.org/project/tox-ini-fmt)\n[![Downloads](https://static.pepy.tech/badge/tox-ini-fmt/month)](https://pepy.tech/project/tox-ini-fmt)\n[![PyPI - License](https://img.shields.io/pypi/l/tox-ini-fmt?style=flat-square)](https://opensource.org/licenses/MIT)\n[![check](https://github.com/tox-dev/tox-ini-fmt/actions/workflows/check.yaml/badge.svg)](https://github.com/tox-dev/tox-ini-fmt/actions/workflows/check.yaml)\n\napply a consistent format to `tox.ini` files\n\n## installation\n\n`pip install tox-ini-fmt`\n\n## as a pre-commit hook\n\nSee [pre-commit](https://github.com/pre-commit/pre-commit) for instructions\n\nSample `.pre-commit-config.yaml`:\n\n```yaml\n- repo: https://github.com/tox-dev/tox-ini-fmt\n  rev: \"1.3.1\"\n  hooks:\n    - id: tox-ini-fmt\n      args: [\"-p\", \"fix_lint,type\"]\n```\n\n## cli\n\nConsult the help for the latest usage:\n\n```console\n$ tox-ini-fmt --help\nusage: tox-ini-fmt [-h] [-s] [-p toxenv] tox_ini\n\npositional arguments:\n  tox_ini       tox ini file to format\n\noptional arguments:\n  -h, --help    show this help message and exit\n  -s, --stdout  print the formatted text to the stdout (instead of update in-place)\n  -p toxenv     tox environments that pin to the start of the envlist (comma separated)\n```\n\n## what does it do?\n\n### It does not\n\n- Format any other section beside `tox`/`testenv:*` (other than put this sections to the end of the file)\n\n### General\n\n- `boolean` fields are normalized to `true` or `false`\n- all fields are stripped of white space on both end\n- values that contain a list are split one value per line (PR/merge friendly)\n- indent multi-line values by four spaces, and start on new line\n- substitutions within multi-line (excluding `commands`) are moved to the start of the list (order kept)\n\n### Ordering of sections\n\nApplies the following section order:\n\n1. `tox`\n2. `testenv`\n3. `testenv:*` - `py`/`pypy` envs are ordered in decreasing order by python version, then apply the order defined within\n   `envlist` part of `tox` section, you can pin tox elements to the start by using the `-p` flag\n4. any other section defined within the file\n\n### `tox` section\n\nOrder by:\n\n1. `envlist` - multi-line, start with `py` envs in decreasing python order, then same with `pypy`, then everything else\n2. `isolated_build` - `boolean` field\n3. `skipsdist` - `boolean` field\n4. `skip_missing_interpreters` - `boolean` field\n5. `minversion`\n\n### `testenv` section\n\nOrder by:\n\n1. `description`\n2. `passenv` - multi-line, one environment name to pass per line, sorted by name\n3. `setenv` - multi-line, one environment name-value to set per line in format of `key=value`, sorted by key+value\n4. `basepython`\n5. `skip_install` - `boolean` field\n6. `usedevelop` - `boolean` field\n7. `deps` - multi-line, order by package name (but keep dependencies with package names separate at end), normalize\n   format to remove extra spaces\n8. `extras` - multi-line, one extra env per line\n9. `parallel_show_output` - `boolean` field\n10. `commands` - one command per line, commands that wrap over multiple lines are indented with line two or later by\n    extra four spaces\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "tox is a generic virtualenv management and test command line tool",
    "version": "1.4.1",
    "project_urls": {
        "Documentation": "https://tox.wiki",
        "Homepage": "https://github.com/tox-dev/tox-ini-fmt/blob/main/README.md#tox-ini-fmt",
        "Release Notes": "https://github.com/tox-dev/tox-ini-fmt/blob/main/CHANGELOG.md",
        "Source": "https://github.com/tox-dev/tox-ini-fmt",
        "Tracker": "https://github.com/tox-dev/tox-ini-fmt/issues"
    },
    "split_keywords": [
        "environments",
        " isolated",
        " testing",
        " virtual"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9ff3467a224a51c3586b8373f2d4138f44acfc3dc1007276dffdd83c4fadd187",
                "md5": "898921eade9a7b2b0c8b9f8e62f09f4b",
                "sha256": "ee473b5dae36f220749607ac3bba932cd005efd3e8dd5d1fbb70ced295f5c59f"
            },
            "downloads": -1,
            "filename": "tox_ini_fmt-1.4.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "898921eade9a7b2b0c8b9f8e62f09f4b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 14487,
            "upload_time": "2024-09-18T00:18:16",
            "upload_time_iso_8601": "2024-09-18T00:18:16.420483Z",
            "url": "https://files.pythonhosted.org/packages/9f/f3/467a224a51c3586b8373f2d4138f44acfc3dc1007276dffdd83c4fadd187/tox_ini_fmt-1.4.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "242b29bf05144c197b7e03c1a41edd3c207ae64c1aabe0930c81ce0ae141d796",
                "md5": "6f06418ad281d6af1fd0beaafd8902cf",
                "sha256": "b96e958b7d55dcd5e310e0d15d7cbec7c2bcc00c8b056019d463bdf75655e3f6"
            },
            "downloads": -1,
            "filename": "tox_ini_fmt-1.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "6f06418ad281d6af1fd0beaafd8902cf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 16716,
            "upload_time": "2024-09-18T00:18:17",
            "upload_time_iso_8601": "2024-09-18T00:18:17.627477Z",
            "url": "https://files.pythonhosted.org/packages/24/2b/29bf05144c197b7e03c1a41edd3c207ae64c1aabe0930c81ce0ae141d796/tox_ini_fmt-1.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-18 00:18:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tox-dev",
    "github_project": "tox-ini-fmt",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "tox-ini-fmt"
}
        
Elapsed time: 0.56962s