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

Unclear how to use configuration reference in TOML config #3393

Open
daneah opened this issue Oct 4, 2024 · 5 comments
Open

Unclear how to use configuration reference in TOML config #3393

daneah opened this issue Oct 4, 2024 · 5 comments
Labels
area:documentation help:wanted Issues that have been acknowledged, a solution determined and a PR might likely be accepted.

Comments

@daneah
Copy link

daneah commented Oct 4, 2024

Issue

I should be able to use deps = ["{[arbitrary.section.name]deps}", "one", "two", ...] to include the dependencies from that arbitrary section in the current section's deps.

When the arbitrary section is tool.tox.env_run_base or tool.tox.env_build_base (at least), the dependencies from that section get installed, but none of the additionally-specified dependencies "one", "two", ... get installed.

Arbitrary other section names like [deps_base], [deps.base], or even [tool.tox.deps_base] seem to install all specified dependencies as expected.

The documentation examples show env_run_base as a place to put basal dependencies, and although they don't use this exact configuration scenario they might encourage it as a natural next step.

Oddly I also tried [tool.tox.env_run_basezzz] and that still fails also, so smells like a startswith kind of problem somewhere?

Environment

Provide at least:

  • OS: macOS
Output of pip list of the host Python, where tox is installed
$ pipx runpip tox list
Package       Version
------------- -------
cachetools    5.5.0
chardet       5.2.0
colorama      0.4.6
distlib       0.3.7
filelock      3.16.1
packaging     24.1
pip           24.2
platformdirs  4.3.6
pluggy        1.5.0
pyproject-api 1.8.0
setuptools    69.0.2
tox           4.21.1
tox-uv        1.13.0
uv            0.4.18
virtualenv    20.26.6
wheel         0.42.0

Output of running tox

Output of tox -rvv

TL;DR:

