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

Ensure get_requires* hook is called before prepare_metadata* #3044

Merged
merged 10 commits into from
Jun 20, 2023

Conversation

abravalheri
Copy link
Contributor

@abravalheri abravalheri commented Jun 19, 2023

As described in #3043, it seems that for some circumstances the prepare_metadata* hook is not called before get_requires*, which result in errors on Python 3.12b2 for the setuptools backend.

The changes implemented in this PR are:

  • Add caching to the get_requires* and prepare_metadata* hooks in Pep517VirtualEnvPackager (these methods may be called multiple times).
  • Ensure get_requires* is called and that the requirements are installed before prepare_metadata*.

This seem to be required according to PEP 517, see last phrase on the paragraph below (copied from the PEP):

get_requires_for_build_wheel
This hook MUST return an additional list of strings containing PEP 508 dependency specifications, above and beyond those specified in the pyproject.toml file, to be installed when calling the build_wheel or prepare_metadata_for_build_wheel hooks.

  • 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

Fix #3043

This is useful when a hook is called multiple times (like
get_requires_for_build_wheel, which is called before
prepare_metadata_for_build_wheel and build_wheel).
This method can then be re-used if we need to call
prepare_metadata_for_build_*.
To improve compatibility with PEP 517, the dependencies should be
installed before the prepare_metadata* hooks are called.
@abravalheri
Copy link
Contributor Author

Not sure yet how to test this change without a full blown integrated test using the Python 3.12 example in the issue.

This is the evidence that the PR works for the related issue:

> docker run --rm -it python:3.12.0b2-bullseye /bin/bash
mkdir -p /tmp/myproj/src/myproj
cd /tmp/myproj
touch src/myproj/__init__.py
cat <<EOF > pyproject.toml
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
EOF
cat <<EOF >setup.cfg
[metadata]
name = myproj
version = 0.42
[options.extras_require]
testing = pytest
EOF
cat <<EOF >tox.ini
[tox]
envlist = default
isolated_build = True

[testenv]
extras = testing
commands = pytest {posargs}
EOF


mkdir -p tests/
echo "def test_hello(): assert True" > tests/test_hello.py

python -m pip install -U 'pip==23.1.2'
python -m pip install -U 'tox==4.6.2'
tox
# => FAIL code error: invalid command 'bdist_wheel' (1.91 seconds)

python -m pip install -U git+https://github.com/abravalheri/tox@issue-3043
tox -r
# => congratulations :) (6.21 seconds)

@gaborbernat
Copy link
Member

The test should define an inline build backend that would fail prepare metadata if not called get requires first (write to some local file to save if called or not?) And triggered via a notest run xl🙏

@abravalheri
Copy link
Contributor Author

abravalheri commented Jun 19, 2023

Hi @gaborbernat, after checking the failures in the CI, I noticed that test_tox_install_pkg_sdist is already ensuring that prepare_metadata_for_build_wheel runs.

To fix this test I had to prepend a line with get_requires_for_build_wheel. This effectively assert that the get_requires* runs before prepare_metadata*. Would this be enough for the tests?

I am not sure in which circumstances the prepare_metadata_for_build_wheel is being triggered, but the test_tox_install_pkg_sdist seems to hit one of them... (I tried adding prepare_metadata_for_build_wheel to the inline backend test, but it does not seem to call this function).

Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
@gaborbernat gaborbernat marked this pull request as ready for review June 20, 2023 00:44
@gaborbernat gaborbernat force-pushed the issue-3043 branch 2 times, most recently from 3b3de75 to 695b0cc Compare June 20, 2023 00:48
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.

@gaborbernat gaborbernat force-pushed the issue-3043 branch 5 times, most recently from 3e39151 to 27bf4c5 Compare June 20, 2023 01:05
Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
@gaborbernat gaborbernat merged commit e66e346 into tox-dev:main Jun 20, 2023
@abravalheri abravalheri deleted the issue-3043 branch June 20, 2023 08:49
@abravalheri
Copy link
Contributor Author

Thank you very much @gaborbernat

lengau referenced this pull request in canonical/charmcraft Jul 19, 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 |
|---|---|---|---|---|---|
| [tox](https://togithub.com/tox-dev/tox)
([changelog](https://tox.wiki/en/latest/changelog.html)) | `4.4.12` ->
`4.6.4` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/tox/4.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/tox/4.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/tox/4.4.12/4.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/tox/4.4.12/4.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

### [`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...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`](https://togithub.com/tox-dev/tox/releases/tag/4.5.1):
Test Trusted Publisher

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

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

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

#### What's Changed

- Bump deps and tools by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[https://github.com/tox-dev/tox/pull/2987](https://togithub.com/tox-dev/tox/pull/2987)
- git: Ignore the .lock file for demo_pkg_inline by
[@&#8203;hroncok](https://togithub.com/hroncok) in
[https://github.com/tox-dev/tox/pull/2988](https://togithub.com/tox-dev/tox/pull/2988)
- Add FAQ entry on how to test against EOL Python versions by
[@&#8203;jugmac00](https://togithub.com/jugmac00) in
[https://github.com/tox-dev/tox/pull/2991](https://togithub.com/tox-dev/tox/pull/2991)
- Feature: suppress step timings for verbosity=1
[#&#8203;2891](https://togithub.com/tox-dev/tox/issues/2891) by
[@&#8203;nedbat](https://togithub.com/nedbat) in
[https://github.com/tox-dev/tox/pull/2992](https://togithub.com/tox-dev/tox/pull/2992)

**Full Changelog**:
tox-dev/tox@4.4.12...4.5.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekend" in timezone Etc/UTC,
Automerge - "before 07:00" in timezone Etc/UTC.

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

♻ **Rebasing**: Whenever PR becomes conflicted, 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 [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/canonical/charmcraft).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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
2 participants