Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disallow command line environments which are not explicitly specified in the config file #3089

Merged
merged 5 commits into from
Aug 14, 2023

Conversation

tjsmart
Copy link
Contributor

@tjsmart tjsmart commented Aug 13, 2023

Checks that all command line provided environments correspond with an environment in the configuration file.

This does not apply to configurations starting with py* or .pkg (I don't know what the latter is perhaps it shouldn't be special cased).

I'd love to update/extend the documentation but could use some help finding a home for this.

Fixes: #2858.

  • 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

…g file

Special exception is made for 'py*' which allows implicit creation of
environments.
@@ -141,7 +141,7 @@ def test_keyboard_interrupt(tox_project: ToxProjectCreator, demo_pkg_inline: Pat
)
cmd = ["-c", str(proj.path / "tox.ini"), "p", "-p", "1", "-e", f"py,py{sys.version_info[0]},dep"]
process = Popen([sys.executable, "-m", "tox", *cmd], stdout=PIPE, stderr=PIPE, universal_newlines=True)
while not marker.exists():
while not marker.exists() and (process.poll() is None):
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While in a bit of broken state, this test was hanging for me. Suggesting that we use Popen.poll to check if the child process has already terminated (likely with an error if marker does not exist).

Copy link
Member

@gaborbernat gaborbernat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@gaborbernat gaborbernat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generraly the idea looks good, but you need to fix the CI.

Copy link
Member

@gaborbernat gaborbernat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Signed-off-by: Bernát Gábor <[email protected]>
@atugushev
Copy link

@tjsmart FYI, I've reported a bug #3096, which might be related to this PR.

brisvag pushed a commit to napari/napari that referenced this pull request Aug 22, 2023
# Description

Test of examples starts failing as tox no longer discover tox.ini in a
subfolder and/or do not allow non-defined environments

tox-dev/tox#3089
assert "provided environments not found in configuration file: ['does_not_exist']" in outcome.out, outcome.out


@pytest.mark.parametrize("env_name", ["py", "py310", ".pkg"])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

test_allowed_implicit_cli_envs[py310] now fails when Python 3.10 is not installed. Is that expected, or should I open an issue?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR welcome, likely should be pyx.y where x.y is the current Python interpreter.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hroncok added a commit to hroncok/tox that referenced this pull request Aug 30, 2023
hroncok added a commit to hroncok/tox that referenced this pull request Aug 30, 2023
…on version

See tox-dev#3089 (review)

