pax_global_header 0000666 0000000 0000000 00000000064 14771265325 0014526 g ustar 00root root 0000000 0000000 52 comment=3d35559ca1e9411708b9e5f73d610691a4fbdefc
tox-4.25.0/ 0000775 0000000 0000000 00000000000 14771265325 0012430 5 ustar 00root root 0000000 0000000 tox-4.25.0/.dockerignore 0000664 0000000 0000000 00000000060 14771265325 0015100 0 ustar 00root root 0000000 0000000 .tox*
.*_cache
*.egg-info
Dockerfile
build
dist
tox-4.25.0/.github/ 0000775 0000000 0000000 00000000000 14771265325 0013770 5 ustar 00root root 0000000 0000000 tox-4.25.0/.github/CODEOWNERS 0000664 0000000 0000000 00000000025 14771265325 0015360 0 ustar 00root root 0000000 0000000 * @gaborbernat
tox-4.25.0/.github/CONTRIBUTING.md 0000664 0000000 0000000 00000001012 14771265325 0016213 0 ustar 00root root 0000000 0000000 # Contributing to `tox`
Thank you for your interest in contributing to `tox`! There are many ways to contribute, and we appreciate all of them.
As a reminder, all contributors are expected to follow our [Code of Conduct][coc].
[coc]: https://www.pypa.io/en/latest/code-of-conduct/
## Development Documentation
Our [development documentation](http://tox.readthedocs.org/en/latest/development.html#development) contains details on
how to get started with contributing to `tox`, and details of our development processes.
tox-4.25.0/.github/FUNDING.yml 0000664 0000000 0000000 00000000023 14771265325 0015600 0 ustar 00root root 0000000 0000000 tidelift: pypi/tox
tox-4.25.0/.github/ISSUE_TEMPLATE/ 0000775 0000000 0000000 00000000000 14771265325 0016153 5 ustar 00root root 0000000 0000000 tox-4.25.0/.github/ISSUE_TEMPLATE/bug-report.md 0000664 0000000 0000000 00000001141 14771265325 0020560 0 ustar 00root root 0000000 0000000 ---
name: Bug report
about: Create a report to help us improve
title: ""
labels: bug
assignees: ""
---
## Issue
## Environment
Provide at least:
- OS:
Output of pip list
of the host Python, where tox
is installed
```console
```
## Output of running tox
Output of tox -rvv
```console
```
## Minimal example
```console
```
tox-4.25.0/.github/ISSUE_TEMPLATE/config.yml 0000664 0000000 0000000 00000001147 14771265325 0020146 0 ustar 00root root 0000000 0000000 # Ref: https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
blank_issues_enabled: true # default
contact_links:
- name: 🤷💻🤦 Discussions
url: https://github.com/tox-dev/tox/discussions
about: |
Ask typical Q&A here. Please note that we cannot give support about Python packaging in general, questions about structuring projects and so on.
- name: 📝 PyPA Code of Conduct
url: https://www.pypa.io/en/latest/code-of-conduct/
about: ❤ Be nice to other members of the community. ☮ Behave.
tox-4.25.0/.github/ISSUE_TEMPLATE/feature-request.md 0000664 0000000 0000000 00000001371 14771265325 0021620 0 ustar 00root root 0000000 0000000 ---
name: Feature request
about: Suggest an enhancement for this project
title: ""
labels: enhancement
assignees: ""
---
## What's the problem this feature will solve?
## Describe the solution you'd like
## Alternative Solutions
## Additional context
tox-4.25.0/.github/PULL_REQUEST_TEMPLATE.md 0000664 0000000 0000000 00000000715 14771265325 0017574 0 ustar 00root root 0000000 0000000
- [ ] ran the linter to address style issues (`tox -e fix`)
- [ ] wrote descriptive pull request text
- [ ] ensured there are test(s) validating the fix
- [ ] added news fragment in `docs/changelog` folder
- [ ] updated/extended the documentation
tox-4.25.0/.github/config.yml 0000664 0000000 0000000 00000000060 14771265325 0015754 0 ustar 00root root 0000000 0000000 chronographer:
enforce_name:
suffix: .rst
tox-4.25.0/.github/dependabot.yml 0000664 0000000 0000000 00000000165 14771265325 0016622 0 ustar 00root root 0000000 0000000 version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
tox-4.25.0/.github/release.yml 0000664 0000000 0000000 00000000114 14771265325 0016127 0 ustar 00root root 0000000 0000000 changelog:
exclude:
authors:
- dependabot
- pre-commit-ci
tox-4.25.0/.github/workflows/ 0000775 0000000 0000000 00000000000 14771265325 0016025 5 ustar 00root root 0000000 0000000 tox-4.25.0/.github/workflows/check.yaml 0000664 0000000 0000000 00000005225 14771265325 0017772 0 ustar 00root root 0000000 0000000 name: check
on:
workflow_dispatch:
push:
branches: ["main"]
tags-ignore: ["**"]
pull_request:
schedule:
- cron: "0 8 * * *"
concurrency:
group: check-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: test ${{ matrix.py }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
py:
- "3.13"
- "3.12"
- "3.11"
- "3.10"
- "3.9"
- "3.8"
os:
- ubuntu-latest
- windows-latest
- macos-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Add .local/bin to Windows PATH
if: runner.os == 'Windows'
shell: bash
run: echo "$USERPROFILE/.local/bin" >> $GITHUB_PATH
- name: Install tox@self
run: uv tool install --python-preference only-managed --python ${{ matrix.py }} tox@.
- name: Setup test suite
run: tox run -vv --notest --skip-missing-interpreters false -e ${{ matrix.py }}
- name: Run test suite
run: tox run --skip-pkg-install -e ${{ matrix.py }}
env:
PYTEST_ADDOPTS: "-vv --durations=20"
DIFF_AGAINST: HEAD
PYTEST_XDIST_AUTO_NUM_WORKERS: 0
check:
name: tox env ${{ matrix.tox_env }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
tox_env:
- type
- dev
- docs
- pkg_meta
os:
- ubuntu-latest
- windows-latest
exclude:
- { os: windows-latest, tox_env: docs }
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Add .local/bin to Windows PATH
if: runner.os == 'Windows'
shell: bash
run: echo "$USERPROFILE/.local/bin" >> $GITHUB_PATH
- name: Install tox@self
run: uv tool install --python-preference only-managed --python 3.13 tox@.
- name: Setup check suite
run: tox r -vv --notest --skip-missing-interpreters false -e ${{ matrix.tox_env }}
- name: Run check for ${{ matrix.tox_env }}
run: tox r --skip-pkg-install -e ${{ matrix.tox_env }}
tox-4.25.0/.github/workflows/release.yaml 0000664 0000000 0000000 00000002360 14771265325 0020332 0 ustar 00root root 0000000 0000000 name: Release to PyPI
on:
push:
tags: ["*"]
env:
dists-artifact-name: python-package-distributions
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build package
run: uv build --python 3.13 --python-preference only-managed --sdist --wheel . --out-dir dist
- name: Store the distribution packages
uses: actions/upload-artifact@v4
with:
name: ${{ env.dists-artifact-name }}
path: dist/*
release:
needs:
- build
runs-on: ubuntu-latest
environment:
name: release
url: https://pypi.org/project/tox/${{ github.ref_name }}
permissions:
id-token: write
steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: ${{ env.dists-artifact-name }}
path: dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@v1.12.4
with:
attestations: true
tox-4.25.0/.gitignore 0000664 0000000 0000000 00000000376 14771265325 0014426 0 ustar 00root root 0000000 0000000 /.*_cache
/build
/dist
/docs/_draft.rst
/src/tox/version.py
/toxfile.py
/Dockerfile
/.tox
*.py[co]
__pycache__
*.swp
*.egg-info
/tests/demo_pkg_setuptools/build/lib/demo_pkg_setuptools/__init__.py
/tests/demo_pkg_inline.lock
/tests/demo_pkg_inline/.tox/
tox-4.25.0/.pre-commit-config.yaml 0000664 0000000 0000000 00000003177 14771265325 0016721 0 ustar 00root root 0000000 0000000 repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.31.3
hooks:
- id: check-github-workflows
args: ["--verbose"]
- repo: https://github.com/codespell-project/codespell
rev: v2.4.1
hooks:
- id: codespell
additional_dependencies: ["tomli>=2.2.1"]
- repo: https://github.com/tox-dev/pyproject-fmt
rev: "v2.5.1"
hooks:
- id: pyproject-fmt
- repo: https://github.com/abravalheri/validate-pyproject
rev: "v0.24.1"
hooks:
- id: validate-pyproject
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: "v0.11.2"
hooks:
- id: ruff-format
- id: ruff
args: ["--fix", "--unsafe-fixes", "--exit-non-zero-on-fix"]
- repo: https://github.com/asottile/blacken-docs
rev: 1.19.1
hooks:
- id: blacken-docs
additional_dependencies: [black==25.1]
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.10.0
hooks:
- id: rst-backticks
- repo: https://github.com/rbubley/mirrors-prettier
rev: "v3.5.3"
hooks:
- id: prettier
- repo: local
hooks:
- id: changelogs-rst
name: changelog filenames
language: fail
entry: "changelog files must be named ####.(feature|bugfix|doc|removal|misc).rst"
exclude: ^docs/changelog/(\d+\.(feature|bugfix|doc|removal|misc).rst|template.jinja2)
files: ^docs/changelog/
- repo: meta
hooks:
- id: check-hooks-apply
- id: check-useless-excludes
tox-4.25.0/.readthedocs.yaml 0000664 0000000 0000000 00000000267 14771265325 0015664 0 ustar 00root root 0000000 0000000 version: 2
build:
os: ubuntu-lts-latest
tools:
python: "3"
commands:
- pip install uv
- uv venv
- uv pip install tox-uv tox@.
- .venv/bin/tox run -e docs --
tox-4.25.0/CODE_OF_CONDUCT.md 0000664 0000000 0000000 00000006236 14771265325 0015236 0 ustar 00root root 0000000 0000000 # Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making
participation in our project and our community a harassment-free experience for everyone, regardless of age, body size,
disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race,
religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take
appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits,
issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any
contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the
project or its community. Examples of representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed representative at an online or offline
event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team. The
project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the
circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent
repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at
[https://www.contributor-covenant.org/version/1/4/code-of-conduct.html][version]
[homepage]: https://www.contributor-covenant.org/
[version]: https://www.contributor-covenant.org/version/1/4/
tox-4.25.0/LICENSE 0000664 0000000 0000000 00000001777 14771265325 0013451 0 ustar 00root root 0000000 0000000 Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
tox-4.25.0/README.md 0000664 0000000 0000000 00000003017 14771265325 0013710 0 ustar 00root root 0000000 0000000 # tox
[](https://pypi.org/project/tox/)
[](https://pypi.org/project/tox/)
[](https://pepy.tech/project/tox)
[](https://tox.readthedocs.io/en/latest/?badge=latest)
[](https://github.com/tox-dev/tox/actions/workflows/check.yaml)
`tox` aims to automate and standardize testing in Python. It is part of a larger vision of easing the packaging, testing
and release process of Python software (alongside [pytest](https://docs.pytest.org/en/latest/) and
[devpi](https://www.devpi.net)).
tox is a generic virtual environment management and test command line tool you can use for:
- checking your package builds and installs correctly under different environments (such as different Python
implementations, versions or installation dependencies),
- running your tests in each of the environments with the test tool of choice,
- acting as a frontend to continuous integration servers, greatly reducing boilerplate and merging CI and shell-based
testing.
Please read our [user guide](https://tox.wiki/en/latest/user_guide.html#basic-example) for an example and more detailed
introduction, or watch [this YouTube video](https://www.youtube.com/watch?v=SFqna5ilqig) that presents the problem space
and how tox solves it.
tox-4.25.0/docs/ 0000775 0000000 0000000 00000000000 14771265325 0013360 5 ustar 00root root 0000000 0000000 tox-4.25.0/docs/_static/ 0000775 0000000 0000000 00000000000 14771265325 0015006 5 ustar 00root root 0000000 0000000 tox-4.25.0/docs/_static/custom.css 0000664 0000000 0000000 00000000162 14771265325 0017031 0 ustar 00root root 0000000 0000000 blockquote {
border-left: none;
font-style: normal;
margin-left: 1.5rem;
margin-right: 0;
padding: 0;
}
tox-4.25.0/docs/_static/img/ 0000775 0000000 0000000 00000000000 14771265325 0015562 5 ustar 00root root 0000000 0000000 tox-4.25.0/docs/_static/img/tox.png 0000664 0000000 0000000 00000150144 14771265325 0017107 0 ustar 00root root 0000000 0000000 PNG
IHDR @] sBIT|d pHYs $ tEXtSoftware www.inkscape.org< IDATxy]u}眻Κ,`պT
m*b]~*"*ֶƶ֥jQZDD\R-HaK2d2d{8 e{s_>̽J 2 4IӒ9 M M$ pEj @-tH.ݾ*'&