tox
tox copied to clipboard
Inherit configuration from arbitrary section within TOML
Issue
Using "base" configuration to inherit from arbitrary section does not work with TOML syntax.
Environment
Provide at least:
- OS: Windows 11
Output of pip list of the host Python, where tox is installed
Package Version
------------- -------
cachetools 5.5.2
chardet 5.2.0
colorama 0.4.6
distlib 0.3.9
filelock 3.18.0
iniconfig 2.0.0
mypackage 0.0.1
packaging 24.2
pip 24.3.1
platformdirs 4.3.6
pluggy 1.5.0
pyproject-api 1.9.0
pytest 8.3.5
tox 4.24.2
virtualenv 20.29.3
Output of running tox
Output of tox -rvv
py3.11: 273 W remove tox env folder \path\to\repo\.tox\py3.11 [tox\tox_env\api.py:332]
.pkg: 549 W remove tox env folder \path\to\repo\.tox\.pkg [tox\tox_env\api.py:332]
py3.11: 925 I find interpreter for spec PythonSpec(major=3, minor=11, free_threaded=False) [virtualenv\discovery\builtin.py:76]
py3.11: 927 D got python info of \path\to\python\.85-3.12.5.0-2\python.exe from C:\Users\myuser\AppData\Local\pypa\virtualenv\py_info\2\4c691d01f9a2020ca6731fecc08c9727eee198842bcf7a9ae4c8c502ff8ae985.json [virtualenv\app_data\via_disk_folder.py:132]
py3.11: 929 D filesystem is not case-sensitive [virtualenv\info.py:26]
py3.11: 929 I proposed PythonInfo(spec=CPython3.12.5.final.0-64, system=\path\to\python\.85-3.12.5.0-2\python.exe, exe=\path\to\repo\venv\Scripts\python.EXE, platform=win32, version='3.12.5 (tags/v3.12.5:ff3bc82, Aug 6 2024, 20:45:27) [MSC v.1940 64 bit (AMD64)]', encoding_fs_io=utf-8-utf-8) [virtualenv\discovery\builtin.py:83]
py3.11: 931 W PEP-514 violation in Windows Registry at HKEY_LOCAL_MACHINE/PythonCore/3.6/InstallPath error: missing [virtualenv\discovery\windows\pep514.py:155]
py3.11: 933 D got python info of C:\Program Files\Python311\python.exe from C:\Users\myuser\AppData\Local\pypa\virtualenv\py_info\2\76ad95f14593b0a2fc24d0a09d92258fca1e0075874122d58dd1bae94a601e54.json [virtualenv\app_data\via_disk_folder.py:132]
py3.11: 934 I proposed Pep514PythonInfo(spec=CPython3.11.5.final.0-64, exe=C:\Program Files\Python311\python.exe, platform=win32, version='3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]', encoding_fs_io=utf-8-utf-8) [virtualenv\discovery\builtin.py:83]
py3.11: 934 D accepted Pep514PythonInfo(spec=CPython3.11.5.final.0-64, exe=C:\Program Files\Python311\python.exe, platform=win32, version='3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]', encoding_fs_io=utf-8-utf-8) [virtualenv\discovery\builtin.py:85]
py3.11: 937 D symlink on filesystem does not work [virtualenv\info.py:45]
py3.11: 980 I create virtual environment via CPython3Windows(dest=\path\to\repo\.tox\py3.11, clear=False, no_vcs_ignore=False, global=False) [virtualenv\run\session.py:52]
py3.11: 980 D create folder \path\to\repo\.tox\py3.11\Lib\site-packages [virtualenv\util\path\_sync.py:14]
py3.11: 980 D create folder \path\to\repo\.tox\py3.11\Scripts [virtualenv\util\path\_sync.py:14]
py3.11: 980 D write \path\to\repo\.tox\py3.11\pyvenv.cfg [virtualenv\create\pyenv_cfg.py:35]
py3.11: 980 D home = C:\Program Files\Python311 [virtualenv\create\pyenv_cfg.py:40]
py3.11: 981 D implementation = CPython [virtualenv\create\pyenv_cfg.py:40]
py3.11: 981 D version_info = 3.11.5.final.0 [virtualenv\create\pyenv_cfg.py:40]
py3.11: 981 D virtualenv = 20.29.3 [virtualenv\create\pyenv_cfg.py:40]
py3.11: 981 D include-system-site-packages = false [virtualenv\create\pyenv_cfg.py:40]
py3.11: 981 D base-prefix = C:\Program Files\Python311 [virtualenv\create\pyenv_cfg.py:40]
py3.11: 981 D base-exec-prefix = C:\Program Files\Python311 [virtualenv\create\pyenv_cfg.py:40]
py3.11: 981 D base-executable = C:\Program Files\Python311\python.exe [virtualenv\create\pyenv_cfg.py:40]
py3.11: 982 D copy C:\Program Files\Python311\Lib\venv\scripts\nt\python.exe to \path\to\repo\.tox\py3.11\Scripts\python.exe [virtualenv\util\path\_sync.py:42]
py3.11: 984 D copy C:\Program Files\Python311\Lib\venv\scripts\nt\pythonw.exe to \path\to\repo\.tox\py3.11\Scripts\pythonw.exe [virtualenv\util\path\_sync.py:42]
py3.11: 985 D create virtualenv import hook file \path\to\repo\.tox\py3.11\Lib\site-packages\_virtualenv.pth [virtualenv\create\via_global_ref\api.py:93]
py3.11: 986 D create \path\to\repo\.tox\py3.11\Lib\site-packages\_virtualenv.py [virtualenv\create\via_global_ref\api.py:96]
py3.11: 987 D ============================== target debug ============================== [virtualenv\run\session.py:54]
py3.11: 988 D debug via '\path\to\repo\.tox\py3.11\Scripts\python.exe' '\path\to\repo\venv\Lib\site-packages\virtualenv\create\debug.py' [virtualenv\create\creator.py:215]
py3.11: 987 D {
"sys": {
"executable": "\\path\\to\\repo\\.tox\\py3.11\\Scripts\\python.exe",
"_base_executable": "C:\\Program Files\\Python311\\python.exe",
"prefix": "\\path\\to\\repo\\.tox\\py3.11",
"base_prefix": "C:\\Program Files\\Python311",
"real_prefix": null,
"exec_prefix": "\\path\\to\\repo\\.tox\\py3.11",
"base_exec_prefix": "C:\\Program Files\\Python311",
"path": [
"C:\\Program Files\\Python311\\python311.zip",
"C:\\Program Files\\Python311\\DLLs",
"C:\\Program Files\\Python311\\Lib",
"C:\\Program Files\\Python311",
"\\path\\to\\repo\\.tox\\py3.11",
"\\path\\to\\repo\\.tox\\py3.11\\Lib\\site-packages"
],
"meta_path": [
"<class '_virtualenv._Finder'>",
"<class '_frozen_importlib.BuiltinImporter'>",
"<class '_frozen_importlib.FrozenImporter'>",
"<class '_frozen_importlib_external.PathFinder'>"
],
"fs_encoding": "utf-8",
"io_encoding": "utf-8"
},
"version": "3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]",
"makefile_filename": "C:\\Program Files\\Python311\\Lib\\config\\Makefile",
"os": "<module 'os' (frozen)>",
"site": "<module 'site' (frozen)>",
"datetime": "<module 'datetime' from 'C:\\\\Program Files\\\\Python311\\\\Lib\\\\datetime.py'>",
"math": "<module 'math' (built-in)>",
"json": "<module 'json' from 'C:\\\\Program Files\\\\Python311\\\\Lib\\\\json\\\\__init__.py'>"
} [virtualenv\run\session.py:55]
py3.11: 1090 I add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\myuser\AppData\Local\pypa\virtualenv) [virtualenv\run\session.py:59]
py3.11: 1092 D got embed update of distribution pip from C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\embed\3\pip.json [virtualenv\app_data\via_disk_folder.py:132]
py3.11: 1093 D got embed update of distribution setuptools from C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\embed\3\setuptools.json [virtualenv\app_data\via_disk_folder.py:132]
py3.11: 1093 D got embed update of distribution wheel from C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\embed\3\wheel.json [virtualenv\app_data\via_disk_folder.py:132]
py3.11: 1096 D using periodically updated wheel C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\house\pip-24.3.1-py3-none-any.whl [virtualenv\seed\wheels\periodic_update.py:49]
py3.11: 1096 D using periodically updated wheel C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\house\setuptools-75.6.0-py3-none-any.whl [virtualenv\seed\wheels\periodic_update.py:49]
py3.11: 1097 D install wheel from wheel \path\to\repo\venv\Lib\site-packages\virtualenv\seed\wheels\embed\wheel-0.45.1-py3-none-any.whl via CopyPipInstall [virtualenv\seed\embed\via_app_data\via_app_data.py:51]
py3.11: 1097 D install pip from wheel C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\house\pip-24.3.1-py3-none-any.whl via CopyPipInstall [virtualenv\seed\embed\via_app_data\via_app_data.py:51]
py3.11: 1097 D install setuptools from wheel C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\house\setuptools-75.6.0-py3-none-any.whl via CopyPipInstall [virtualenv\seed\embed\via_app_data\via_app_data.py:51]
py3.11: 1101 D copy directory C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\image\1\CopyPipInstall\wheel-0.45.1-py3-none-any\wheel to \path\to\repo\.tox\py3.11\Lib\site-packages\wheel [virtualenv\util\path\_sync.py:42]
py3.11: 1102 D copy directory C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\image\1\CopyPipInstall\pip-24.3.1-py3-none-any\pip to \path\to\repo\.tox\py3.11\Lib\site-packages\pip [virtualenv\util\path\_sync.py:42]
py3.11: 1102 D copy C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\image\1\CopyPipInstall\setuptools-75.6.0-py3-none-any\distutils-precedence.pth to \path\to\repo\.tox\py3.11\Lib\site-packages\distutils-precedence.pth [virtualenv\util\path\_sync.py:42]
py3.11: 1104 D copy directory C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\image\1\CopyPipInstall\setuptools-75.6.0-py3-none-any\pkg_resources to \path\to\repo\.tox\py3.11\Lib\site-packages\pkg_resources [virtualenv\util\path\_sync.py:42]
py3.11: 1129 D copy directory C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\image\1\CopyPipInstall\setuptools-75.6.0-py3-none-any\setuptools to \path\to\repo\.tox\py3.11\Lib\site-packages\setuptools [virtualenv\util\path\_sync.py:42]
py3.11: 1138 D copy directory C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\image\1\CopyPipInstall\wheel-0.45.1-py3-none-any\wheel-0.45.1.dist-info to \path\to\repo\.tox\py3.11\Lib\site-packages\wheel-0.45.1.dist-info [virtualenv\util\path\_sync.py:42]
py3.11: 1145 D copy C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\image\1\CopyPipInstall\wheel-0.45.1-py3-none-any\wheel-0.45.1.virtualenv to \path\to\repo\.tox\py3.11\Lib\site-packages\wheel-0.45.1.virtualenv [virtualenv\util\path\_sync.py:42]
py3.11: 1151 D generated console scripts wheel3.exe wheel-3.11.exe wheel.exe wheel3.11.exe [virtualenv\seed\embed\via_app_data\pip_install\base.py:45]
py3.11: 1584 D copy directory C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\image\1\CopyPipInstall\pip-24.3.1-py3-none-any\pip-24.3.1.dist-info to \path\to\repo\.tox\py3.11\Lib\site-packages\pip-24.3.1.dist-info [virtualenv\util\path\_sync.py:42]
py3.11: 1593 D copy C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\image\1\CopyPipInstall\pip-24.3.1-py3-none-any\pip-24.3.1.virtualenv to \path\to\repo\.tox\py3.11\Lib\site-packages\pip-24.3.1.virtualenv [virtualenv\util\path\_sync.py:42]
py3.11: 1598 D generated console scripts pip.exe pip3.11.exe pip3.exe pip-3.11.exe [virtualenv\seed\embed\via_app_data\pip_install\base.py:45]
py3.11: 1674 D copy directory C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\image\1\CopyPipInstall\setuptools-75.6.0-py3-none-any\setuptools-75.6.0.dist-info to \path\to\repo\.tox\py3.11\Lib\site-packages\setuptools-75.6.0.dist-info [virtualenv\util\path\_sync.py:42]
py3.11: 1684 D copy C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\image\1\CopyPipInstall\setuptools-75.6.0-py3-none-any\setuptools-75.6.0.virtualenv to \path\to\repo\.tox\py3.11\Lib\site-packages\setuptools-75.6.0.virtualenv [virtualenv\util\path\_sync.py:42]
py3.11: 1686 D copy directory C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.11\image\1\CopyPipInstall\setuptools-75.6.0-py3-none-any\_distutils_hack to \path\to\repo\.tox\py3.11\Lib\site-packages\_distutils_hack [virtualenv\util\path\_sync.py:42]
py3.11: 1690 D generated console scripts [virtualenv\seed\embed\via_app_data\pip_install\base.py:45]
py3.11: 1690 I add activators for Bash, Batch, Fish, Nushell, PowerShell, Python [virtualenv\run\session.py:65]
py3.11: 1700 D write \path\to\repo\.tox\py3.11\pyvenv.cfg [virtualenv\create\pyenv_cfg.py:35]
py3.11: 1700 D home = C:\Program Files\Python311 [virtualenv\create\pyenv_cfg.py:40]
py3.11: 1700 D implementation = CPython [virtualenv\create\pyenv_cfg.py:40]
py3.11: 1700 D version_info = 3.11.5.final.0 [virtualenv\create\pyenv_cfg.py:40]
py3.11: 1700 D virtualenv = 20.29.3 [virtualenv\create\pyenv_cfg.py:40]
py3.11: 1700 D include-system-site-packages = false [virtualenv\create\pyenv_cfg.py:40]
py3.11: 1701 D base-prefix = C:\Program Files\Python311 [virtualenv\create\pyenv_cfg.py:40]
py3.11: 1701 D base-exec-prefix = C:\Program Files\Python311 [virtualenv\create\pyenv_cfg.py:40]
py3.11: 1701 D base-executable = C:\Program Files\Python311\python.exe [virtualenv\create\pyenv_cfg.py:40]
.pkg: 1709 I find interpreter for spec PythonSpec(path=\path\to\repo\venv\Scripts\python.EXE) [virtualenv\discovery\builtin.py:76]
.pkg: 1710 I proposed PythonInfo(spec=CPython3.12.5.final.0-64, system=\path\to\python\.85-3.12.5.0-2\python.exe, exe=\path\to\repo\venv\Scripts\python.EXE, platform=win32, version='3.12.5 (tags/v3.12.5:ff3bc82, Aug 6 2024, 20:45:27) [MSC v.1940 64 bit (AMD64)]', encoding_fs_io=utf-8-utf-8) [virtualenv\discovery\builtin.py:83]
.pkg: 1710 D accepted PythonInfo(spec=CPython3.12.5.final.0-64, system=\path\to\python\.85-3.12.5.0-2\python.exe, exe=\path\to\repo\venv\Scripts\python.EXE, platform=win32, version='3.12.5 (tags/v3.12.5:ff3bc82, Aug 6 2024, 20:45:27) [MSC v.1940 64 bit (AMD64)]', encoding_fs_io=utf-8-utf-8) [virtualenv\discovery\builtin.py:85]
.pkg: 1712 I create virtual environment via CPython3Windows(dest=\path\to\repo\.tox\.pkg, clear=False, no_vcs_ignore=False, global=False) [virtualenv\run\session.py:52]
.pkg: 1713 D create folder \path\to\repo\.tox\.pkg\Scripts [virtualenv\util\path\_sync.py:14]
.pkg: 1713 D write \path\to\repo\.tox\.pkg\pyvenv.cfg [virtualenv\create\pyenv_cfg.py:35]
.pkg: 1713 D home = \path\to\python\.85-3.12.5.0-2 [virtualenv\create\pyenv_cfg.py:40]
.pkg: 1714 D implementation = CPython [virtualenv\create\pyenv_cfg.py:40]
.pkg: 1714 D version_info = 3.12.5.final.0 [virtualenv\create\pyenv_cfg.py:40]
.pkg: 1714 D virtualenv = 20.29.3 [virtualenv\create\pyenv_cfg.py:40]
.pkg: 1714 D include-system-site-packages = false [virtualenv\create\pyenv_cfg.py:40]
.pkg: 1714 D base-prefix = \path\to\python\.85-3.12.5.0-2 [virtualenv\create\pyenv_cfg.py:40]
.pkg: 1714 D base-exec-prefix = \path\to\python\.85-3.12.5.0-2 [virtualenv\create\pyenv_cfg.py:40]
.pkg: 1714 D base-executable = \path\to\python\.85-3.12.5.0-2\python.exe [virtualenv\create\pyenv_cfg.py:40]
.pkg: 1715 D copy \path\to\python\.85-3.12.5.0-2\Lib\venv\scripts\nt\python.exe to \path\to\repo\.tox\.pkg\Scripts\python.exe [virtualenv\util\path\_sync.py:42]
.pkg: 1717 D copy \path\to\python\.85-3.12.5.0-2\Lib\venv\scripts\nt\pythonw.exe to \path\to\repo\.tox\.pkg\Scripts\pythonw.exe [virtualenv\util\path\_sync.py:42]
.pkg: 1719 D create virtualenv import hook file \path\to\repo\.tox\.pkg\Lib\site-packages\_virtualenv.pth [virtualenv\create\via_global_ref\api.py:93]
.pkg: 1720 D create \path\to\repo\.tox\.pkg\Lib\site-packages\_virtualenv.py [virtualenv\create\via_global_ref\api.py:96]
.pkg: 1721 D ============================== target debug ============================== [virtualenv\run\session.py:54]
.pkg: 1722 D debug via '\path\to\repo\.tox\.pkg\Scripts\python.exe' '\path\to\repo\venv\Lib\site-packages\virtualenv\create\debug.py' [virtualenv\create\creator.py:215]
.pkg: 1722 D {
"sys": {
"executable": "\\path\\to\\repo\\.tox\\.pkg\\Scripts\\python.exe",
"_base_executable": "\\path\\to\\python\\.85-3.12.5.0-2\\python.exe",
"prefix": "\\path\\to\\repo\\.tox\\.pkg",
"base_prefix": "\\path\\to\\python\\.85-3.12.5.0-2",
"real_prefix": null,
"exec_prefix": "\\path\\to\\repo\\.tox\\.pkg",
"base_exec_prefix": "\\path\\to\\python\\.85-3.12.5.0-2",
"path": [
"\\path\\to\\python\\.85-3.12.5.0-2\\python312.zip",
"\\path\\to\\python\\.85-3.12.5.0-2\\DLLs",
"\\path\\to\\python\\.85-3.12.5.0-2\\Lib",
"\\path\\to\\python\\.85-3.12.5.0-2",
"\\path\\to\\repo\\.tox\\.pkg",
"\\path\\to\\repo\\.tox\\.pkg\\Lib\\site-packages"
],
"meta_path": [
"<class '_virtualenv._Finder'>",
"<class '_frozen_importlib.BuiltinImporter'>",
"<class '_frozen_importlib.FrozenImporter'>",
"<class '_frozen_importlib_external.PathFinder'>"
],
"fs_encoding": "utf-8",
"io_encoding": "utf-8"
},
"version": "3.12.5 (tags/v3.12.5:ff3bc82, Aug 6 2024, 20:45:27) [MSC v.1940 64 bit (AMD64)]",
"makefile_filename": "\\path\\to\\python\\.85-3.12.5.0-2\\Lib\\config\\Makefile",
"os": "<module 'os' (frozen)>",
"site": "<module 'site' (frozen)>",
"datetime": "<module 'datetime' from 'C:\\\\toolbase\\\\_ldata\\\\python\\\\.85-3.12.5.0-2\\\\Lib\\\\datetime.py'>",
"math": "<module 'math' (built-in)>",
"json": "<module 'json' from 'C:\\\\toolbase\\\\_ldata\\\\python\\\\.85-3.12.5.0-2\\\\Lib\\\\json\\\\__init__.py'>"
} [virtualenv\run\session.py:55]
.pkg: 1836 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=C:\Users\myuser\AppData\Local\pypa\virtualenv) [virtualenv\run\session.py:59]
.pkg: 1838 D install pip from wheel \path\to\repo\venv\Lib\site-packages\virtualenv\seed\wheels\embed\pip-25.0.1-py3-none-any.whl via CopyPipInstall [virtualenv\seed\embed\via_app_data\via_app_data.py:51]
.pkg: 1840 D copy directory C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.12\image\1\CopyPipInstall\pip-25.0.1-py3-none-any\pip to \path\to\repo\.tox\.pkg\Lib\site-packages\pip [virtualenv\util\path\_sync.py:42]
.pkg: 2279 D copy directory C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.12\image\1\CopyPipInstall\pip-25.0.1-py3-none-any\pip-25.0.1.dist-info to \path\to\repo\.tox\.pkg\Lib\site-packages\pip-25.0.1.dist-info [virtualenv\util\path\_sync.py:42]
.pkg: 2288 D copy C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.12\image\1\CopyPipInstall\pip-25.0.1-py3-none-any\pip-25.0.1.virtualenv to \path\to\repo\.tox\.pkg\Lib\site-packages\pip-25.0.1.virtualenv [virtualenv\util\path\_sync.py:42]
.pkg: 2293 D generated console scripts pip.exe pip-3.12.exe pip3.12.exe pip3.exe [virtualenv\seed\embed\via_app_data\pip_install\base.py:45]
.pkg: 2294 I add activators for Bash, Batch, Fish, Nushell, PowerShell, Python [virtualenv\run\session.py:65]
.pkg: 2301 D write \path\to\repo\.tox\.pkg\pyvenv.cfg [virtualenv\create\pyenv_cfg.py:35]
.pkg: 2302 D home = \path\to\python\.85-3.12.5.0-2 [virtualenv\create\pyenv_cfg.py:40]
.pkg: 2302 D implementation = CPython [virtualenv\create\pyenv_cfg.py:40]
.pkg: 2302 D version_info = 3.12.5.final.0 [virtualenv\create\pyenv_cfg.py:40]
.pkg: 2302 D virtualenv = 20.29.3 [virtualenv\create\pyenv_cfg.py:40]
.pkg: 2302 D include-system-site-packages = false [virtualenv\create\pyenv_cfg.py:40]
.pkg: 2302 D base-prefix = \path\to\python\.85-3.12.5.0-2 [virtualenv\create\pyenv_cfg.py:40]
.pkg: 2302 D base-exec-prefix = \path\to\python\.85-3.12.5.0-2 [virtualenv\create\pyenv_cfg.py:40]
.pkg: 2303 D base-executable = \path\to\python\.85-3.12.5.0-2\python.exe [virtualenv\create\pyenv_cfg.py:40]
.pkg: 2304 W install_requires> python -I -m pip install setuptools>=40.8.0 wheel [tox\tox_env\api.py:434]
Looking in indexes: https://mycompany.com/artifactory/api/pypi/python-virtual/simple
Collecting setuptools>=40.8.0
Using cached https://mycompany.com/artifactory/api/pypi/python-virtual/packages/packages/37/66/d2d7e6ad554f3a7c7297c3f8ef6e22643ad3d35ef5c63bf488bc89f32f31/setuptools-76.0.0-py3-none-any.whl (1.2 MB)
Collecting wheel
Using cached https://mycompany.com/artifactory/api/pypi/python-virtual/packages/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl (72 kB)
Installing collected packages: wheel, setuptools
Successfully installed setuptools-76.0.0 wheel-0.45.1
.pkg: 7008 I exit 0 (4.70 seconds) \path\to\repo> python -I -m pip install setuptools>=40.8.0 wheel pid=38724 [tox\execute\api.py:294]
.pkg: 7011 W _optional_hooks> python \path\to\repo\venv\Lib\site-packages\pyproject_api\_backend.py True setuptools.build_meta __legacy__ [tox\tox_env\api.py:434]
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 C:\Users\myuser\AppData\Local\Temp\pep517__optional_hooks-ucuw2juh.json
.pkg: 7228 I exit None (0.22 seconds) \path\to\repo> python \path\to\repo\venv\Lib\site-packages\pyproject_api\_backend.py True setuptools.build_meta __legacy__ pid=17836 [tox\execute\api.py:294]
.pkg: 7258 W get_requires_for_build_sdist> python \path\to\repo\venv\Lib\site-packages\pyproject_api\_backend.py True setuptools.build_meta __legacy__ [tox\tox_env\api.py:434]
Backend: run command get_requires_for_build_sdist with args {'config_settings': None}
running egg_info
writing src\mypackage.egg-info\PKG-INFO
writing dependency_links to src\mypackage.egg-info\dependency_links.txt
writing top-level names to src\mypackage.egg-info\top_level.txt
reading manifest file 'src\mypackage.egg-info\SOURCES.txt'
writing manifest file 'src\mypackage.egg-info\SOURCES.txt'
Backend: Wrote response {'return': []} to C:\Users\myuser\AppData\Local\Temp\pep517_get_requires_for_build_sdist-rwwxr_vz.json
.pkg: 7580 I exit None (0.31 seconds) \path\to\repo> python \path\to\repo\venv\Lib\site-packages\pyproject_api\_backend.py True setuptools.build_meta __legacy__ pid=23332 [tox\execute\api.py:294]
.pkg: 7617 W build_sdist> python \path\to\repo\venv\Lib\site-packages\pyproject_api\_backend.py True setuptools.build_meta __legacy__ [tox\tox_env\api.py:434]
Backend: run command build_sdist with args {'sdist_directory': '\\path\\to\\repo\\.tox\\.pkg\\dist', 'config_settings': None}
running sdist
running egg_info
writing src\mypackage.egg-info\PKG-INFO
writing dependency_links to src\mypackage.egg-info\dependency_links.txt
writing top-level names to src\mypackage.egg-info\top_level.txt
reading manifest file 'src\mypackage.egg-info\SOURCES.txt'
writing manifest file 'src\mypackage.egg-info\SOURCES.txt'
running check
creating mypackage-0.0.1
creating mypackage-0.0.1\src\mypackage
creating mypackage-0.0.1\src\mypackage.egg-info
copying files to mypackage-0.0.1...
copying pyproject.toml -> mypackage-0.0.1
copying src\mypackage\__init__.py -> mypackage-0.0.1\src\mypackage
copying src\mypackage.egg-info\PKG-INFO -> mypackage-0.0.1\src\mypackage.egg-info
copying src\mypackage.egg-info\SOURCES.txt -> mypackage-0.0.1\src\mypackage.egg-info
copying src\mypackage.egg-info\dependency_links.txt -> mypackage-0.0.1\src\mypackage.egg-info
copying src\mypackage.egg-info\top_level.txt -> mypackage-0.0.1\src\mypackage.egg-info
copying src\mypackage.egg-info\SOURCES.txt -> mypackage-0.0.1\src\mypackage.egg-info
Writing mypackage-0.0.1\setup.cfg
Creating tar archive
removing 'mypackage-0.0.1' (and everything under it)
Backend: Wrote response {'return': 'mypackage-0.0.1.tar.gz'} to C:\Users\myuser\AppData\Local\Temp\pep517_build_sdist-di5porba.json
.pkg: 7962 I exit None (0.34 seconds) \path\to\repo> python \path\to\repo\venv\Lib\site-packages\pyproject_api\_backend.py True setuptools.build_meta __legacy__ pid=32224 [tox\execute\api.py:294]
.pkg: 7998 D package .tmp\package\6\mypackage-0.0.1.tar.gz links to .pkg\dist\mypackage-0.0.1.tar.gz (\path\to\repo\.tox) [tox\util\file_view.py:39]
py3.11: 8000 W install_package> python -I -m pip install --force-reinstall --no-deps \path\to\repo\.tox\.tmp\package\6\mypackage-0.0.1.tar.gz [tox\tox_env\api.py:434]
Looking in indexes: https://mycompany.com/artifactory/api/pypi/python-virtual/simple
Processing \path\to\repo\.tox\.tmp\package\6\mypackage-0.0.1.tar.gz
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: mypackage
Building wheel for mypackage (pyproject.toml): started
Building wheel for mypackage (pyproject.toml): finished with status 'done'
Created wheel for mypackage: filename=mypackage-0.0.1-py3-none-any.whl size=1124 sha256=ac4732992fd71af307a4efee4e975a19f39c4d6404ddadb23d3a71b82dd55011
Stored in directory: c:\users\myuser\appdata\local\pip\cache\wheels\3a\d6\5d\259085374b778ffde9bca468f2f4f6e5dca0a64796b753816a
Successfully built mypackage
Installing collected packages: mypackage
Successfully installed mypackage-0.0.1
py3.11: 15715 I exit 0 (7.72 seconds) \path\to\repo> python -I -m pip install --force-reinstall --no-deps \path\to\repo\.tox\.tmp\package\6\mypackage-0.0.1.tar.gz pid=40232 [tox\execute\api.py:294]
py3.11: OK ✔ in 15.44 seconds
py3.12: 15719 W remove tox env folder \path\to\repo\.tox\py3.12 [tox\tox_env\api.py:332]
py3.12: 15930 I find interpreter for spec PythonSpec(major=3, minor=12, free_threaded=False) [virtualenv\discovery\builtin.py:76]
py3.12: 15930 I proposed PythonInfo(spec=CPython3.12.5.final.0-64, system=\path\to\python\.85-3.12.5.0-2\python.exe, exe=\path\to\repo\venv\Scripts\python.EXE, platform=win32, version='3.12.5 (tags/v3.12.5:ff3bc82, Aug 6 2024, 20:45:27) [MSC v.1940 64 bit (AMD64)]', encoding_fs_io=utf-8-utf-8) [virtualenv\discovery\builtin.py:83]
py3.12: 15930 D accepted PythonInfo(spec=CPython3.12.5.final.0-64, system=\path\to\python\.85-3.12.5.0-2\python.exe, exe=\path\to\repo\venv\Scripts\python.EXE, platform=win32, version='3.12.5 (tags/v3.12.5:ff3bc82, Aug 6 2024, 20:45:27) [MSC v.1940 64 bit (AMD64)]', encoding_fs_io=utf-8-utf-8) [virtualenv\discovery\builtin.py:85]
py3.12: 15933 I create virtual environment via CPython3Windows(dest=\path\to\repo\.tox\py3.12, clear=False, no_vcs_ignore=False, global=False) [virtualenv\run\session.py:52]
py3.12: 15933 D create folder \path\to\repo\.tox\py3.12\Lib\site-packages [virtualenv\util\path\_sync.py:14]
py3.12: 15934 D create folder \path\to\repo\.tox\py3.12\Scripts [virtualenv\util\path\_sync.py:14]
py3.12: 15934 D write \path\to\repo\.tox\py3.12\pyvenv.cfg [virtualenv\create\pyenv_cfg.py:35]
py3.12: 15934 D home = \path\to\python\.85-3.12.5.0-2 [virtualenv\create\pyenv_cfg.py:40]
py3.12: 15935 D implementation = CPython [virtualenv\create\pyenv_cfg.py:40]
py3.12: 15935 D version_info = 3.12.5.final.0 [virtualenv\create\pyenv_cfg.py:40]
py3.12: 15935 D virtualenv = 20.29.3 [virtualenv\create\pyenv_cfg.py:40]
py3.12: 15935 D include-system-site-packages = false [virtualenv\create\pyenv_cfg.py:40]
py3.12: 15935 D base-prefix = \path\to\python\.85-3.12.5.0-2 [virtualenv\create\pyenv_cfg.py:40]
py3.12: 15935 D base-exec-prefix = \path\to\python\.85-3.12.5.0-2 [virtualenv\create\pyenv_cfg.py:40]
py3.12: 15936 D base-executable = \path\to\python\.85-3.12.5.0-2\python.exe [virtualenv\create\pyenv_cfg.py:40]
py3.12: 15937 D copy \path\to\python\.85-3.12.5.0-2\Lib\venv\scripts\nt\python.exe to \path\to\repo\.tox\py3.12\Scripts\python.exe [virtualenv\util\path\_sync.py:42]
py3.12: 15938 D copy \path\to\python\.85-3.12.5.0-2\Lib\venv\scripts\nt\pythonw.exe to \path\to\repo\.tox\py3.12\Scripts\pythonw.exe [virtualenv\util\path\_sync.py:42]
py3.12: 15940 D create virtualenv import hook file \path\to\repo\.tox\py3.12\Lib\site-packages\_virtualenv.pth [virtualenv\create\via_global_ref\api.py:93]
py3.12: 15941 D create \path\to\repo\.tox\py3.12\Lib\site-packages\_virtualenv.py [virtualenv\create\via_global_ref\api.py:96]
py3.12: 15943 D ============================== target debug ============================== [virtualenv\run\session.py:54]
py3.12: 15943 D debug via '\path\to\repo\.tox\py3.12\Scripts\python.exe' '\path\to\repo\venv\Lib\site-packages\virtualenv\create\debug.py' [virtualenv\create\creator.py:215]
py3.12: 15943 D {
"sys": {
"executable": "\\path\\to\\repo\\.tox\\py3.12\\Scripts\\python.exe",
"_base_executable": "\\path\\to\\python\\.85-3.12.5.0-2\\python.exe",
"prefix": "\\path\\to\\repo\\.tox\\py3.12",
"base_prefix": "\\path\\to\\python\\.85-3.12.5.0-2",
"real_prefix": null,
"exec_prefix": "\\path\\to\\repo\\.tox\\py3.12",
"base_exec_prefix": "\\path\\to\\python\\.85-3.12.5.0-2",
"path": [
"\\path\\to\\python\\.85-3.12.5.0-2\\python312.zip",
"\\path\\to\\python\\.85-3.12.5.0-2\\DLLs",
"\\path\\to\\python\\.85-3.12.5.0-2\\Lib",
"\\path\\to\\python\\.85-3.12.5.0-2",
"\\path\\to\\repo\\.tox\\py3.12",
"\\path\\to\\repo\\.tox\\py3.12\\Lib\\site-packages"
],
"meta_path": [
"<class '_virtualenv._Finder'>",
"<class '_frozen_importlib.BuiltinImporter'>",
"<class '_frozen_importlib.FrozenImporter'>",
"<class '_frozen_importlib_external.PathFinder'>"
],
"fs_encoding": "utf-8",
"io_encoding": "utf-8"
},
"version": "3.12.5 (tags/v3.12.5:ff3bc82, Aug 6 2024, 20:45:27) [MSC v.1940 64 bit (AMD64)]",
"makefile_filename": "\\path\\to\\python\\.85-3.12.5.0-2\\Lib\\config\\Makefile",
"os": "<module 'os' (frozen)>",
"site": "<module 'site' (frozen)>",
"datetime": "<module 'datetime' from 'C:\\\\toolbase\\\\_ldata\\\\python\\\\.85-3.12.5.0-2\\\\Lib\\\\datetime.py'>",
"math": "<module 'math' (built-in)>",
"json": "<module 'json' from 'C:\\\\toolbase\\\\_ldata\\\\python\\\\.85-3.12.5.0-2\\\\Lib\\\\json\\\\__init__.py'>"
} [virtualenv\run\session.py:55]
py3.12: 16033 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=C:\Users\myuser\AppData\Local\pypa\virtualenv) [virtualenv\run\session.py:59]
py3.12: 16035 D install pip from wheel \path\to\repo\venv\Lib\site-packages\virtualenv\seed\wheels\embed\pip-25.0.1-py3-none-any.whl via CopyPipInstall [virtualenv\seed\embed\via_app_data\via_app_data.py:51]
py3.12: 16038 D copy directory C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.12\image\1\CopyPipInstall\pip-25.0.1-py3-none-any\pip to \path\to\repo\.tox\py3.12\Lib\site-packages\pip [virtualenv\util\path\_sync.py:42]
py3.12: 16602 D copy directory C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.12\image\1\CopyPipInstall\pip-25.0.1-py3-none-any\pip-25.0.1.dist-info to \path\to\repo\.tox\py3.12\Lib\site-packages\pip-25.0.1.dist-info [virtualenv\util\path\_sync.py:42]
py3.12: 16612 D copy C:\Users\myuser\AppData\Local\pypa\virtualenv\wheel\3.12\image\1\CopyPipInstall\pip-25.0.1-py3-none-any\pip-25.0.1.virtualenv to \path\to\repo\.tox\py3.12\Lib\site-packages\pip-25.0.1.virtualenv [virtualenv\util\path\_sync.py:42]
py3.12: 16617 D generated console scripts pip-3.12.exe pip.exe pip3.12.exe pip3.exe [virtualenv\seed\embed\via_app_data\pip_install\base.py:45]
py3.12: 16617 I add activators for Bash, Batch, Fish, Nushell, PowerShell, Python [virtualenv\run\session.py:65]
py3.12: 16625 D write \path\to\repo\.tox\py3.12\pyvenv.cfg [virtualenv\create\pyenv_cfg.py:35]
py3.12: 16625 D home = \path\to\python\.85-3.12.5.0-2 [virtualenv\create\pyenv_cfg.py:40]
py3.12: 16626 D implementation = CPython [virtualenv\create\pyenv_cfg.py:40]
py3.12: 16626 D version_info = 3.12.5.final.0 [virtualenv\create\pyenv_cfg.py:40]
py3.12: 16626 D virtualenv = 20.29.3 [virtualenv\create\pyenv_cfg.py:40]
py3.12: 16626 D include-system-site-packages = false [virtualenv\create\pyenv_cfg.py:40]
py3.12: 16626 D base-prefix = \path\to\python\.85-3.12.5.0-2 [virtualenv\create\pyenv_cfg.py:40]
py3.12: 16626 D base-exec-prefix = \path\to\python\.85-3.12.5.0-2 [virtualenv\create\pyenv_cfg.py:40]
py3.12: 16627 D base-executable = \path\to\python\.85-3.12.5.0-2\python.exe [virtualenv\create\pyenv_cfg.py:40]
.pkg: 16632 D package .tmp\package\7\mypackage-0.0.1.tar.gz links to .pkg\dist\mypackage-0.0.1.tar.gz (\path\to\repo\.tox) [tox\util\file_view.py:39]
py3.12: 16634 W install_package> python -I -m pip install --force-reinstall --no-deps \path\to\repo\.tox\.tmp\package\7\mypackage-0.0.1.tar.gz [tox\tox_env\api.py:434]
Looking in indexes: https://mycompany.com/artifactory/api/pypi/python-virtual/simple
Processing \path\to\repo\.tox\.tmp\package\7\mypackage-0.0.1.tar.gz
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: mypackage
Building wheel for mypackage (pyproject.toml): started
Building wheel for mypackage (pyproject.toml): finished with status 'done'
Created wheel for mypackage: filename=mypackage-0.0.1-py3-none-any.whl size=1124 sha256=816002f6c368897ef3d35d8c0d11b3327bec796f578dface827263fd132ecebf
Stored in directory: c:\users\myuser\appdata\local\pip\cache\wheels\67\67\6c\63327348b5b8596217eef12dd056d6353e50e686bb714c0718
Successfully built mypackage
Installing collected packages: mypackage
Successfully installed mypackage-0.0.1
py3.12: 23848 I exit 0 (7.20 seconds) \path\to\repo> python -I -m pip install --force-reinstall --no-deps \path\to\repo\.tox\.tmp\package\7\mypackage-0.0.1.tar.gz pid=22280 [tox\execute\api.py:294]
.pkg: 23852 D delete package \path\to\repo\.tox\.tmp\package\7\mypackage-0.0.1.tar.gz [tox\tox_env\python\virtual_env\package\pyproject.py:224]
.pkg: 23852 D delete package \path\to\repo\.tox\.tmp\package\6\mypackage-0.0.1.tar.gz [tox\tox_env\python\virtual_env\package\pyproject.py:224]
py3.11: OK (15.44 seconds)
py3.12: OK (8.14 seconds)
congratulations :) (23.67 seconds)
Minimal example
Working INI example
[tox]
env_list = py3.11, py3.12
[testenv:py]
dependency_groups = all
[testenv:py_base]
commands = pytest
dependency_groups = test
description = "Run tests with {base_python}"
[testenv:py3.11]
base = py_base
[testenv:py3.12]
base = py_base
Not working TOML example
env_list = ["py3.11", "py3.12"]
[env.py_base]
commands = [
["pytest"]
]
dependency_groups = ["test"]
description = "Run tests with {base_python}"
[env."py3.11"]
base = "py_base"
# base = "env.py_base"
# base = "tox.env.py_base"
# base = "tool.tox.env.py_base"
[env."py3.12"]
base = "py_base"