test_allowed_implicit_cli_envs[py310] assumed Python 3.10 is installed.
It failed without it:

    ____________________ test_allowed_implicit_cli_envs[py310] _____________________
    [gw3] linux -- Python 3.12.0 /usr/bin/python3

    env_name = 'py310'
    tox_project = <function init_fixture.<locals>._init at 0x7febd4e1ca40>

        @pytest.mark.parametrize("env_name", ["py", "py310", ".pkg"])
        def test_allowed_implicit_cli_envs(env_name: str, tox_project: ToxProjectCreator) -> None:
            proj = tox_project({"tox.ini": ""})
            outcome = proj.run("r", "-e", env_name)
    >       outcome.assert_success()

    env_name   = 'py310'
    outcome    = code: -1
    cmd: /usr/bin/python3 -m tox r -e py310
    cwd: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_allowed_implici...uld not find python interpreter with spec(s): py310
      py310: SKIP (0.23 seconds)
      evaluation failed :( (0.27 seconds)

    proj       = ToxProject(path=/tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_allowed_implicit_cli_envs1/p) at 140650867026656
    tox_project = <function init_fixture.<locals>._init at 0x7febd4e1ca40>

    tests/session/test_env_select.py:158:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    self = code: -1
    cmd: /usr/bin/python3 -m tox r -e py310
    cwd: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_allowed_implici...uld not find python interpreter with spec(s): py310
      py310: SKIP (0.23 seconds)
      evaluation failed :( (0.27 seconds)

        def assert_success(self) -> None:
    >       assert self.success, repr(self)  # noqa: S101
    E       AssertionError: code: -1
    E         cmd: /usr/bin/python3 -m tox r -e py310
    E         cwd: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_allowed_implicit_cli_envs1/p
    E         standard output
    E         py310: skipped because could not find python interpreter with spec(s): py310
    E           py310: SKIP (0.23 seconds)
    E           evaluation failed :( (0.27 seconds)
    E
    E       assert False
    E        +  where False = code: -1\ncmd: /usr/bin/python3 -m tox r -e py310\ncwd: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_allowed_implicit_cli_envs1/p\nstandard output\npy310: skipped because could not find python interpreter with spec(s): py310\n  py310: SKIP (0.23 seconds)\n  evaluation failed :( (0.27 seconds)\n.success

    self       = code: -1
    cmd: /usr/bin/python3 -m tox r -e py310
    cwd: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_allowed_implici...uld not find python interpreter with spec(s): py310
      py310: SKIP (0.23 seconds)
      evaluation failed :( (0.27 seconds)

    .../usr/lib/python3.12/site-packages/tox/pytest.py:352: AssertionError

This way, we use an environment that is available (as long as the tests run on CPython).
This could be improved to support PyPy as well, but I decided to take one step at a time.
hroncok added a commit to hroncok/tox that referenced this pull request Aug 31, 2023
…on version

See tox-dev#3089 (review)

test_allowed_implicit_cli_envs[py310] assumed Python 3.10 is installed.
It failed without it:

    ____________________ test_allowed_implicit_cli_envs[py310] _____________________
    [gw3] linux -- Python 3.12.0 /usr/bin/python3

    env_name = 'py310'
    tox_project = <function init_fixture.<locals>._init at 0x7febd4e1ca40>

        @pytest.mark.parametrize("env_name", ["py", "py310", ".pkg"])
        def test_allowed_implicit_cli_envs(env_name: str, tox_project: ToxProjectCreator) -> None:
            proj = tox_project({"tox.ini": ""})
            outcome = proj.run("r", "-e", env_name)
    >       outcome.assert_success()

    env_name   = 'py310'
    outcome    = code: -1
    cmd: /usr/bin/python3 -m tox r -e py310
    cwd: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_allowed_implici...uld not find python interpreter with spec(s): py310
      py310: SKIP (0.23 seconds)
      evaluation failed :( (0.27 seconds)

    proj       = ToxProject(path=/tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_allowed_implicit_cli_envs1/p) at 140650867026656
    tox_project = <function init_fixture.<locals>._init at 0x7febd4e1ca40>

    tests/session/test_env_select.py:158:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    self = code: -1
    cmd: /usr/bin/python3 -m tox r -e py310
    cwd: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_allowed_implici...uld not find python interpreter with spec(s): py310
      py310: SKIP (0.23 seconds)
      evaluation failed :( (0.27 seconds)

        def assert_success(self) -> None:
    >       assert self.success, repr(self)  # noqa: S101
    E       AssertionError: code: -1
    E         cmd: /usr/bin/python3 -m tox r -e py310
    E         cwd: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_allowed_implicit_cli_envs1/p
    E         standard output
    E         py310: skipped because could not find python interpreter with spec(s): py310
    E           py310: SKIP (0.23 seconds)
    E           evaluation failed :( (0.27 seconds)
    E
    E       assert False
    E        +  where False = code: -1\ncmd: /usr/bin/python3 -m tox r -e py310\ncwd: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_allowed_implicit_cli_envs1/p\nstandard output\npy310: skipped because could not find python interpreter with spec(s): py310\n  py310: SKIP (0.23 seconds)\n  evaluation failed :( (0.27 seconds)\n.success

    self       = code: -1
    cmd: /usr/bin/python3 -m tox r -e py310
    cwd: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_allowed_implici...uld not find python interpreter with spec(s): py310
      py310: SKIP (0.23 seconds)
      evaluation failed :( (0.27 seconds)

    .../usr/lib/python3.12/site-packages/tox/pytest.py:352: AssertionError

This way, we use an environment that is available (as long as the tests run on CPython).
This could be improved to support PyPy as well, but I decided to take one step at a time.
hartwork added a commit to hartwork/ansi2html that referenced this pull request Sep 5, 2023
hartwork added a commit to hartwork/ansi2html that referenced this pull request Sep 5, 2023
welpaolo referenced this pull request in canonical/spark-k8s-toolkit-py Sep 14, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [black](https://togithub.com/psf/black)
([changelog](https://togithub.com/psf/black/blob/main/CHANGES.md)) |
`23.7.0` -> `23.9.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/black/23.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/black/23.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/black/23.7.0/23.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/black/23.7.0/23.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [exceptiongroup](https://togithub.com/agronholm/exceptiongroup)
([changelog](https://togithub.com/agronholm/exceptiongroup/blob/main/CHANGES.rst))
| `==1.1.2` -> `==1.1.3` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/exceptiongroup/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/exceptiongroup/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/exceptiongroup/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/exceptiongroup/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [httpcore](https://togithub.com/encode/httpcore) | `==0.17.3` ->
`==0.18.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/httpcore/0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/httpcore/0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/httpcore/0.17.3/0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/httpcore/0.17.3/0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [httpx](https://togithub.com/encode/httpx)
([changelog](https://togithub.com/encode/httpx/blob/master/CHANGELOG.md))
| `==0.24.1` -> `==0.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/httpx/0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/httpx/0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/httpx/0.24.1/0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/httpx/0.24.1/0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [lightkube-models](https://togithub.com/gtsystem/lightkube-models) |
`==1.27.1.4` -> `==1.28.1.4` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/lightkube-models/1.28.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/lightkube-models/1.28.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/lightkube-models/1.27.1.4/1.28.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/lightkube-models/1.27.1.4/1.28.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [mypy](https://www.mypy-lang.org/)
([source](https://togithub.com/python/mypy),
[changelog](https://mypy-lang.blogspot.com/)) | `1.5.0` -> `1.5.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/mypy/1.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/mypy/1.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/mypy/1.5.0/1.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/mypy/1.5.0/1.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pytest](https://docs.pytest.org/en/latest/)
([source](https://togithub.com/pytest-dev/pytest),
[changelog](https://docs.pytest.org/en/stable/changelog.html)) | `7.4.0`
-> `7.4.2` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest/7.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pytest/7.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pytest/7.4.0/7.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest/7.4.0/7.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [tox](https://togithub.com/tox-dev/tox)
([changelog](https://tox.wiki/en/latest/changelog.html)) | `4.8.0` ->
`4.11.3` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/tox/4.11.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/tox/4.11.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/tox/4.8.0/4.11.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/tox/4.8.0/4.11.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>psf/black (black)</summary>

###
[`v23.9.1`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2391)

[Compare Source](https://togithub.com/psf/black/compare/23.9.0...23.9.1)

Due to various issues, the previous release (23.9.0) did not include
compiled mypyc
wheels, which make Black significantly faster. These issues have now
been fixed, and
this release should come with compiled wheels once again.

There will be no wheels for Python 3.12 due to a bug in mypyc. We will
provide 3.12
wheels in a future release as soon as the mypyc bug is fixed.

##### Packaging

- Upgrade to mypy 1.5.1
([#&#8203;3864](https://togithub.com/psf/black/issues/3864))

##### Performance

- Store raw tuples instead of NamedTuples in Black's cache, improving
performance and
decreasing the size of the cache
([#&#8203;3877](https://togithub.com/psf/black/issues/3877))

###
[`v23.9.0`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2390)

[Compare Source](https://togithub.com/psf/black/compare/23.7.0...23.9.0)

##### Preview style

- More concise formatting for dummy implementations
([#&#8203;3796](https://togithub.com/psf/black/issues/3796))
- In stub files, add a blank line between a statement with a body (e.g
an
`if sys.version_info > (3, x):`) and a function definition on the same
level ([#&#8203;3862](https://togithub.com/psf/black/issues/3862))
- Fix a bug whereby spaces were removed from walrus operators within
subscript([#&#8203;3823](https://togithub.com/psf/black/issues/3823))

##### Configuration

- Black now applies exclusion and ignore logic before resolving symlinks
([#&#8203;3846](https://togithub.com/psf/black/issues/3846))

##### Performance

- Avoid importing `IPython` if notebook cells do not contain magics
([#&#8203;3782](https://togithub.com/psf/black/issues/3782))
- Improve caching by comparing file hashes as fallback for mtime and
size ([#&#8203;3821](https://togithub.com/psf/black/issues/3821))

##### *Blackd*

- Fix an issue in `blackd` with single character input
([#&#8203;3558](https://togithub.com/psf/black/issues/3558))

##### Integrations

-   Black now has an
[official pre-commit
mirror](https://togithub.com/psf/black-pre-commit-mirror). Swapping
`https://github.com/psf/black` to
`https://github.com/psf/black-pre-commit-mirror` in
your `.pre-commit-config.yaml` will make Black about 2x faster
([#&#8203;3828](https://togithub.com/psf/black/issues/3828))
- The `.black.env` folder specified by `ENV_PATH` will now be removed on
the completion
of the GitHub Action
([#&#8203;3759](https://togithub.com/psf/black/issues/3759))

</details>

<details>
<summary>agronholm/exceptiongroup (exceptiongroup)</summary>

###
[`v1.1.3`](https://togithub.com/agronholm/exceptiongroup/compare/1.1.2...1.1.3)

[Compare
Source](https://togithub.com/agronholm/exceptiongroup/compare/1.1.2...1.1.3)

</details>

<details>
<summary>encode/httpcore (httpcore)</summary>

###
[`v0.18.0`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#0180-September-8th-2023)

[Compare
Source](https://togithub.com/encode/httpcore/compare/0.17.3...0.18.0)

- Add support for HTTPS proxies.
([#&#8203;745](https://togithub.com/encode/httpcore/issues/745),
[#&#8203;786](https://togithub.com/encode/httpcore/issues/786))
- Drop Python 3.7 support.
([#&#8203;727](https://togithub.com/encode/httpcore/issues/727))
- Handle `sni_hostname` extension with SOCKS proxy.
([#&#8203;774](https://togithub.com/encode/httpcore/issues/774))
- Handle HTTP/1.1 half-closed connections gracefully.
([#&#8203;641](https://togithub.com/encode/httpcore/issues/641))
- Change the type of `Extensions` from `Mapping[Str, Any]` to
`MutableMapping[Str, Any]`.
([#&#8203;762](https://togithub.com/encode/httpcore/issues/762))

</details>

<details>
<summary>encode/httpx (httpx)</summary>

###
[`v0.25.0`](https://togithub.com/encode/httpx/blob/HEAD/CHANGELOG.md#0250-11th-Sep-2023)

[Compare
Source](https://togithub.com/encode/httpx/compare/0.24.1...0.25.0)

##### Removed

- Drop support for Python 3.7.
([#&#8203;2813](https://togithub.com/encode/httpx/issues/2813))

##### Added

- Support HTTPS proxies.
([#&#8203;2845](https://togithub.com/encode/httpx/issues/2845))
- Change the type of `Extensions` from `Mapping[Str, Any]` to
`MutableMapping[Str, Any]`.
([#&#8203;2803](https://togithub.com/encode/httpx/issues/2803))
- Add `socket_options` argument to `httpx.HTTPTransport` and
`httpx.AsyncHTTPTransport` classes.
([#&#8203;2716](https://togithub.com/encode/httpx/issues/2716))
- The `Response.raise_for_status()` method now returns the response
instance. For example: `data =
httpx.get('...').raise_for_status().json()`.
([#&#8203;2776](https://togithub.com/encode/httpx/issues/2776))

##### Fixed

- Return `500` error response instead of exceptions when
`raise_app_exceptions=False` is set on `ASGITransport`.
([#&#8203;2669](https://togithub.com/encode/httpx/issues/2669))
- Ensure all `WSGITransport` environs have a `SERVER_PROTOCOL`.
([#&#8203;2708](https://togithub.com/encode/httpx/issues/2708))
- Always encode forward slashes as `%2F` in query parameters
([#&#8203;2723](https://togithub.com/encode/httpx/issues/2723))
- Use Mozilla documentation instead of `httpstatuses.com` for HTTP error
reference
([#&#8203;2768](https://togithub.com/encode/httpx/issues/2768))

</details>

<details>
<summary>python/mypy (mypy)</summary>

### [`v1.5.1`](https://togithub.com/python/mypy/compare/v1.5.0...v1.5.1)

[Compare
Source](https://togithub.com/python/mypy/compare/v1.5.0...v1.5.1)

</details>

<details>
<summary>pytest-dev/pytest (pytest)</summary>

###
[`v7.4.2`](https://togithub.com/pytest-dev/pytest/releases/tag/7.4.2):
pytest 7.4.2 (2023-09-07)

[Compare
Source](https://togithub.com/pytest-dev/pytest/compare/7.4.1...7.4.2)

### Bug Fixes

- [#&#8203;11237](https://togithub.com/pytest-dev/pytest/issues/11237):
Fix doctest collection of `functools.cached_property` objects.

- [#&#8203;11306](https://togithub.com/pytest-dev/pytest/issues/11306):
Fixed bug using `--importmode=importlib` which would cause package
`__init__.py` files to be imported more than once in some cases.

- [#&#8203;11367](https://togithub.com/pytest-dev/pytest/issues/11367):
Fixed bug where `user_properties` where not being saved in the JUnit XML
file if a fixture failed during teardown.

- [#&#8203;11394](https://togithub.com/pytest-dev/pytest/issues/11394):
Fixed crash when parsing long command line arguments that might be
interpreted as files.

### Improved Documentation

- [#&#8203;11391](https://togithub.com/pytest-dev/pytest/issues/11391):
Improved disclaimer on pytest plugin reference page to better indicate
this is an automated, non-curated listing.

###
[`v7.4.1`](https://togithub.com/pytest-dev/pytest/releases/tag/7.4.1):
pytest 7.4.1 (2023-09-02)

[Compare
Source](https://togithub.com/pytest-dev/pytest/compare/7.4.0...7.4.1)

## Bug Fixes

- [#&#8203;10337](https://togithub.com/pytest-dev/pytest/issues/10337):
Fixed bug where fake intermediate modules generated by
`--import-mode=importlib` would not include the
    child modules as attributes of the parent modules.

- [#&#8203;10702](https://togithub.com/pytest-dev/pytest/issues/10702):
Fixed error assertion handling in `pytest.approx` when `None` is an
expected or received value when comparing dictionaries.

- [#&#8203;10811](https://togithub.com/pytest-dev/pytest/issues/10811):
Fixed issue when using `--import-mode=importlib` together with
`--doctest-modules` that caused modules
to be imported more than once, causing problems with modules that have
import side effects.

</details>

<details>
<summary>tox-dev/tox (tox)</summary>

### [`v4.11.3`](https://togithub.com/tox-dev/tox/releases/tag/4.11.3)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.11.2...4.11.3)

#### What's Changed

- docs(plugin): explain plugin registration by
[@&#8203;hashar](https://togithub.com/hashar) in
[https://github.com/tox-dev/tox/pull/3116](https://togithub.com/tox-dev/tox/pull/3116)
- Fix error caused by a bad `base_python` path by
[@&#8203;Tbruno25](https://togithub.com/Tbruno25) in
[https://github.com/tox-dev/tox/pull/3122](https://togithub.com/tox-dev/tox/pull/3122)

#### New Contributors

- [@&#8203;hashar](https://togithub.com/hashar) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3116](https://togithub.com/tox-dev/tox/pull/3116)

**Full Changelog**:
tox-dev/tox@4.11.2...4.11.3

### [`v4.11.2`](https://togithub.com/tox-dev/tox/releases/tag/4.11.2)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.11.1...4.11.2)

#### What's Changed

- Fix typos discovered by codespell by
[@&#8203;cclauss](https://togithub.com/cclauss) in
[https://github.com/tox-dev/tox/pull/3113](https://togithub.com/tox-dev/tox/pull/3113)
- Bump actions/checkout from 3 to 4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/tox-dev/tox/pull/3114](https://togithub.com/tox-dev/tox/pull/3114)
- Providing example to make CLI help more helpful for -x,--override by
[@&#8203;posita](https://togithub.com/posita) in
[https://github.com/tox-dev/tox/pull/3119](https://togithub.com/tox-dev/tox/pull/3119)
- Remove stray colons in `config.rst` left over from
[#&#8203;3111](https://togithub.com/tox-dev/tox/issues/3111) by
[@&#8203;posita](https://togithub.com/posita) in
[https://github.com/tox-dev/tox/pull/3120](https://togithub.com/tox-dev/tox/pull/3120)

#### New Contributors

- [@&#8203;cclauss](https://togithub.com/cclauss) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3113](https://togithub.com/tox-dev/tox/pull/3113)
- [@&#8203;posita](https://togithub.com/posita) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3119](https://togithub.com/tox-dev/tox/pull/3119)

**Full Changelog**:
tox-dev/tox@4.11.1...4.11.2

### [`v4.11.1`](https://togithub.com/tox-dev/tox/releases/tag/4.11.1)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.11.0...4.11.1)

#### What's Changed

- Tests: Don't assume Python 3.10 is always installed, use current
Python version by [@&#8203;hroncok](https://togithub.com/hroncok) in
[https://github.com/tox-dev/tox/pull/3108](https://togithub.com/tox-dev/tox/pull/3108)
- Set the --parallel default to "auto", not CPU count by
[@&#8203;paravoid](https://togithub.com/paravoid) in
[https://github.com/tox-dev/tox/pull/3109](https://togithub.com/tox-dev/tox/pull/3109)
- Fix , being used as value parser for env var configs by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/3111](https://togithub.com/tox-dev/tox/pull/3111)

**Full Changelog**:
tox-dev/tox@4.11.0...4.11.1

### [`v4.11.0`](https://togithub.com/tox-dev/tox/releases/tag/4.11.0)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.10.0...4.11.0)

#### What's Changed

- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3102](https://togithub.com/tox-dev/tox/pull/3102)
- Fix type checker and bump tools by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/3107](https://togithub.com/tox-dev/tox/pull/3107)
- Add config_settings support for build backend calls by
[@&#8203;nschloe](https://togithub.com/nschloe) in
[https://github.com/tox-dev/tox/pull/3090](https://togithub.com/tox-dev/tox/pull/3090)

#### New Contributors

- [@&#8203;nschloe](https://togithub.com/nschloe) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3090](https://togithub.com/tox-dev/tox/pull/3090)

**Full Changelog**:
tox-dev/tox@4.10.0...4.11.0

### [`v4.10.0`](https://togithub.com/tox-dev/tox/releases/tag/4.10.0)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.9.0...4.10.0)

##### What's Changed

- Set basepython for docs env in alignment to Read the Docs default by
[@&#8203;jugmac00](https://togithub.com/jugmac00) in
[https://github.com/tox-dev/tox/pull/3097](https://togithub.com/tox-dev/tox/pull/3097)
- Document release process by
[@&#8203;jugmac00](https://togithub.com/jugmac00) in
[https://github.com/tox-dev/tox/pull/3094](https://togithub.com/tox-dev/tox/pull/3094)
- Replace undefined settings with overrides when appending by
[@&#8203;stefanor](https://togithub.com/stefanor) in
[https://github.com/tox-dev/tox/pull/3101](https://togithub.com/tox-dev/tox/pull/3101)
- Accept environments with defined factors or of python selector form -
suggest closest by [@&#8203;BeyondEvil](https://togithub.com/BeyondEvil)
in
[https://github.com/tox-dev/tox/pull/3099](https://togithub.com/tox-dev/tox/pull/3099)

##### New Contributors

- [@&#8203;BeyondEvil](https://togithub.com/BeyondEvil) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3099](https://togithub.com/tox-dev/tox/pull/3099)

**Full Changelog**:
tox-dev/tox@4.9.0...4.10.0

### [`v4.9.0`](https://togithub.com/tox-dev/tox/releases/tag/4.9.0)

[Compare Source](https://togithub.com/tox-dev/tox/compare/4.8.0...4.9.0)

##### What's Changed

- Disallow command line environments which are not explicitly specified
in the config file by [@&#8203;tjsmart](https://togithub.com/tjsmart) in
[https://github.com/tox-dev/tox/pull/3089](https://togithub.com/tox-dev/tox/pull/3089)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3091](https://togithub.com/tox-dev/tox/pull/3091)

##### New Contributors

- [@&#8203;tjsmart](https://togithub.com/tjsmart) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3089](https://togithub.com/tox-dev/tox/pull/3089)

**Full Changelog**: tox-dev/tox@4.8.0...4.9.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 1am and before 2am on saturday"
in timezone Etc/UTC, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/canonical/spark-k8s-toolkit-py).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ssbarnea pushed a commit to pycontribs/ansi2html that referenced this pull request Dec 11, 2023
* tox.ini: Fix broken path for --cov= argument

Broken since the move in commit d076fa2 .

* tox.yml: Stop using non-existent environment "coverage" for tox >=4.9.0

Related:
- tox-dev/tox#3089
- tox-dev/tox@2124458

* readthedocs.yml: Remove discontinued key "python.system_packages"

Error was:

> Problem in your project's configuration. Invalid configuration option
> "python.system_packages". This configuration key has been deprecated
> and removed. Refer to https://blog.readthedocs.com/use-system-packages-deprecated/
> to read more about this change and how to upgrade your config file.

Build log at https://readthedocs.org/projects/ansi2html/builds/21826996/ .

Upstream docs at https://blog.readthedocs.com/drop-support-system-packages/ .
Fix may be incomplete and may need a closer look.
descope bot referenced this pull request in descope/django-descope Dec 30, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [tox](https://togithub.com/tox-dev/tox)
([changelog](https://tox.wiki/en/latest/changelog.html)) | dev | minor |
`4.5.1` -> `4.11.4` |

---

### Release Notes

<details>
<summary>tox-dev/tox (tox)</summary>

### [`v4.11.4`](https://togithub.com/tox-dev/tox/releases/tag/4.11.4)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.11.3...4.11.4)

#### What's Changed

- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3124](https://togithub.com/tox-dev/tox/pull/3124)
- Fix `quickstart` command from requiring `root` positional argument by
[@&#8203;Tbruno25](https://togithub.com/Tbruno25) in
[https://github.com/tox-dev/tox/pull/3123](https://togithub.com/tox-dev/tox/pull/3123)
- docs(config): fix default value for install_command by
[@&#8203;hashar](https://togithub.com/hashar) in
[https://github.com/tox-dev/tox/pull/3126](https://togithub.com/tox-dev/tox/pull/3126)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3128](https://togithub.com/tox-dev/tox/pull/3128)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3132](https://togithub.com/tox-dev/tox/pull/3132)
- Added Python 3.12 in installation docs by
[@&#8203;mj0nez](https://togithub.com/mj0nez) in
[https://github.com/tox-dev/tox/pull/3133](https://togithub.com/tox-dev/tox/pull/3133)
- Fix terminal size in tox commands
([#&#8203;2999](https://togithub.com/tox-dev/tox/issues/2999)) by
[@&#8203;ziima](https://togithub.com/ziima) in
[https://github.com/tox-dev/tox/pull/3139](https://togithub.com/tox-dev/tox/pull/3139)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3135](https://togithub.com/tox-dev/tox/pull/3135)
- Use the new ruff formatter over black by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/3142](https://togithub.com/tox-dev/tox/pull/3142)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3147](https://togithub.com/tox-dev/tox/pull/3147)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3149](https://togithub.com/tox-dev/tox/pull/3149)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3154](https://togithub.com/tox-dev/tox/pull/3154)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3161](https://togithub.com/tox-dev/tox/pull/3161)
- docs(config): Fix base_python default reference by
[@&#8203;rpatterson](https://togithub.com/rpatterson) in
[https://github.com/tox-dev/tox/pull/3156](https://togithub.com/tox-dev/tox/pull/3156)
- Fixed 'AppData' not passed to env by default
([#&#8203;3151](https://togithub.com/tox-dev/tox/issues/3151)) by
[@&#8203;Stefanhg](https://togithub.com/Stefanhg) in
[https://github.com/tox-dev/tox/pull/3160](https://togithub.com/tox-dev/tox/pull/3160)

#### New Contributors

- [@&#8203;mj0nez](https://togithub.com/mj0nez) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3133](https://togithub.com/tox-dev/tox/pull/3133)
- [@&#8203;Stefanhg](https://togithub.com/Stefanhg) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3160](https://togithub.com/tox-dev/tox/pull/3160)

**Full Changelog**:
tox-dev/tox@4.11.3...4.11.4

### [`v4.11.3`](https://togithub.com/tox-dev/tox/releases/tag/4.11.3)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.11.2...4.11.3)

#### What's Changed

- docs(plugin): explain plugin registration by
[@&#8203;hashar](https://togithub.com/hashar) in
[https://github.com/tox-dev/tox/pull/3116](https://togithub.com/tox-dev/tox/pull/3116)
- Fix error caused by a bad `base_python` path by
[@&#8203;Tbruno25](https://togithub.com/Tbruno25) in
[https://github.com/tox-dev/tox/pull/3122](https://togithub.com/tox-dev/tox/pull/3122)

#### New Contributors

- [@&#8203;hashar](https://togithub.com/hashar) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3116](https://togithub.com/tox-dev/tox/pull/3116)

**Full Changelog**:
tox-dev/tox@4.11.2...4.11.3

### [`v4.11.2`](https://togithub.com/tox-dev/tox/releases/tag/4.11.2)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.11.1...4.11.2)

#### What's Changed

- Fix typos discovered by codespell by
[@&#8203;cclauss](https://togithub.com/cclauss) in
[https://github.com/tox-dev/tox/pull/3113](https://togithub.com/tox-dev/tox/pull/3113)
- Bump actions/checkout from 3 to 4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/tox-dev/tox/pull/3114](https://togithub.com/tox-dev/tox/pull/3114)
- Providing example to make CLI help more helpful for -x,--override by
[@&#8203;posita](https://togithub.com/posita) in
[https://github.com/tox-dev/tox/pull/3119](https://togithub.com/tox-dev/tox/pull/3119)
- Remove stray colons in `config.rst` left over from
[#&#8203;3111](https://togithub.com/tox-dev/tox/issues/3111) by
[@&#8203;posita](https://togithub.com/posita) in
[https://github.com/tox-dev/tox/pull/3120](https://togithub.com/tox-dev/tox/pull/3120)

#### New Contributors

- [@&#8203;cclauss](https://togithub.com/cclauss) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3113](https://togithub.com/tox-dev/tox/pull/3113)
- [@&#8203;posita](https://togithub.com/posita) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3119](https://togithub.com/tox-dev/tox/pull/3119)

**Full Changelog**:
tox-dev/tox@4.11.1...4.11.2

### [`v4.11.1`](https://togithub.com/tox-dev/tox/releases/tag/4.11.1)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.11.0...4.11.1)

#### What's Changed

- Tests: Don't assume Python 3.10 is always installed, use current
Python version by [@&#8203;hroncok](https://togithub.com/hroncok) in
[https://github.com/tox-dev/tox/pull/3108](https://togithub.com/tox-dev/tox/pull/3108)
- Set the --parallel default to "auto", not CPU count by
[@&#8203;paravoid](https://togithub.com/paravoid) in
[https://github.com/tox-dev/tox/pull/3109](https://togithub.com/tox-dev/tox/pull/3109)
- Fix , being used as value parser for env var configs by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/3111](https://togithub.com/tox-dev/tox/pull/3111)

**Full Changelog**:
tox-dev/tox@4.11.0...4.11.1

### [`v4.11.0`](https://togithub.com/tox-dev/tox/releases/tag/4.11.0)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.10.0...4.11.0)

#### What's Changed

- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3102](https://togithub.com/tox-dev/tox/pull/3102)
- Fix type checker and bump tools by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/3107](https://togithub.com/tox-dev/tox/pull/3107)
- Add config_settings support for build backend calls by
[@&#8203;nschloe](https://togithub.com/nschloe) in
[https://github.com/tox-dev/tox/pull/3090](https://togithub.com/tox-dev/tox/pull/3090)

#### New Contributors

- [@&#8203;nschloe](https://togithub.com/nschloe) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3090](https://togithub.com/tox-dev/tox/pull/3090)

**Full Changelog**:
tox-dev/tox@4.10.0...4.11.0

### [`v4.10.0`](https://togithub.com/tox-dev/tox/releases/tag/4.10.0)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.9.0...4.10.0)

#### What's Changed

- Set basepython for docs env in alignment to Read the Docs default by
[@&#8203;jugmac00](https://togithub.com/jugmac00) in
[https://github.com/tox-dev/tox/pull/3097](https://togithub.com/tox-dev/tox/pull/3097)
- Document release process by
[@&#8203;jugmac00](https://togithub.com/jugmac00) in
[https://github.com/tox-dev/tox/pull/3094](https://togithub.com/tox-dev/tox/pull/3094)
- Replace undefined settings with overrides when appending by
[@&#8203;stefanor](https://togithub.com/stefanor) in
[https://github.com/tox-dev/tox/pull/3101](https://togithub.com/tox-dev/tox/pull/3101)
- Accept environments with defined factors or of python selector form -
suggest closest by [@&#8203;BeyondEvil](https://togithub.com/BeyondEvil)
in
[https://github.com/tox-dev/tox/pull/3099](https://togithub.com/tox-dev/tox/pull/3099)

#### New Contributors

- [@&#8203;BeyondEvil](https://togithub.com/BeyondEvil) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3099](https://togithub.com/tox-dev/tox/pull/3099)

**Full Changelog**:
tox-dev/tox@4.9.0...4.10.0

### [`v4.9.0`](https://togithub.com/tox-dev/tox/releases/tag/4.9.0)

[Compare Source](https://togithub.com/tox-dev/tox/compare/4.8.0...4.9.0)

#### What's Changed

- Disallow command line environments which are not explicitly specified
in the config file by [@&#8203;tjsmart](https://togithub.com/tjsmart) in
[https://github.com/tox-dev/tox/pull/3089](https://togithub.com/tox-dev/tox/pull/3089)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3091](https://togithub.com/tox-dev/tox/pull/3091)

#### New Contributors

- [@&#8203;tjsmart](https://togithub.com/tjsmart) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3089](https://togithub.com/tox-dev/tox/pull/3089)

**Full Changelog**: tox-dev/tox@4.8.0...4.9.0

### [`v4.8.0`](https://togithub.com/tox-dev/tox/releases/tag/4.8.0)

[Compare Source](https://togithub.com/tox-dev/tox/compare/4.7.0...4.8.0)

#### What's Changed

- Correct "notset" typo in --hashseed's --help text. by
[@&#8203;lamby](https://togithub.com/lamby) in
[https://github.com/tox-dev/tox/pull/3082](https://togithub.com/tox-dev/tox/pull/3082)
- Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/tox-dev/tox/pull/3085](https://togithub.com/tox-dev/tox/pull/3085)
- Allow extending lists with --override foo+=bar by
[@&#8203;stefanor](https://togithub.com/stefanor) in
[https://github.com/tox-dev/tox/pull/3088](https://togithub.com/tox-dev/tox/pull/3088)

#### New Contributors

- [@&#8203;lamby](https://togithub.com/lamby) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3082](https://togithub.com/tox-dev/tox/pull/3082)
- [@&#8203;stefanor](https://togithub.com/stefanor) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3088](https://togithub.com/tox-dev/tox/pull/3088)

**Full Changelog**: tox-dev/tox@4.7.0...4.8.0

### [`v4.7.0`](https://togithub.com/tox-dev/tox/releases/tag/4.7.0)

[Compare Source](https://togithub.com/tox-dev/tox/compare/4.6.4...4.7.0)

#### What's Changed

- Fix doc alignment and link check by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/3059](https://togithub.com/tox-dev/tox/pull/3059)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3061](https://togithub.com/tox-dev/tox/pull/3061)
- Bump pypa/gh-action-pypi-publish from 1.8.7 to 1.8.8 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/tox-dev/tox/pull/3063](https://togithub.com/tox-dev/tox/pull/3063)
- Update a test regex to work with Python 3.12+ by
[@&#8203;hroncok](https://togithub.com/hroncok) in
[https://github.com/tox-dev/tox/pull/3066](https://togithub.com/tox-dev/tox/pull/3066)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3067](https://togithub.com/tox-dev/tox/pull/3067)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3070](https://togithub.com/tox-dev/tox/pull/3070)
- Remove broken link by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/3072](https://togithub.com/tox-dev/tox/pull/3072)
- Add sponsor button for tidelift by
[@&#8203;jugmac00](https://togithub.com/jugmac00) in
[https://github.com/tox-dev/tox/pull/3079](https://togithub.com/tox-dev/tox/pull/3079)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3081](https://togithub.com/tox-dev/tox/pull/3081)
- Make --hashseed default to PYTHONHASHSEED, if defined by
[@&#8203;paravoid](https://togithub.com/paravoid) in
[https://github.com/tox-dev/tox/pull/3076](https://togithub.com/tox-dev/tox/pull/3076)

**Full Changelog**: tox-dev/tox@4.6.4...4.7.0

### [`v4.6.4`](https://togithub.com/tox-dev/tox/releases/tag/4.6.4)

[Compare Source](https://togithub.com/tox-dev/tox/compare/4.6.3...4.6.4)

#### What's Changed

- Ensure tox r -e docs generates the documentation by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/3047](https://togithub.com/tox-dev/tox/pull/3047)
- \[pre-commit.ci] pre-commit autoupdate by
[@&#8203;pre-commit-ci](https://togithub.com/pre-commit-ci) in
[https://github.com/tox-dev/tox/pull/3051](https://togithub.com/tox-dev/tox/pull/3051)
- Bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/tox-dev/tox/pull/3052](https://togithub.com/tox-dev/tox/pull/3052)
- s/setup.cfg/pyproject.toml/ in the development docs by
[@&#8203;sk1p](https://togithub.com/sk1p) in
[https://github.com/tox-dev/tox/pull/3058](https://togithub.com/tox-dev/tox/pull/3058)
- Fix hang and zombie process on interrupt (CTRL-C). by
[@&#8203;sk1p](https://togithub.com/sk1p) in
[https://github.com/tox-dev/tox/pull/3057](https://togithub.com/tox-dev/tox/pull/3057)

**Full Changelog**: tox-dev/tox@4.6.3...4.6.4

### [`v4.6.3`](https://togithub.com/tox-dev/tox/releases/tag/4.6.3)

[Compare Source](https://togithub.com/tox-dev/tox/compare/4.6.2...4.6.3)

#### What's Changed

- Made issue template have less whitespace by
[@&#8203;jamesbraza](https://togithub.com/jamesbraza) in
[https://github.com/tox-dev/tox/pull/3038](https://togithub.com/tox-dev/tox/pull/3038)
- Docs link of env var subs section to `set_env` by
[@&#8203;jamesbraza](https://togithub.com/jamesbraza) in
[https://github.com/tox-dev/tox/pull/3039](https://togithub.com/tox-dev/tox/pull/3039)
- Removed duplicate text in bug report template by
[@&#8203;jamesbraza](https://togithub.com/jamesbraza) in
[https://github.com/tox-dev/tox/pull/3040](https://togithub.com/tox-dev/tox/pull/3040)
- Ensure `get_requires*` hook is called before `prepare_metadata*` by
[@&#8203;abravalheri](https://togithub.com/abravalheri) in
[https://github.com/tox-dev/tox/pull/3044](https://togithub.com/tox-dev/tox/pull/3044)

#### New Contributors

- [@&#8203;jamesbraza](https://togithub.com/jamesbraza) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3038](https://togithub.com/tox-dev/tox/pull/3038)
- [@&#8203;abravalheri](https://togithub.com/abravalheri) made their
first contribution in
[https://github.com/tox-dev/tox/pull/3044](https://togithub.com/tox-dev/tox/pull/3044)

**Full Changelog**: tox-dev/tox@4.6.2...4.6.3

### [`v4.6.2`](https://togithub.com/tox-dev/tox/releases/tag/4.6.2)

[Compare Source](https://togithub.com/tox-dev/tox/compare/4.6.1...4.6.2)

#### What's Changed

- Avoid cache collision between wheel and editable wheel builds by
[@&#8203;f3flight](https://togithub.com/f3flight) in
[https://github.com/tox-dev/tox/pull/3035](https://togithub.com/tox-dev/tox/pull/3035)

**Full Changelog**: tox-dev/tox@4.6.1...4.6.2

### [`v4.6.1`](https://togithub.com/tox-dev/tox/releases/tag/4.6.1)

[Compare Source](https://togithub.com/tox-dev/tox/compare/4.6.0...4.6.1)

#### What's Changed

- Update `usedevelop` doc by referring to PEP-660. by
[@&#8203;tibortakacs](https://togithub.com/tibortakacs) in
[https://github.com/tox-dev/tox/pull/3025](https://togithub.com/tox-dev/tox/pull/3025)
- Use ruff by [@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/3033](https://togithub.com/tox-dev/tox/pull/3033)

#### New Contributors

- [@&#8203;tibortakacs](https://togithub.com/tibortakacs) made their
first contribution in
[https://github.com/tox-dev/tox/pull/3025](https://togithub.com/tox-dev/tox/pull/3025)

**Full Changelog**: tox-dev/tox@4.6.0...4.6.1

### [`v4.6.0`](https://togithub.com/tox-dev/tox/releases/tag/4.6.0)

[Compare Source](https://togithub.com/tox-dev/tox/compare/4.5.2...4.6.0)

#### What's Changed

- Remove unnecessary Future usage by
[@&#8203;living180](https://togithub.com/living180) in
[https://github.com/tox-dev/tox/pull/3020](https://togithub.com/tox-dev/tox/pull/3020)
- Test against 3.12.0-beta.1 by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/3022](https://togithub.com/tox-dev/tox/pull/3022)
- Add --list-dependencies options by
[@&#8203;lengau](https://togithub.com/lengau) in
[https://github.com/tox-dev/tox/pull/3024](https://togithub.com/tox-dev/tox/pull/3024)

#### New Contributors

- [@&#8203;living180](https://togithub.com/living180) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3020](https://togithub.com/tox-dev/tox/pull/3020)
- [@&#8203;lengau](https://togithub.com/lengau) made their first
contribution in
[https://github.com/tox-dev/tox/pull/3024](https://togithub.com/tox-dev/tox/pull/3024)

**Full Changelog**: tox-dev/tox@4.5.2...4.6.0

### [`v4.5.2`](https://togithub.com/tox-dev/tox/releases/tag/4.5.2)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.5.1.1...4.5.2)

#### What's Changed

- Add 3.12 support by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/2998](https://togithub.com/tox-dev/tox/pull/2998)
- Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/tox-dev/tox/pull/3003](https://togithub.com/tox-dev/tox/pull/3003)
- Update list of maintainers by
[@&#8203;jugmac00](https://togithub.com/jugmac00) in
[https://github.com/tox-dev/tox/pull/3008](https://togithub.com/tox-dev/tox/pull/3008)
- fix legacy `tox --devenv venv` by
[@&#8203;asottile](https://togithub.com/asottile) in
[https://github.com/tox-dev/tox/pull/3013](https://togithub.com/tox-dev/tox/pull/3013)
- Fix legacy devenv by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/3019](https://togithub.com/tox-dev/tox/pull/3019)

**Full Changelog**: tox-dev/tox@4.5.1...4.5.2

###
[`v4.5.1.1`](https://togithub.com/tox-dev/tox/compare/4.5.1...4.5.1.1)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.5.1...4.5.1.1)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy42NC4yIiwidXBkYXRlZEluVmVyIjoiMzcuNjQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: descope[bot] <descope[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Using non-existent environment does not fail
4 participants