$ tox -rvve typecheck
...
typecheck: 3365 W commands[0]> mypy src tests [tox/tox_env/api.py:426]
typecheck: 3365 E failed with mypy is not allowed, use allowlist_externals to allow it [tox/session/cmd/run/single.py:57]
...
$ tox -rvve typecheck
typecheck: 160 W remove tox env folder /Users/dhillard/Projects/tox-4.21.1-test/.tox/typecheck [tox/tox_env/api.py:324]
.pkg: 167 W remove tox env folder /Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg [tox/tox_env/api.py:324]
typecheck: 291 W venv> /Users/dhillard/.local/pipx/venvs/tox/bin/uv venv -p /Users/dhillard/.local/pipx/venvs/tox/bin/python --allow-existing -v /Users/dhillard/Projects/tox-4.21.1-test/.tox/typecheck [tox/tox_env/api.py:426]
DEBUG uv 0.4.18
DEBUG Found project root: `/Users/dhillard/Projects/tox-4.21.1-test`
DEBUG Checking for Python interpreter at path `/Users/dhillard/.local/pipx/venvs/tox/bin/python`
Using CPython 3.11.0 interpreter at: /Users/dhillard/.local/pipx/venvs/tox/bin/python
Creating virtual environment at: .tox/typecheck
DEBUG Allowing existing directory
typecheck: 350 I exit 0 (0.06 seconds) /Users/dhillard/Projects/tox-4.21.1-test> /Users/dhillard/.local/pipx/venvs/tox/bin/uv venv -p /Users/dhillard/.local/pipx/venvs/tox/bin/python --allow-existing -v /Users/dhillard/Projects/tox-4.21.1-test/.tox/typecheck pid=99335 [tox/execute/api.py:286]
typecheck: 353 W install_deps> /Users/dhillard/.local/pipx/venvs/tox/bin/uv pip install pytest -v [tox/tox_env/api.py:426]
DEBUG uv 0.4.18
DEBUG Searching for default Python interpreter in system path
DEBUG Found `cpython-3.11.0-macos-aarch64-none` at `/Users/dhillard/Projects/tox-4.21.1-test/.tox/typecheck/bin/python3` (active virtual environment)
DEBUG Using Python 3.11.0 environment at .tox/typecheck/bin/python3
DEBUG Acquired lock for `.tox/typecheck`
DEBUG At least one requirement is not satisfied: pytest
DEBUG Using request timeout of 30s
DEBUG Solving with installed Python version: 3.11.0
DEBUG Solving with target Python version: >=3.11.0
DEBUG Adding direct dependency: pytest*
DEBUG Found stale response for: [REDACTED]/simple/pytest/
DEBUG Sending revalidation request for: [REDACTED]/simple/pytest/
DEBUG Found modified response for: [REDACTED]/simple/pytest/
DEBUG Searching for a compatible version of pytest (*)
DEBUG Selecting: pytest==8.3.3 [compatible] (pytest-8.3.3-py3-none-any.whl)
DEBUG Found fresh response for: [REDACTED]/packages/packages/6b/77/7440a06a8ead44c7757a64362dd22df5760f9b12dc5f11b6188cd2fc27a0/pytest-8.3.3-py3-none-any.whl#sha256=a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2
DEBUG Adding transitive dependency for pytest==8.3.3: iniconfig*
DEBUG Adding transitive dependency for pytest==8.3.3: packaging*
DEBUG Adding transitive dependency for pytest==8.3.3: pluggy>=1.5, <2
DEBUG Found stale response for: [REDACTED]/simple/iniconfig/
DEBUG Sending revalidation request for: [REDACTED]/simple/iniconfig/
DEBUG Found stale response for: [REDACTED]/simple/pluggy/
DEBUG Sending revalidation request for: [REDACTED]/simple/pluggy/
DEBUG Found stale response for: [REDACTED]/simple/packaging/
DEBUG Sending revalidation request for: [REDACTED]/simple/packaging/
DEBUG Found modified response for: [REDACTED]/simple/iniconfig/
DEBUG Searching for a compatible version of iniconfig (*)
DEBUG Selecting: iniconfig==2.0.0 [compatible] (iniconfig-2.0.0-py3-none-any.whl)
DEBUG Found fresh response for: [REDACTED]/packages/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl#sha256=b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374
DEBUG Found modified response for: [REDACTED]/simple/pluggy/
DEBUG Found fresh response for: [REDACTED]/packages/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl#sha256=44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669
DEBUG Found modified response for: [REDACTED]/simple/packaging/
DEBUG Searching for a compatible version of packaging (*)
DEBUG Selecting: packaging==24.1 [compatible] (packaging-24.1-py3-none-any.whl)
DEBUG Found fresh response for: [REDACTED]/packages/packages/08/aa/cc0199a5f0ad350994d660967a8efb233fe0416e4639146c089643407ce6/packaging-24.1-py3-none-any.whl#sha256=5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124
DEBUG Searching for a compatible version of pluggy (>=1.5, <2)
DEBUG Selecting: pluggy==1.5.0 [compatible] (pluggy-1.5.0-py3-none-any.whl)
DEBUG Tried 4 versions: iniconfig 1, packaging 1, pluggy 1, pytest 1
DEBUG Split specific environment resolution took 0.271s
Resolved 4 packages in 276ms
DEBUG Requirement already cached: iniconfig==2.0.0
DEBUG Requirement already cached: packaging==24.1
DEBUG Requirement already cached: pluggy==1.5.0
DEBUG Requirement already cached: pytest==8.3.3
Installed 4 packages in 5ms
 + iniconfig==2.0.0
 + packaging==24.1
 + pluggy==1.5.0
 + pytest==8.3.3
