{"id":20784161,"url":"https://github.com/tox-dev/tox-ini-fmt","last_synced_at":"2025-04-05T18:06:48.676Z","repository":{"id":37932762,"uuid":"296925603","full_name":"tox-dev/tox-ini-fmt","owner":"tox-dev","description":"Formats your tox.ini files","archived":false,"fork":false,"pushed_at":"2025-03-24T18:46:37.000Z","size":307,"stargazers_count":41,"open_issues_count":4,"forks_count":10,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-29T17:09:30.109Z","etag":null,"topics":["formatter","hacktoberfest","tox"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tox-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"tidelift":"pypi/tox-ini-fmt"}},"created_at":"2020-09-19T18:10:48.000Z","updated_at":"2025-03-24T18:46:40.000Z","dependencies_parsed_at":"2024-04-09T17:52:03.340Z","dependency_job_id":"4521335e-c2b7-46c5-a5d9-ee1147645c94","html_url":"https://github.com/tox-dev/tox-ini-fmt","commit_stats":{"total_commits":133,"total_committers":10,"mean_commits":13.3,"dds":0.6015037593984962,"last_synced_commit":"4b2f7aa7ad35361ad1eaf7bf86d1356e0dd6c6b9"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Ftox-ini-fmt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Ftox-ini-fmt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Ftox-ini-fmt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Ftox-ini-fmt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tox-dev","download_url":"https://codeload.github.com/tox-dev/tox-ini-fmt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378141,"owners_count":20929296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["formatter","hacktoberfest","tox"],"created_at":"2024-11-17T14:26:35.665Z","updated_at":"2025-04-05T18:06:48.659Z","avatar_url":"https://github.com/tox-dev.png","language":"Python","funding_links":["https://tidelift.com/funding/github/pypi/tox-ini-fmt"],"categories":[],"sub_categories":[],"readme":"# 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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftox-dev%2Ftox-ini-fmt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftox-dev%2Ftox-ini-fmt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftox-dev%2Ftox-ini-fmt/lists"}