DEBUG Released lock at `/Users/dhillard/Projects/tox-4.21.1-test/.tox/typecheck/.lock`
typecheck: 665 I exit 0 (0.31 seconds) /Users/dhillard/Projects/tox-4.21.1-test> /Users/dhillard/.local/pipx/venvs/tox/bin/uv pip install pytest -v pid=99336 [tox/execute/api.py:286]
.pkg: 667 W venv> /Users/dhillard/.local/pipx/venvs/tox/bin/uv venv -p /Users/dhillard/.local/pipx/venvs/tox/bin/python --allow-existing -v /Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg [tox/tox_env/api.py:426]
DEBUG uv 0.4.18
DEBUG Found project root: `/Users/dhillard/Projects/tox-4.21.1-test`
DEBUG Checking for Python interpreter at path `/Users/dhillard/.local/pipx/venvs/tox/bin/python`
Using CPython 3.11.0 interpreter at: /Users/dhillard/.local/pipx/venvs/tox/bin/python
Creating virtual environment at: .tox/.pkg
DEBUG Allowing existing directory
.pkg: 679 I exit 0 (0.01 seconds) /Users/dhillard/Projects/tox-4.21.1-test> /Users/dhillard/.local/pipx/venvs/tox/bin/uv venv -p /Users/dhillard/.local/pipx/venvs/tox/bin/python --allow-existing -v /Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg pid=99337 [tox/execute/api.py:286]
.pkg: 680 W install_requires> /Users/dhillard/.local/pipx/venvs/tox/bin/uv pip install 'setuptools>=40.8.0' wheel -v [tox/tox_env/api.py:426]
DEBUG uv 0.4.18
DEBUG Searching for default Python interpreter in system path
DEBUG Found `cpython-3.11.0-macos-aarch64-none` at `/Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg/bin/python3` (active virtual environment)
DEBUG Using Python 3.11.0 environment at .tox/.pkg/bin/python3
DEBUG Acquired lock for `.tox/.pkg`
DEBUG At least one requirement is not satisfied: wheel
DEBUG Using request timeout of 30s
DEBUG Solving with installed Python version: 3.11.0
DEBUG Solving with target Python version: >=3.11.0
DEBUG Adding direct dependency: setuptools>=40.8.0
DEBUG Adding direct dependency: wheel*
DEBUG Found stale response for: [REDACTED]/simple/wheel/
DEBUG Sending revalidation request for: [REDACTED]/simple/wheel/
DEBUG Found stale response for: [REDACTED]/simple/setuptools/
DEBUG Sending revalidation request for: [REDACTED]/simple/setuptools/
DEBUG Found modified response for: [REDACTED]/simple/wheel/
DEBUG Found fresh response for: [REDACTED]/packages/packages/1b/d1/9babe2ccaecff775992753d8686970b1e2755d21c8a63be73aba7a4e7d77/wheel-0.44.0-py3-none-any.whl#sha256=2376a90c98cc337d18623527a97c31797bd02bad0033d41547043a1cbfbe448f
DEBUG Found modified response for: [REDACTED]/simple/setuptools/
WARN Skipping file for setuptools: setuptools-0.6b1-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6b1-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6b2-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6b2-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6b3-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6b3-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6b4-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6b4-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c1-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c1-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c10-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c10-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c10-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c10-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c10-py2.6.egg
WARN Skipping file for setuptools: setuptools-0.6c10.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c10.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c10.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c10.win32-py2.6.exe
WARN Skipping file for setuptools: setuptools-0.6c11-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c11-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c11-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c11-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c11-py2.6.egg
WARN Skipping file for setuptools: setuptools-0.6c11-py2.7.egg
WARN Skipping file for setuptools: setuptools-0.6c11.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c11.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c11.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c11.win32-py2.6.exe
WARN Skipping file for setuptools: setuptools-0.6c11.win32-py2.7.exe
WARN Skipping file for setuptools: setuptools-0.6c2-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c2-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c3-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c3-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c3-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c4-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c4-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c4-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c4-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c4.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c4.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c4.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c5-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c5-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c5-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c5-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c5.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c5.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c5.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c6-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c6-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c6-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c6-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c6.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c6.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c6.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c7-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c7-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c7-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c7-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c7.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c7.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c7.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c8-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c8-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c8-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c8-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c8.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c8.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c8.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c9-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c9-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c9-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c9-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c9-py2.6.egg
WARN Skipping file for setuptools: setuptools-0.6c9.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c9.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c9.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-18.3.1-py3.4.egg
DEBUG Searching for a compatible version of setuptools (>=40.8.0)
DEBUG Selecting: setuptools==75.1.0 [compatible] (setuptools-75.1.0-py3-none-any.whl)
DEBUG Found fresh response for: [REDACTED]/packages/packages/ff/ae/f19306b5a221f6a436d8f2238d5b80925004093fa3edea59835b514d9057/setuptools-75.1.0-py3-none-any.whl#sha256=35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2
DEBUG Searching for a compatible version of wheel (*)
DEBUG Selecting: wheel==0.44.0 [compatible] (wheel-0.44.0-py3-none-any.whl)
DEBUG Tried 2 versions: setuptools 1, wheel 1
DEBUG Split specific environment resolution took 0.266s
Resolved 2 packages in 266ms
DEBUG Requirement already cached: setuptools==75.1.0
DEBUG Requirement already cached: wheel==0.44.0
Installed 2 packages in 11ms
 + setuptools==75.1.0
 + wheel==0.44.0
DEBUG Released lock at `/Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg/.lock`
.pkg: 970 I exit 0 (0.29 seconds) /Users/dhillard/Projects/tox-4.21.1-test> /Users/dhillard/.local/pipx/venvs/tox/bin/uv pip install 'setuptools>=40.8.0' wheel -v pid=99338 [tox/execute/api.py:286]
.pkg: 971 W _optional_hooks> python /Users/dhillard/.local/pipx/venvs/tox/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ [tox/tox_env/api.py:426]
Backend: run command _optional_hooks with args {}
Backend: Wrote response {'return': {'get_requires_for_build_sdist': True, 'prepare_metadata_for_build_wheel': True, 'get_requires_for_build_wheel': True, 'build_editable': True, 'get_requires_for_build_editable': True, 'prepare_metadata_for_build_editable': True}} to /var/folders/mq/mv_bqs315d71s0gzlxfky2x0kyld9f/T/pep517__optional_hooks-1bv7fynd.json
.pkg: 1151 I exit None (0.18 seconds) /Users/dhillard/Projects/tox-4.21.1-test> python /Users/dhillard/.local/pipx/venvs/tox/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=99339 [tox/execute/api.py:286]
.pkg: 1268 W get_requires_for_build_sdist> python /Users/dhillard/.local/pipx/venvs/tox/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ [tox/tox_env/api.py:426]
Backend: run command get_requires_for_build_sdist with args {'config_settings': None}
running egg_info
writing src/package.egg-info/PKG-INFO
writing dependency_links to src/package.egg-info/dependency_links.txt
writing top-level names to src/package.egg-info/top_level.txt
reading manifest file 'src/package.egg-info/SOURCES.txt'
writing manifest file 'src/package.egg-info/SOURCES.txt'
Backend: Wrote response {'return': []} to /var/folders/mq/mv_bqs315d71s0gzlxfky2x0kyld9f/T/pep517_get_requires_for_build_sdist-5nn3w60l.json
.pkg: 1381 I exit None (0.11 seconds) /Users/dhillard/Projects/tox-4.21.1-test> python /Users/dhillard/.local/pipx/venvs/tox/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=99340 [tox/execute/api.py:286]
.pkg: 1500 W get_requires_for_build_wheel> python /Users/dhillard/.local/pipx/venvs/tox/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ [tox/tox_env/api.py:426]
Backend: run command get_requires_for_build_wheel with args {'config_settings': None}
running egg_info
writing src/package.egg-info/PKG-INFO
writing dependency_links to src/package.egg-info/dependency_links.txt
writing top-level names to src/package.egg-info/top_level.txt
reading manifest file 'src/package.egg-info/SOURCES.txt'
writing manifest file 'src/package.egg-info/SOURCES.txt'
Backend: Wrote response {'return': []} to /var/folders/mq/mv_bqs315d71s0gzlxfky2x0kyld9f/T/pep517_get_requires_for_build_wheel-edwlv0lt.json
.pkg: 1591 I exit None (0.09 seconds) /Users/dhillard/Projects/tox-4.21.1-test> python /Users/dhillard/.local/pipx/venvs/tox/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=99341 [tox/execute/api.py:286]
.pkg: 1720 W prepare_metadata_for_build_wheel> python /Users/dhillard/.local/pipx/venvs/tox/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ [tox/tox_env/api.py:426]
Backend: run command prepare_metadata_for_build_wheel with args {'metadata_directory': '/Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg/.meta', 'config_settings': None}
running dist_info
creating /Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg/.meta/package.egg-info
writing /Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg/.meta/package.egg-info/PKG-INFO
writing dependency_links to /Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg/.meta/package.egg-info/dependency_links.txt
writing top-level names to /Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg/.meta/package.egg-info/top_level.txt
writing manifest file '/Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg/.meta/package.egg-info/SOURCES.txt'
reading manifest file '/Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg/.meta/package.egg-info/SOURCES.txt'
writing manifest file '/Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg/.meta/package.egg-info/SOURCES.txt'
creating '/Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg/.meta/package-0.0.0.dist-info'
Backend: Wrote response {'return': 'package-0.0.0.dist-info'} to /var/folders/mq/mv_bqs315d71s0gzlxfky2x0kyld9f/T/pep517_prepare_metadata_for_build_wheel-q1gdh1zo.json
.pkg: 1844 I exit None (0.12 seconds) /Users/dhillard/Projects/tox-4.21.1-test> python /Users/dhillard/.local/pipx/venvs/tox/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=99342 [tox/execute/api.py:286]
.pkg: 1963 W build_sdist> python /Users/dhillard/.local/pipx/venvs/tox/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ [tox/tox_env/api.py:426]
Backend: run command build_sdist with args {'sdist_directory': '/Users/dhillard/Projects/tox-4.21.1-test/.tox/.pkg/dist', 'config_settings': None}
running sdist
running egg_info
writing src/package.egg-info/PKG-INFO
writing dependency_links to src/package.egg-info/dependency_links.txt
writing top-level names to src/package.egg-info/top_level.txt
reading manifest file 'src/package.egg-info/SOURCES.txt'
writing manifest file 'src/package.egg-info/SOURCES.txt'
warning: sdist: standard file not found: should have one of README, README.rst, README.txt, README.md

running check
creating package-0.0.0
creating package-0.0.0/src/package
creating package-0.0.0/src/package.egg-info
creating package-0.0.0/tests
copying files to package-0.0.0...
copying pyproject.toml -> package-0.0.0
copying src/package/__init__.py -> package-0.0.0/src/package
copying src/package/module.py -> package-0.0.0/src/package
copying src/package.egg-info/PKG-INFO -> package-0.0.0/src/package.egg-info
copying src/package.egg-info/SOURCES.txt -> package-0.0.0/src/package.egg-info
copying src/package.egg-info/dependency_links.txt -> package-0.0.0/src/package.egg-info
copying src/package.egg-info/top_level.txt -> package-0.0.0/src/package.egg-info
copying tests/test_module.py -> package-0.0.0/tests
copying src/package.egg-info/SOURCES.txt -> package-0.0.0/src/package.egg-info
Writing package-0.0.0/setup.cfg
Creating tar archive
removing 'package-0.0.0' (and everything under it)
Backend: Wrote response {'return': 'package-0.0.0.tar.gz'} to /var/folders/mq/mv_bqs315d71s0gzlxfky2x0kyld9f/T/pep517_build_sdist-qyza1485.json
.pkg: 2068 I exit None (0.10 seconds) /Users/dhillard/Projects/tox-4.21.1-test> python /Users/dhillard/.local/pipx/venvs/tox/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=99343 [tox/execute/api.py:286]
.pkg: 2185 D package .tmp/package/10/package-0.0.0.tar.gz links to .pkg/dist/package-0.0.0.tar.gz (/Users/dhillard/Projects/tox-4.21.1-test/.tox) [tox/util/file_view.py:39]
typecheck: 2186 W install_package> /Users/dhillard/.local/pipx/venvs/tox/bin/uv pip install --reinstall --no-deps package@/Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz -v [tox/tox_env/api.py:426]
DEBUG uv 0.4.18
DEBUG Searching for default Python interpreter in system path
DEBUG Found `cpython-3.11.0-macos-aarch64-none` at `/Users/dhillard/Projects/tox-4.21.1-test/.tox/typecheck/bin/python3` (active virtual environment)
DEBUG Using Python 3.11.0 environment at .tox/typecheck/bin/python3
DEBUG Acquired lock for `.tox/typecheck`
DEBUG Using request timeout of 30s
DEBUG Solving with installed Python version: 3.11.0
DEBUG Solving with target Python version: >=3.11.0
DEBUG Adding direct dependency: package*
DEBUG Searching for a compatible version of package @ file:///Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz (*)
DEBUG Acquired lock for `/Users/dhillard/Library/Caches/uv/sdists-v4/path/cf11fa4f0b6269d3`
DEBUG Unpacking source distribution: package @ file:///Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz
DEBUG Unpacking for build: /Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz
DEBUG No static `pyproject.toml` available for: package @ file:///Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz (PyprojectToml(FieldNotFound("project")))
DEBUG No static `PKG-INFO` available for: package @ file:///Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz (PkgInfo(UnsupportedMetadataVersion("2.1")))
DEBUG No static `egg-info` available for: package @ file:///Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz (MissingEggInfo)
DEBUG Preparing metadata for: package @ file:///Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz
DEBUG Ignoring empty directory
DEBUG Resolving build requirements
DEBUG Solving with installed Python version: 3.11.0
DEBUG Solving with target Python version: >=3.11.0
DEBUG Adding direct dependency: setuptools>=40.8.0
DEBUG Found stale response for: [REDACTED]/simple/setuptools/
DEBUG Sending revalidation request for: [REDACTED]/simple/setuptools/
DEBUG Found modified response for: [REDACTED]/simple/setuptools/
WARN Skipping file for setuptools: setuptools-0.6b1-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6b1-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6b2-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6b2-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6b3-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6b3-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6b4-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6b4-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c1-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c1-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c10-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c10-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c10-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c10-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c10-py2.6.egg
WARN Skipping file for setuptools: setuptools-0.6c10.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c10.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c10.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c10.win32-py2.6.exe
WARN Skipping file for setuptools: setuptools-0.6c11-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c11-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c11-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c11-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c11-py2.6.egg
WARN Skipping file for setuptools: setuptools-0.6c11-py2.7.egg
WARN Skipping file for setuptools: setuptools-0.6c11.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c11.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c11.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c11.win32-py2.6.exe
WARN Skipping file for setuptools: setuptools-0.6c11.win32-py2.7.exe
WARN Skipping file for setuptools: setuptools-0.6c2-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c2-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c3-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c3-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c3-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c4-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c4-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c4-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c4-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c4.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c4.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c4.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c5-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c5-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c5-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c5-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c5.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c5.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c5.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c6-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c6-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c6-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c6-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c6.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c6.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c6.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c7-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c7-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c7-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c7-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c7.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c7.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c7.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c8-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c8-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c8-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c8-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c8.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c8.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c8.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-0.6c9-1.src.rpm
WARN Skipping file for setuptools: setuptools-0.6c9-py2.3.egg
WARN Skipping file for setuptools: setuptools-0.6c9-py2.4.egg
WARN Skipping file for setuptools: setuptools-0.6c9-py2.5.egg
WARN Skipping file for setuptools: setuptools-0.6c9-py2.6.egg
WARN Skipping file for setuptools: setuptools-0.6c9.win32-py2.3.exe
WARN Skipping file for setuptools: setuptools-0.6c9.win32-py2.4.exe
WARN Skipping file for setuptools: setuptools-0.6c9.win32-py2.5.exe
WARN Skipping file for setuptools: setuptools-18.3.1-py3.4.egg
DEBUG Searching for a compatible version of setuptools (>=40.8.0)
DEBUG Selecting: setuptools==75.1.0 [compatible] (setuptools-75.1.0-py3-none-any.whl)
DEBUG Found stale response for: [REDACTED]/packages/packages/ff/ae/f19306b5a221f6a436d8f2238d5b80925004093fa3edea59835b514d9057/setuptools-75.1.0-py3-none-any.whl#sha256=35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2
DEBUG Sending revalidation request for: [REDACTED]/packages/packages/ff/ae/f19306b5a221f6a436d8f2238d5b80925004093fa3edea59835b514d9057/setuptools-75.1.0-py3-none-any.whl#sha256=35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2
DEBUG Found not-modified response for: [REDACTED]/packages/packages/ff/ae/f19306b5a221f6a436d8f2238d5b80925004093fa3edea59835b514d9057/setuptools-75.1.0-py3-none-any.whl#sha256=35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2
DEBUG Tried 1 versions: setuptools 1
DEBUG Split specific environment resolution took 0.258s
DEBUG Installing in setuptools==75.1.0 in /Users/dhillard/Library/Caches/uv/builds-v0/.tmpYa7mh6
DEBUG Must revalidate requirement: setuptools
DEBUG Downloading and building requirement for build: setuptools==75.1.0
DEBUG Found stale response for: [REDACTED]/packages/packages/ff/ae/f19306b5a221f6a436d8f2238d5b80925004093fa3edea59835b514d9057/setuptools-75.1.0-py3-none-any.whl#sha256=35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2
DEBUG Sending revalidation request for: [REDACTED]/packages/packages/ff/ae/f19306b5a221f6a436d8f2238d5b80925004093fa3edea59835b514d9057/setuptools-75.1.0-py3-none-any.whl#sha256=35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2
DEBUG Found not-modified response for: [REDACTED]/packages/packages/ff/ae/f19306b5a221f6a436d8f2238d5b80925004093fa3edea59835b514d9057/setuptools-75.1.0-py3-none-any.whl#sha256=35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2
DEBUG Installing build requirement: setuptools==75.1.0
DEBUG Creating PEP 517 build environment
DEBUG Calling `setuptools.build_meta:__legacy__.get_requires_for_build_wheel()`
DEBUG running egg_info
DEBUG writing src/package.egg-info/PKG-INFO
DEBUG writing dependency_links to src/package.egg-info/dependency_links.txt
DEBUG writing top-level names to src/package.egg-info/top_level.txt
DEBUG reading manifest file 'src/package.egg-info/SOURCES.txt'
DEBUG writing manifest file 'src/package.egg-info/SOURCES.txt'
DEBUG Calling `setuptools.build_meta:__legacy__.prepare_metadata_for_build_wheel()`
DEBUG running dist_info
DEBUG creating /Users/dhillard/Library/Caches/uv/builds-v0/.tmpYa7mh6/metadata_directory/package.egg-info
DEBUG writing /Users/dhillard/Library/Caches/uv/builds-v0/.tmpYa7mh6/metadata_directory/package.egg-info/PKG-INFO
DEBUG writing dependency_links to /Users/dhillard/Library/Caches/uv/builds-v0/.tmpYa7mh6/metadata_directory/package.egg-info/dependency_links.txt
DEBUG writing top-level names to /Users/dhillard/Library/Caches/uv/builds-v0/.tmpYa7mh6/metadata_directory/package.egg-info/top_level.txt
DEBUG writing manifest file '/Users/dhillard/Library/Caches/uv/builds-v0/.tmpYa7mh6/metadata_directory/package.egg-info/SOURCES.txt'
DEBUG reading manifest file '/Users/dhillard/Library/Caches/uv/builds-v0/.tmpYa7mh6/metadata_directory/package.egg-info/SOURCES.txt'
DEBUG writing manifest file '/Users/dhillard/Library/Caches/uv/builds-v0/.tmpYa7mh6/metadata_directory/package.egg-info/SOURCES.txt'
DEBUG creating '/Users/dhillard/Library/Caches/uv/builds-v0/.tmpYa7mh6/metadata_directory/package-0.0.0.dist-info'
DEBUG Prepared metadata for: package @ file:///Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz
DEBUG Released lock at `/Users/dhillard/Library/Caches/uv/sdists-v4/path/cf11fa4f0b6269d3/.lock`
DEBUG Tried 1 versions: package 1
DEBUG Split specific environment resolution took 0.713s
Resolved 1 package in 713ms
DEBUG Must revalidate requirement: package
DEBUG Unnecessary package: iniconfig==2.0.0
DEBUG Unnecessary package: packaging==24.1
DEBUG Unnecessary package: pluggy==1.5.0
DEBUG Unnecessary package: pytest==8.3.3
DEBUG Acquired lock for `/Users/dhillard/Library/Caches/uv/sdists-v4/path/cf11fa4f0b6269d3`
DEBUG Building: package @ file:///Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz
DEBUG Ignoring empty directory
DEBUG Resolving build requirements
DEBUG Installing in setuptools==75.1.0 in /Users/dhillard/Library/Caches/uv/builds-v0/.tmpxlJYq5
DEBUG Must revalidate requirement: setuptools
DEBUG Downloading and building requirement for build: setuptools==75.1.0
DEBUG Installing build requirement: setuptools==75.1.0
DEBUG Creating PEP 517 build environment
DEBUG Calling `setuptools.build_meta:__legacy__.get_requires_for_build_wheel()`
DEBUG running egg_info
DEBUG writing src/package.egg-info/PKG-INFO
DEBUG writing dependency_links to src/package.egg-info/dependency_links.txt
DEBUG writing top-level names to src/package.egg-info/top_level.txt
DEBUG reading manifest file 'src/package.egg-info/SOURCES.txt'
DEBUG writing manifest file 'src/package.egg-info/SOURCES.txt'
DEBUG Calling `setuptools.build_meta:__legacy__.build_wheel("/Users/dhillard/Library/Caches/uv/sdists-v4/path/cf11fa4f0b6269d3/5qMQKDfATU9lGArXtsffr/.tmp5VZfFr", {}, None)`
DEBUG running bdist_wheel
DEBUG running build
DEBUG running build_py
DEBUG creating build/lib/package
DEBUG copying src/package/__init__.py -> build/lib/package
DEBUG copying src/package/module.py -> build/lib/package
DEBUG installing to build/bdist.macosx-12.6-arm64/wheel
DEBUG running install
DEBUG running install_lib
DEBUG creating build/bdist.macosx-12.6-arm64/wheel
DEBUG creating build/bdist.macosx-12.6-arm64/wheel/package
DEBUG copying build/lib/package/__init__.py -> build/bdist.macosx-12.6-arm64/wheel/./package
DEBUG copying build/lib/package/module.py -> build/bdist.macosx-12.6-arm64/wheel/./package
DEBUG running install_egg_info
DEBUG running egg_info
DEBUG writing src/package.egg-info/PKG-INFO
DEBUG writing dependency_links to src/package.egg-info/dependency_links.txt
DEBUG writing top-level names to src/package.egg-info/top_level.txt
DEBUG reading manifest file 'src/package.egg-info/SOURCES.txt'
DEBUG writing manifest file 'src/package.egg-info/SOURCES.txt'
DEBUG Copying src/package.egg-info to build/bdist.macosx-12.6-arm64/wheel/./package-0.0.0-py3.11.egg-info
DEBUG running install_scripts
DEBUG creating build/bdist.macosx-12.6-arm64/wheel/package-0.0.0.dist-info/WHEEL
DEBUG creating '/Users/dhillard/Library/Caches/uv/sdists-v4/path/cf11fa4f0b6269d3/5qMQKDfATU9lGArXtsffr/.tmp5VZfFr/.tmp-4ew5978q/package-0.0.0-py3-none-any.whl' and adding 'build/bdist.macosx-12.6-arm64/wheel' to it
DEBUG adding 'package/__init__.py'
DEBUG adding 'package/module.py'
DEBUG adding 'package-0.0.0.dist-info/METADATA'
DEBUG adding 'package-0.0.0.dist-info/WHEEL'
DEBUG adding 'package-0.0.0.dist-info/top_level.txt'
DEBUG adding 'package-0.0.0.dist-info/RECORD'
DEBUG removing build/bdist.macosx-12.6-arm64/wheel
DEBUG Finished building: package @ file:///Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz
DEBUG Released lock at `/Users/dhillard/Library/Caches/uv/sdists-v4/path/cf11fa4f0b6269d3/.lock`
Prepared 1 package in 422ms
Installed 1 package in 1ms
 + package==0.0.0 (from file:///Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz)
DEBUG Released lock at `/Users/dhillard/Projects/tox-4.21.1-test/.tox/typecheck/.lock`
typecheck: 3364 I exit 0 (1.18 seconds) /Users/dhillard/Projects/tox-4.21.1-test> /Users/dhillard/.local/pipx/venvs/tox/bin/uv pip install --reinstall --no-deps package@/Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz -v pid=99345 [tox/execute/api.py:286]
typecheck: 3365 W commands[0]> mypy src tests [tox/tox_env/api.py:426]
typecheck: 3365 E failed with mypy is not allowed, use allowlist_externals to allow it [tox/session/cmd/run/single.py:57]
.pkg: 3366 D delete package /Users/dhillard/Projects/tox-4.21.1-test/.tox/.tmp/package/10/package-0.0.0.tar.gz [tox/tox_env/python/virtual_env/package/pyproject.py:224]
  typecheck: FAIL code 1 (3.21 seconds)
  evaluation failed :( (3.26 seconds)

Minimal example

$ tree
.
├── pyproject.toml
├── src
│   └── package
│       ├── __init__.py
│       └── module.py
└── tests
    ├── __init__.py
    └── test_module.py
# pyproject.toml

[tool.tox.env_run_base]
deps = ["pytest"]

[tool.tox.env.typecheck]
deps = ["{[tool.tox.env_run_base]deps}", "mypy"]
commands = [["mypy", "src", "tests"]]
# src/package/module.py

def func(a, b):
    return a + b
# tests/test_module.py

from package.module import func

def test_func():
    assert func(2, 2) == 4
@gaborbernat
Copy link
Member

I should be able to use deps = ["{[arbitrary.section.name]deps}", "one", "two", ...] to include the dependencies from that arbitrary section in the current section's deps.

I would be surprised if that would work for any section with more than one entry in it (and even then the reference is an array that would be casted to string?). You should instead use https://tox.wiki/en/4.21.2/config.html#configuration-reference

@gaborbernat
Copy link
Member

The TOML file is not an INI file and has its own rules, worth exploring the documentation I linked about the differences.

@daneah
Copy link
Author

daneah commented Oct 4, 2024

@gaborbernat I did indeed read the docs both before, during, and after working through this problem and filing this issue, so I think I am left still confused unfortunately 😕 I don't think I am understanding the "you should instead use" and how it's different from the example. I want to understand and do the right thing, but having a hard time.

Edit: Ahhh I think it clicked, just needed something mildly more than rubber ducking perhaps...let me give it a go and report back 😄

@gaborbernat
Copy link
Member

gaborbernat commented Oct 4, 2024

[tool.tox.env_run_base]
deps = ["pytest"]

[tool.tox.env.typecheck]
deps = [
   { replace = "ref", of = ["tool", "tox", "env_run_base"], extend = true },
   "mypy",
]
commands = [["mypy", "src", "tests"]]

Is what you want, but I would be interested to hear how we should improve the docs to make it clearer.

@gaborbernat gaborbernat changed the title Reference to some TOML sections for base dependencies causes extended dependencies not to install Unclear how to use configuration reference in TOML config Oct 4, 2024
@gaborbernat gaborbernat reopened this Oct 4, 2024
@gaborbernat gaborbernat added area:documentation help:wanted Issues that have been acknowledged, a solution determined and a PR might likely be accepted. labels Oct 4, 2024
@daneah
Copy link
Author

daneah commented Oct 4, 2024

Thanks, that was helpful getting me where I needed to go.

It looks like the of in your example also needed "deps" at the end of the list. I think it wasn't clear to me how the of worked, and it's possible the documentation's example is slightly buggy too?

  [env.src]
  extras = ["A", "{env_name}"]
  [env.dest]
- extras = [{ replace = "ref", of = ["env", "extras"], extend = true }, "B"]
+ extras = [{ replace = "ref", of = ["env", "src", "extras"], extend = true }, "B"]

If I'm right about the bug there, then that was what was giving me some trouble seeing that of was a list of TOML section name segments, which now that I understand that is quite a bit more clear 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:documentation help:wanted Issues that have been acknowledged, a solution determined and a PR might likely be accepted.
Projects
None yet
Development

No branches or pull requests

2 participants