tox-dev / tox-uv

Use https://github.com/astral-sh/uv with tox
MIT License
66 stars 14 forks source link

tox-uv causing ModuleNotFoundError: No module named 'setuptools' #65

Closed jab closed 2 months ago

jab commented 2 months ago

Issue

I upgraded uv from 0.1.26 to the latest version, 0.2.17, then tried running tox, and it failed with the error below. I uninstalled tox-uv, tried running tox again, and it worked.

Environment

Provide at least:

Output of pip list of the host Python, where tox is installed ```console ❯ uv pip list Package Version Editable project location ----------------------------- ----------- ------------------------- alabaster 0.7.16 attrs 23.2.0 babel 2.15.0 beautifulsoup4 4.12.3 bidict 0.23.2.dev0 /Users/jab/src/bidict cachetools 5.3.3 certifi 2024.6.2 chardet 5.2.0 charset-normalizer 3.3.2 colorama 0.4.6 coverage 7.5.4 coverage-enable-subprocess 1.0 distlib 0.3.8 docutils 0.21.2 execnet 2.1.1 filelock 3.15.4 furo 2024.5.6 hypothesis 6.104.1 icdiff 2.0.7 idna 3.7 imagesize 1.4.1 iniconfig 2.0.0 jinja2 3.1.4 markdown-it-py 3.0.0 markupsafe 2.1.5 mdurl 0.1.2 mypy 1.10.1 mypy-extensions 1.0.0 packaging 24.1 platformdirs 4.2.2 pluggy 1.5.0 pprintpp 0.4.0 py-cpuinfo 9.0.0 pygments 2.18.0 pyproject-api 1.7.1 pytest 8.2.2 pytest-benchmark 4.0.0 pytest-clarity 1.0.1 pytest-icdiff 0.9 pytest-sphinx 0.6.3 pytest-xdist 3.6.1 requests 2.32.3 rich 13.7.1 setuptools 70.1.1 snowballstemmer 2.2.0 sortedcollections 2.1.0 sortedcontainers 2.4.0 soupsieve 2.5 sphinx 7.3.7 sphinx-basic-ng 1.0.0b2 sphinx-copybutton 0.5.2 sphinxcontrib-applehelp 1.0.8 sphinxcontrib-devhelp 1.0.6 sphinxcontrib-htmlhelp 2.0.5 sphinxcontrib-jsmath 1.0.1 sphinxcontrib-qthelp 1.0.7 sphinxcontrib-serializinghtml 1.1.10 tox 4.15.1 tox-uv 1.9.0 typing-extensions 4.12.2 urllib3 2.2.2 uv 0.2.17 virtualenv 20.26.3 ```

Output of running tox

Output of tox -rvv ```console ❯ tox -rvv -e py312 py312: 83 W remove tox env folder /Users/jab/src/bidict/.tox/py312 [tox/tox_env/api.py:323] .pkg: 84 W remove tox env folder /Users/jab/src/bidict/.tox/.pkg [tox/tox_env/api.py:323] py312: 87 W venv> .venv/bin/uv venv -p /Users/jab/src/bidict/.venv/bin/python --allow-existing -v /Users/jab/src/bidict/.tox/py312 [tox/tox_env/api.py:425] DEBUG uv 0.2.17 DEBUG Checking for Python interpreter at path `.venv/bin/python` Using Python 3.12.3 interpreter at: .venv/bin/python Creating virtualenv at: .tox/py312 INFO Allowing existing directory py312: 99 I exit 0 (0.01 seconds) /Users/jab/src/bidict> .venv/bin/uv venv -p /Users/jab/src/bidict/.venv/bin/python --allow-existing -v /Users/jab/src/bidict/.tox/py312 pid=16398 [tox/execute/api.py:286] py312: 102 W install_deps> .venv/bin/uv pip install -r dev-deps/test.txt -v [tox/tox_env/api.py:425] DEBUG uv 0.2.17 DEBUG Checking for Python interpreter at path `.venv/bin/python` DEBUG Using Python 3.12.3 environment at .venv/bin/python DEBUG Acquired lock for `.venv` DEBUG Requirement satisfied: attrs==23.2.0 DEBUG Requirement satisfied: attrs>=22.2.0 DEBUG Requirement satisfied: coverage DEBUG Requirement satisfied: coverage-enable-subprocess==1.0 DEBUG Requirement satisfied: coverage==7.5.4 DEBUG Requirement satisfied: execnet==2.1.1 DEBUG Requirement satisfied: execnet>=2.1 DEBUG Requirement satisfied: hypothesis==6.104.1 DEBUG Requirement satisfied: iniconfig DEBUG Requirement satisfied: iniconfig==2.0.0 DEBUG Requirement satisfied: mypy-extensions==1.0.0 DEBUG Requirement satisfied: mypy-extensions>=1.0.0 DEBUG Requirement satisfied: mypy==1.10.1 DEBUG Requirement satisfied: packaging DEBUG Requirement satisfied: packaging==24.1 DEBUG Requirement satisfied: pluggy<2.0, >=1.5 DEBUG Requirement satisfied: pluggy==1.5.0 DEBUG Requirement satisfied: py-cpuinfo DEBUG Requirement satisfied: py-cpuinfo==9.0.0 DEBUG Requirement satisfied: pytest-benchmark==4.0.0 DEBUG Requirement satisfied: pytest-sphinx==0.6.3 DEBUG Requirement satisfied: pytest-xdist==3.6.1 DEBUG Requirement satisfied: pytest==8.2.2 DEBUG Requirement satisfied: pytest>=3.8 DEBUG Requirement satisfied: pytest>=7.0.0 DEBUG Requirement satisfied: pytest>=8.1.1 DEBUG Requirement satisfied: sortedcollections==2.1.0 DEBUG Requirement satisfied: sortedcontainers DEBUG Requirement satisfied: sortedcontainers<3.0.0, >=2.1.0 DEBUG Requirement satisfied: sortedcontainers==2.4.0 DEBUG Requirement satisfied: typing-extensions==4.12.2 DEBUG Requirement satisfied: typing-extensions>=4.1.0 Audited 19 packages in 1ms py312: 113 I exit 0 (0.01 seconds) /Users/jab/src/bidict> .venv/bin/uv pip install -r dev-deps/test.txt -v pid=16399 [tox/execute/api.py:286] .pkg: 115 W venv> .venv/bin/uv venv -p /Users/jab/src/bidict/.venv/bin/python --allow-existing -v /Users/jab/src/bidict/.tox/.pkg [tox/tox_env/api.py:425] DEBUG uv 0.2.17 DEBUG Checking for Python interpreter at path `.venv/bin/python` Using Python 3.12.3 interpreter at: .venv/bin/python Creating virtualenv at: .tox/.pkg INFO Allowing existing directory .pkg: 124 I exit 0 (0.01 seconds) /Users/jab/src/bidict> .venv/bin/uv venv -p /Users/jab/src/bidict/.venv/bin/python --allow-existing -v /Users/jab/src/bidict/.tox/.pkg pid=16400 [tox/execute/api.py:286] .pkg: 124 W install_requires> .venv/bin/uv pip install 'setuptools>=40.9.0' -v [tox/tox_env/api.py:425] DEBUG uv 0.2.17 DEBUG Checking for Python interpreter at path `.venv/bin/python` DEBUG Using Python 3.12.3 environment at .venv/bin/python DEBUG Acquired lock for `.venv` DEBUG Requirement satisfied: setuptools>=40.9.0 Audited 1 package in 0.77ms .pkg: 133 I exit 0 (0.01 seconds) /Users/jab/src/bidict> .venv/bin/uv pip install 'setuptools>=40.9.0' -v pid=16401 [tox/execute/api.py:286] .pkg: 134 W _optional_hooks> python /Users/jab/src/bidict/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta [tox/tox_env/api.py:425] py312: 160 E packaging backend failed (code=-5), with FailedToStart: could not start backend failed to start backend Traceback (most recent call last): File "/Users/jab/src/bidict/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py", line 139, in sys.exit(run(sys.argv[1:])) ^^^^^^^^^^^^^^^^^ File "/Users/jab/src/bidict/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py", line 67, in run backend_proxy = BackendProxy(argv[1], None if len(argv) == 2 else argv[2]) # noqa: PLR2004 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/jab/src/bidict/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py", line 26, in __init__ backend = importlib.import_module(self.backend_module) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/lib/python3.12/importlib/__init__.py", line 90, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 1387, in _gcd_import File "", line 1360, in _find_and_load File "", line 1310, in _find_and_load_unlocked File "", line 488, in _call_with_frames_removed File "", line 1387, in _gcd_import File "", line 1360, in _find_and_load File "", line 1324, in _find_and_load_unlocked ModuleNotFoundError: No module named 'setuptools' [tox/session/cmd/run/single.py:54] py312: FAIL code -5 (0.08 seconds) evaluation failed :( (0.11 seconds) ❯ uv pip uninstall tox-uv Uninstalled 1 package in 3ms - tox-uv==1.9.0 ❯ tox -rvv -e py312 py312: 82 W remove tox env folder /Users/jab/src/bidict/.tox/py312 [tox/tox_env/api.py:323] .pkg: 83 W remove tox env folder /Users/jab/src/bidict/.tox/.pkg [tox/tox_env/api.py:323] py312: 89 I find interpreter for spec PythonSpec(major=3, minor=12) [virtualenv/discovery/builtin.py:72] py312: 89 D got python info of %s from (PosixPath('/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12'), PosixPath('/Users/jab/Library/Application Support/virtualenv/py_info/1/1f293b1ecd013db5616108f56c1302d0c0db1d1392a20bfde032a66a25d45252.json')) [virtualenv/app_data/via_disk_folder.py:131] py312: 90 D filesystem is not case-sensitive [virtualenv/info.py:25] py312: 90 I proposed PythonInfo(spec=CPython3.12.3.final.0-64, system=/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12, exe=/Users/jab/src/bidict/.venv/bin/python, platform=darwin, version='3.12.3 (main, Apr 9 2024, 08:09:14) [Clang 16.0.6 ]', encoding_fs_io=utf-8-utf-8) [virtualenv/discovery/builtin.py:79] py312: 90 D accepted PythonInfo(spec=CPython3.12.3.final.0-64, system=/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12, exe=/Users/jab/src/bidict/.venv/bin/python, platform=darwin, version='3.12.3 (main, Apr 9 2024, 08:09:14) [Clang 16.0.6 ]', encoding_fs_io=utf-8-utf-8) [virtualenv/discovery/builtin.py:81] py312: 106 I create virtual environment via CPython3Posix(dest=/Users/jab/src/bidict/.tox/py312, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:50] py312: 106 D create folder /Users/jab/src/bidict/.tox/py312/bin [virtualenv/util/path/_sync.py:12] py312: 106 D create folder /Users/jab/src/bidict/.tox/py312/lib/python3.12/site-packages [virtualenv/util/path/_sync.py:12] py312: 107 D write /Users/jab/src/bidict/.tox/py312/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:33] py312: 107 D home = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin [virtualenv/create/pyenv_cfg.py:38] py312: 107 D implementation = CPython [virtualenv/create/pyenv_cfg.py:38] py312: 107 D version_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:38] py312: 107 D virtualenv = 20.26.3 [virtualenv/create/pyenv_cfg.py:38] py312: 107 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:38] py312: 107 D base-prefix = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3 [virtualenv/create/pyenv_cfg.py:38] py312: 107 D base-exec-prefix = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3 [virtualenv/create/pyenv_cfg.py:38] py312: 107 D base-executable = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12 [virtualenv/create/pyenv_cfg.py:38] py312: 107 D symlink /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12 to /Users/jab/src/bidict/.tox/py312/bin/python [virtualenv/util/path/_sync.py:32] py312: 107 D create virtualenv import hook file /Users/jab/src/bidict/.tox/py312/lib/python3.12/site-packages/_virtualenv.pth [virtualenv/create/via_global_ref/api.py:91] py312: 107 D create /Users/jab/src/bidict/.tox/py312/lib/python3.12/site-packages/_virtualenv.py [virtualenv/create/via_global_ref/api.py:94] py312: 108 D ============================== target debug ============================== [virtualenv/run/session.py:52] py312: 108 D debug via /Users/jab/src/bidict/.tox/py312/bin/python /Users/jab/src/bidict/.venv/lib/python3.12/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:200] py312: 108 D { "sys": { "executable": "/Users/jab/src/bidict/.tox/py312/bin/python", "_base_executable": "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12", "prefix": "/Users/jab/src/bidict/.tox/py312", "base_prefix": "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3", "real_prefix": null, "exec_prefix": "/Users/jab/src/bidict/.tox/py312", "base_exec_prefix": "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3", "path": [ "/nix/store/xkaihl9v2k0jgsxyv8kgsxxms731la4d-python3-3.8.18/lib/python3.8/site-packages", "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/lib/python312.zip", "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/lib/python3.12", "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/lib/python3.12/lib-dynload", "/Users/jab/src/bidict/.tox/py312/lib/python3.12/site-packages" ], "meta_path": [ "", "", "", "" ], "fs_encoding": "utf-8", "io_encoding": "utf-8" }, "version": "3.12.3 (main, Apr 9 2024, 08:09:14) [Clang 16.0.6 ]", "makefile_filename": "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/lib/python3.12/config-3.12-darwin/Makefile", "os": "", "site": "", "datetime": "", "math": "", "json": "" } [virtualenv/run/session.py:53] py312: 133 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/Users/jab/Library/Application Support/virtualenv) [virtualenv/run/session.py:57] py312: 134 D got embed update of distribution %s from ('pip', PosixPath('/Users/jab/Library/Application Support/virtualenv/wheel/3.12/embed/3/pip.json')) [virtualenv/app_data/via_disk_folder.py:131] py312: 135 D using periodically updated wheel /Users/jab/Library/Application Support/virtualenv/wheel/house/pip-24.0-py3-none-any.whl [virtualenv/seed/wheels/periodic_update.py:48] py312: 135 D install pip from wheel /Users/jab/Library/Application Support/virtualenv/wheel/house/pip-24.0-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:49] py312: 136 D copy directory /Users/jab/Library/Application Support/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-24.0-py3-none-any/pip-24.0.dist-info to /Users/jab/src/bidict/.tox/py312/lib/python3.12/site-packages/pip-24.0.dist-info [virtualenv/util/path/_sync.py:40] py312: 138 D copy directory /Users/jab/Library/Application Support/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-24.0-py3-none-any/pip to /Users/jab/src/bidict/.tox/py312/lib/python3.12/site-packages/pip [virtualenv/util/path/_sync.py:40] py312: 220 D copy /Users/jab/Library/Application Support/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-24.0-py3-none-any/pip-24.0.virtualenv to /Users/jab/src/bidict/.tox/py312/lib/python3.12/site-packages/pip-24.0.virtualenv [virtualenv/util/path/_sync.py:40] py312: 221 D generated console scripts pip-3.12 pip3 pip pip3.12 [virtualenv/seed/embed/via_app_data/pip_install/base.py:43] py312: 221 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [virtualenv/run/session.py:63] py312: 223 D write /Users/jab/src/bidict/.tox/py312/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:33] py312: 223 D home = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin [virtualenv/create/pyenv_cfg.py:38] py312: 223 D implementation = CPython [virtualenv/create/pyenv_cfg.py:38] py312: 223 D version_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:38] py312: 223 D virtualenv = 20.26.3 [virtualenv/create/pyenv_cfg.py:38] py312: 223 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:38] py312: 224 D base-prefix = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3 [virtualenv/create/pyenv_cfg.py:38] py312: 224 D base-exec-prefix = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3 [virtualenv/create/pyenv_cfg.py:38] py312: 224 D base-executable = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12 [virtualenv/create/pyenv_cfg.py:38] py312: 226 W install_deps> python -I -m pip install -r dev-deps/test.txt [tox/tox_env/api.py:425] Ignoring colorama: markers 'sys_platform == "win32"' don't match your environment Collecting attrs==23.2.0 (from -r dev-deps/test.txt (line 3)) Using cached attrs-23.2.0-py3-none-any.whl.metadata (9.5 kB) Collecting coverage==7.5.4 (from -r dev-deps/test.txt (line 7)) Using cached coverage-7.5.4-cp312-cp312-macosx_11_0_arm64.whl.metadata (8.2 kB) Collecting coverage-enable-subprocess==1.0 (from -r dev-deps/test.txt (line 11)) Using cached coverage_enable_subprocess-1.0-py2.py3-none-any.whl.metadata (2.4 kB) Collecting execnet==2.1.1 (from -r dev-deps/test.txt (line 13)) Using cached execnet-2.1.1-py3-none-any.whl.metadata (2.9 kB) Collecting hypothesis==6.104.1 (from -r dev-deps/test.txt (line 15)) Using cached hypothesis-6.104.1-py3-none-any.whl.metadata (6.3 kB) Collecting iniconfig==2.0.0 (from -r dev-deps/test.txt (line 17)) Using cached iniconfig-2.0.0-py3-none-any.whl.metadata (2.6 kB) Collecting mypy==1.10.1 (from -r dev-deps/test.txt (line 19)) Using cached mypy-1.10.1-cp312-cp312-macosx_11_0_arm64.whl.metadata (1.9 kB) Collecting mypy-extensions==1.0.0 (from -r dev-deps/test.txt (line 21)) Using cached mypy_extensions-1.0.0-py3-none-any.whl.metadata (1.1 kB) Collecting packaging==24.1 (from -r dev-deps/test.txt (line 23)) Using cached packaging-24.1-py3-none-any.whl.metadata (3.2 kB) Collecting pluggy==1.5.0 (from -r dev-deps/test.txt (line 25)) Using cached pluggy-1.5.0-py3-none-any.whl.metadata (4.8 kB) Collecting py-cpuinfo==9.0.0 (from -r dev-deps/test.txt (line 27)) Using cached py_cpuinfo-9.0.0-py3-none-any.whl.metadata (794 bytes) Collecting pytest==8.2.2 (from -r dev-deps/test.txt (line 29)) Using cached pytest-8.2.2-py3-none-any.whl.metadata (7.6 kB) Collecting pytest-benchmark==4.0.0 (from -r dev-deps/test.txt (line 35)) Using cached pytest_benchmark-4.0.0-py3-none-any.whl.metadata (23 kB) Collecting pytest-sphinx==0.6.3 (from -r dev-deps/test.txt (line 37)) Using cached pytest_sphinx-0.6.3-py3-none-any.whl.metadata (5.3 kB) Collecting pytest-xdist==3.6.1 (from -r dev-deps/test.txt (line 39)) Using cached pytest_xdist-3.6.1-py3-none-any.whl.metadata (4.3 kB) Collecting sortedcollections==2.1.0 (from -r dev-deps/test.txt (line 41)) Using cached sortedcollections-2.1.0-py3-none-any.whl.metadata (4.8 kB) Collecting sortedcontainers==2.4.0 (from -r dev-deps/test.txt (line 43)) Using cached sortedcontainers-2.4.0-py2.py3-none-any.whl.metadata (10 kB) Collecting typing-extensions==4.12.2 (from -r dev-deps/test.txt (line 48)) Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB) Using cached attrs-23.2.0-py3-none-any.whl (60 kB) Using cached coverage-7.5.4-cp312-cp312-macosx_11_0_arm64.whl (205 kB) Using cached coverage_enable_subprocess-1.0-py2.py3-none-any.whl (4.0 kB) Using cached execnet-2.1.1-py3-none-any.whl (40 kB) Using cached hypothesis-6.104.1-py3-none-any.whl (462 kB) Using cached iniconfig-2.0.0-py3-none-any.whl (5.9 kB) Using cached mypy-1.10.1-cp312-cp312-macosx_11_0_arm64.whl (9.9 MB) Using cached mypy_extensions-1.0.0-py3-none-any.whl (4.7 kB) Using cached packaging-24.1-py3-none-any.whl (53 kB) Using cached pluggy-1.5.0-py3-none-any.whl (20 kB) Using cached py_cpuinfo-9.0.0-py3-none-any.whl (22 kB) Using cached pytest-8.2.2-py3-none-any.whl (339 kB) Using cached pytest_benchmark-4.0.0-py3-none-any.whl (43 kB) Using cached pytest_sphinx-0.6.3-py3-none-any.whl (10 kB) Using cached pytest_xdist-3.6.1-py3-none-any.whl (46 kB) Using cached sortedcollections-2.1.0-py3-none-any.whl (9.5 kB) Using cached sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB) Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB) Installing collected packages: sortedcontainers, py-cpuinfo, typing-extensions, sortedcollections, pluggy, packaging, mypy-extensions, iniconfig, execnet, coverage, attrs, pytest, mypy, hypothesis, coverage-enable-subprocess, pytest-xdist, pytest-sphinx, pytest-benchmark Successfully installed attrs-23.2.0 coverage-7.5.4 coverage-enable-subprocess-1.0 execnet-2.1.1 hypothesis-6.104.1 iniconfig-2.0.0 mypy-1.10.1 mypy-extensions-1.0.0 packaging-24.1 pluggy-1.5.0 py-cpuinfo-9.0.0 pytest-8.2.2 pytest-benchmark-4.0.0 pytest-sphinx-0.6.3 pytest-xdist-3.6.1 sortedcollections-2.1.0 sortedcontainers-2.4.0 typing-extensions-4.12.2 py312: 3223 I exit 0 (3.00 seconds) /Users/jab/src/bidict> python -I -m pip install -r dev-deps/test.txt pid=16418 [tox/execute/api.py:286] .pkg: 3225 I find interpreter for spec PythonSpec(path=/Users/jab/src/bidict/.venv/bin/python) [virtualenv/discovery/builtin.py:72] .pkg: 3225 I proposed PythonInfo(spec=CPython3.12.3.final.0-64, system=/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12, exe=/Users/jab/src/bidict/.venv/bin/python, platform=darwin, version='3.12.3 (main, Apr 9 2024, 08:09:14) [Clang 16.0.6 ]', encoding_fs_io=utf-8-utf-8) [virtualenv/discovery/builtin.py:79] .pkg: 3225 D accepted PythonInfo(spec=CPython3.12.3.final.0-64, system=/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12, exe=/Users/jab/src/bidict/.venv/bin/python, platform=darwin, version='3.12.3 (main, Apr 9 2024, 08:09:14) [Clang 16.0.6 ]', encoding_fs_io=utf-8-utf-8) [virtualenv/discovery/builtin.py:81] .pkg: 3226 I create virtual environment via CPython3Posix(dest=/Users/jab/src/bidict/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:50] .pkg: 3226 D create folder /Users/jab/src/bidict/.tox/.pkg/bin [virtualenv/util/path/_sync.py:12] .pkg: 3226 D create folder /Users/jab/src/bidict/.tox/.pkg/lib/python3.12/site-packages [virtualenv/util/path/_sync.py:12] .pkg: 3226 D write /Users/jab/src/bidict/.tox/.pkg/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:33] .pkg: 3226 D home = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin [virtualenv/create/pyenv_cfg.py:38] .pkg: 3226 D implementation = CPython [virtualenv/create/pyenv_cfg.py:38] .pkg: 3226 D version_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:38] .pkg: 3226 D virtualenv = 20.26.3 [virtualenv/create/pyenv_cfg.py:38] .pkg: 3226 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:38] .pkg: 3227 D base-prefix = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3 [virtualenv/create/pyenv_cfg.py:38] .pkg: 3227 D base-exec-prefix = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3 [virtualenv/create/pyenv_cfg.py:38] .pkg: 3227 D base-executable = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12 [virtualenv/create/pyenv_cfg.py:38] .pkg: 3227 D symlink /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12 to /Users/jab/src/bidict/.tox/.pkg/bin/python [virtualenv/util/path/_sync.py:32] .pkg: 3227 D create virtualenv import hook file /Users/jab/src/bidict/.tox/.pkg/lib/python3.12/site-packages/_virtualenv.pth [virtualenv/create/via_global_ref/api.py:91] .pkg: 3227 D create /Users/jab/src/bidict/.tox/.pkg/lib/python3.12/site-packages/_virtualenv.py [virtualenv/create/via_global_ref/api.py:94] .pkg: 3227 D ============================== target debug ============================== [virtualenv/run/session.py:52] .pkg: 3227 D debug via /Users/jab/src/bidict/.tox/.pkg/bin/python /Users/jab/src/bidict/.venv/lib/python3.12/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:200] .pkg: 3227 D { "sys": { "executable": "/Users/jab/src/bidict/.tox/.pkg/bin/python", "_base_executable": "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12", "prefix": "/Users/jab/src/bidict/.tox/.pkg", "base_prefix": "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3", "real_prefix": null, "exec_prefix": "/Users/jab/src/bidict/.tox/.pkg", "base_exec_prefix": "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3", "path": [ "/nix/store/xkaihl9v2k0jgsxyv8kgsxxms731la4d-python3-3.8.18/lib/python3.8/site-packages", "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/lib/python312.zip", "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/lib/python3.12", "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/lib/python3.12/lib-dynload", "/Users/jab/src/bidict/.tox/.pkg/lib/python3.12/site-packages" ], "meta_path": [ "", "", "", "" ], "fs_encoding": "utf-8", "io_encoding": "utf-8" }, "version": "3.12.3 (main, Apr 9 2024, 08:09:14) [Clang 16.0.6 ]", "makefile_filename": "/nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/lib/python3.12/config-3.12-darwin/Makefile", "os": "", "site": "", "datetime": "", "math": "", "json": "" } [virtualenv/run/session.py:53] .pkg: 3252 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/Users/jab/Library/Application Support/virtualenv) [virtualenv/run/session.py:57] .pkg: 3252 D got embed update of distribution %s from ('pip', PosixPath('/Users/jab/Library/Application Support/virtualenv/wheel/3.12/embed/3/pip.json')) [virtualenv/app_data/via_disk_folder.py:131] .pkg: 3253 D using periodically updated wheel /Users/jab/Library/Application Support/virtualenv/wheel/house/pip-24.0-py3-none-any.whl [virtualenv/seed/wheels/periodic_update.py:48] .pkg: 3253 D install pip from wheel /Users/jab/Library/Application Support/virtualenv/wheel/house/pip-24.0-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:49] .pkg: 3253 D copy directory /Users/jab/Library/Application Support/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-24.0-py3-none-any/pip-24.0.dist-info to /Users/jab/src/bidict/.tox/.pkg/lib/python3.12/site-packages/pip-24.0.dist-info [virtualenv/util/path/_sync.py:40] .pkg: 3254 D copy directory /Users/jab/Library/Application Support/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-24.0-py3-none-any/pip to /Users/jab/src/bidict/.tox/.pkg/lib/python3.12/site-packages/pip [virtualenv/util/path/_sync.py:40] .pkg: 3330 D copy /Users/jab/Library/Application Support/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-24.0-py3-none-any/pip-24.0.virtualenv to /Users/jab/src/bidict/.tox/.pkg/lib/python3.12/site-packages/pip-24.0.virtualenv [virtualenv/util/path/_sync.py:40] .pkg: 3331 D generated console scripts pip-3.12 pip3 pip3.12 pip [virtualenv/seed/embed/via_app_data/pip_install/base.py:43] .pkg: 3331 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [virtualenv/run/session.py:63] .pkg: 3332 D write /Users/jab/src/bidict/.tox/.pkg/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:33] .pkg: 3332 D home = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin [virtualenv/create/pyenv_cfg.py:38] .pkg: 3333 D implementation = CPython [virtualenv/create/pyenv_cfg.py:38] .pkg: 3333 D version_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:38] .pkg: 3333 D virtualenv = 20.26.3 [virtualenv/create/pyenv_cfg.py:38] .pkg: 3333 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:38] .pkg: 3333 D base-prefix = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3 [virtualenv/create/pyenv_cfg.py:38] .pkg: 3333 D base-exec-prefix = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3 [virtualenv/create/pyenv_cfg.py:38] .pkg: 3333 D base-executable = /nix/store/65ackbgqn02p6fy75rksjbp17zj6440j-python3-3.12.3/bin/python3.12 [virtualenv/create/pyenv_cfg.py:38] .pkg: 3333 W install_requires> python -I -m pip install 'setuptools>=40.9.0' [tox/tox_env/api.py:425] Collecting setuptools>=40.9.0 Using cached setuptools-70.1.1-py3-none-any.whl.metadata (6.0 kB) Using cached setuptools-70.1.1-py3-none-any.whl (883 kB) Installing collected packages: setuptools Successfully installed setuptools-70.1.1 .pkg: 4526 I exit 0 (1.19 seconds) /Users/jab/src/bidict> python -I -m pip install 'setuptools>=40.9.0' pid=16421 [tox/execute/api.py:286] .pkg: 4527 W _optional_hooks> python /Users/jab/src/bidict/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta [tox/tox_env/api.py:425] 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 /tmp/pep517__optional_hooks-se8m7lma.json .pkg: 4619 I exit None (0.09 seconds) /Users/jab/src/bidict> python /Users/jab/src/bidict/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta pid=16423 [tox/execute/api.py:286] .pkg: 4748 W get_requires_for_build_wheel> python /Users/jab/src/bidict/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta [tox/tox_env/api.py:425] Backend: run command get_requires_for_build_wheel with args {'config_settings': None} running egg_info writing bidict.egg-info/PKG-INFO writing dependency_links to bidict.egg-info/dependency_links.txt writing top-level names to bidict.egg-info/top_level.txt reading manifest file 'bidict.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*' found under directory 'docs' adding license file 'LICENSE' writing manifest file 'bidict.egg-info/SOURCES.txt' Backend: Wrote response {'return': []} to /tmp/pep517_get_requires_for_build_wheel-5m_xpdxg.json .pkg: 4890 I exit None (0.14 seconds) /Users/jab/src/bidict> python /Users/jab/src/bidict/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta pid=16424 [tox/execute/api.py:286] .pkg: 5008 W build_wheel> python /Users/jab/src/bidict/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta [tox/tox_env/api.py:425] Backend: run command build_wheel with args {'wheel_directory': '/Users/jab/src/bidict/.tox/.pkg/dist', 'config_settings': None, 'metadata_directory': None} running bdist_wheel running build running build_py copying bidict/_base.py -> build/lib/bidict copying bidict/_orderedbase.py -> build/lib/bidict copying bidict/metadata.py -> build/lib/bidict copying bidict/_bidict.py -> build/lib/bidict copying bidict/_typing.py -> build/lib/bidict copying bidict/_abc.py -> build/lib/bidict copying bidict/_exc.py -> build/lib/bidict copying bidict/_orderedbidict.py -> build/lib/bidict copying bidict/__init__.py -> build/lib/bidict copying bidict/_frozen.py -> build/lib/bidict copying bidict/_iter.py -> build/lib/bidict copying bidict/_dup.py -> build/lib/bidict running egg_info writing bidict.egg-info/PKG-INFO writing dependency_links to bidict.egg-info/dependency_links.txt writing top-level names to bidict.egg-info/top_level.txt reading manifest file 'bidict.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*' found under directory 'docs' adding license file 'LICENSE' writing manifest file 'bidict.egg-info/SOURCES.txt' copying bidict/py.typed -> build/lib/bidict installing to build/bdist.macosx-11.0-arm64/wheel running install running install_lib creating build/bdist.macosx-11.0-arm64/wheel creating build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_base.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_orderedbase.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/metadata.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_bidict.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_typing.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_abc.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_exc.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_orderedbidict.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_frozenbidict.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/__init__.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_frozen.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_named.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/py.typed -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_frozenordered.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_iter.py -> build/bdist.macosx-11.0-arm64/wheel/bidict copying build/lib/bidict/_dup.py -> build/bdist.macosx-11.0-arm64/wheel/bidict running install_egg_info Copying bidict.egg-info to build/bdist.macosx-11.0-arm64/wheel/bidict-0.23.2.dev0-py3.12.egg-info running install_scripts creating build/bdist.macosx-11.0-arm64/wheel/bidict-0.23.2.dev0.dist-info/WHEEL creating '/Users/jab/src/bidict/.tox/.pkg/dist/.tmp-n2mqcw96/bidict-0.23.2.dev0-py3-none-any.whl' and adding 'build/bdist.macosx-11.0-arm64/wheel' to it adding 'bidict/__init__.py' adding 'bidict/_abc.py' adding 'bidict/_base.py' adding 'bidict/_bidict.py' adding 'bidict/_dup.py' adding 'bidict/_exc.py' adding 'bidict/_frozen.py' adding 'bidict/_frozenbidict.py' adding 'bidict/_frozenordered.py' adding 'bidict/_iter.py' adding 'bidict/_named.py' adding 'bidict/_orderedbase.py' adding 'bidict/_orderedbidict.py' adding 'bidict/_typing.py' adding 'bidict/metadata.py' adding 'bidict/py.typed' adding 'bidict-0.23.2.dev0.dist-info/LICENSE' adding 'bidict-0.23.2.dev0.dist-info/METADATA' adding 'bidict-0.23.2.dev0.dist-info/WHEEL' adding 'bidict-0.23.2.dev0.dist-info/top_level.txt' adding 'bidict-0.23.2.dev0.dist-info/RECORD' removing build/bdist.macosx-11.0-arm64/wheel Backend: Wrote response {'return': 'bidict-0.23.2.dev0-py3-none-any.whl'} to /tmp/pep517_build_wheel-2pz3i1rw.json .pkg: 5171 I exit None (0.16 seconds) /Users/jab/src/bidict> python /Users/jab/src/bidict/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta pid=16425 [tox/execute/api.py:286] .pkg: 5290 D package .tmp/package/13/bidict-0.23.2.dev0-py3-none-any.whl links to .pkg/dist/bidict-0.23.2.dev0-py3-none-any.whl (/Users/jab/src/bidict/.tox) [tox/util/file_view.py:39] py312: 5291 W install_package> python -I -m pip install --force-reinstall --no-deps /Users/jab/src/bidict/.tox/.tmp/package/13/bidict-0.23.2.dev0-py3-none-any.whl [tox/tox_env/api.py:425] Processing ./.tox/.tmp/package/13/bidict-0.23.2.dev0-py3-none-any.whl Installing collected packages: bidict Successfully installed bidict-0.23.2.dev0 py312: 5671 I exit 0 (0.38 seconds) /Users/jab/src/bidict> python -I -m pip install --force-reinstall --no-deps /Users/jab/src/bidict/.tox/.tmp/package/13/bidict-0.23.2.dev0-py3-none-any.whl pid=16426 [tox/execute/api.py:286] py312: 5671 W commands[0]> mypy bidict tests [tox/tox_env/api.py:425] Success: no issues found in 16 source files py312: 9664 I exit 0 (3.99 seconds) /Users/jab/src/bidict> mypy bidict tests pid=16428 [tox/execute/api.py:286] py312: 9664 W commands[1]> pytest [tox/tox_env/api.py:425] /Users/jab/src/bidict/.tox/py312/lib/python3.12/site-packages/pytest_benchmark/logger.py:46: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) ================================================================================================================================== test session starts ================================================================================================================================== platform darwin -- Python 3.12.3, pytest-8.2.2, pluggy-1.5.0 -- /Users/jab/src/bidict/.tox/py312/bin/python cachedir: .tox/py312/.pytest_cache hypothesis profile 'less-examples' -> max_examples=20, stateful_step_count=20, database=DirectoryBasedExampleDatabase(PosixPath('/Users/jab/src/bidict/.hypothesis/examples')) benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000) rootdir: /Users/jab/src/bidict configfile: pytest.ini testpaths: bidict, tests, docs plugins: hypothesis-6.104.1, sphinx-0.6.3, benchmark-4.0.0, xdist-3.6.1 12 workers [122 items] scheduling tests via LoadScheduling bidict/__init__.py::bidict tests/test_bidict.py::test_move_to_end_missing_key[UserOrderedBi] [gw10] [ 0%] PASSED tests/test_bidict.py::test_move_to_end_missing_key[UserOrderedBi] tests/test_bidict.py::test_init_and_update_with_bad_args[bidict] [gw1] [ 1%] PASSED tests/test_bidict.py::test_init_and_update_with_bad_args[bidict] tests/test_bidict.py::test_pop_missing_key[bidict] [gw7] [ 2%] PASSED tests/test_bidict.py::test_pop_missing_key[bidict] tests/test_bidict.py::test_init_and_update_with_bad_args[UserOrderedBi] [gw3] [ 3%] PASSED tests/test_bidict.py::test_init_and_update_with_bad_args[UserOrderedBi] tests/test_bidict.py::test_pop_missing_key[UserBiNotOwnInv] [gw9] [ 4%] PASSED tests/test_bidict.py::test_pop_missing_key[UserBiNotOwnInv] tests/test_bidict.py::test_pop_missing_key[UserBi] [gw8] [ 4%] PASSED tests/test_bidict.py::test_pop_missing_key[UserBi] tests/test_bidict.py::test_eq_defers_to_other_eq[frozenbidict] [gw11] [ 5%] PASSED tests/test_bidict.py::test_eq_defers_to_other_eq[frozenbidict] tests/test_bidict.py::test_inv_attrs_readonly[bidict] [gw4] [ 6%] PASSED tests/test_bidict.py::test_inv_attrs_readonly[bidict] tests/test_bidict.py::test_inv_attrs_readonly[UserOrderedBi] [gw6] [ 7%] PASSED tests/test_bidict.py::test_inv_attrs_readonly[UserOrderedBi] tests/test_bidict.py::test_init_and_update_with_bad_args[OrderedBidict] [gw2] [ 8%] PASSED tests/test_bidict.py::test_init_and_update_with_bad_args[OrderedBidict] tests/test_bidict.py::test_inv_attrs_readonly[OrderedBidict] [gw5] [ 9%] PASSED tests/test_bidict.py::test_inv_attrs_readonly[OrderedBidict] tests/test_bidict.py::test_pop_missing_key[OrderedBidict] [gw7] [ 9%] PASSED tests/test_bidict.py::test_pop_missing_key[OrderedBidict] tests/test_bidict.py::test_eq_and_or_with_non_mapping[bidict-non_mapping2] tests/test_bidict.py::test_eq_defers_to_other_eq[bidict] tests/test_bidict.py::test_pop_missing_key[UserOrderedBi] [gw8] [ 10%] PASSED tests/test_bidict.py::test_pop_missing_key[UserOrderedBi] tests/test_bidict.py::test_eq_and_or_with_non_mapping[OrderedBidict-None] tests/test_bidict.py::test_inv_attrs_readonly[frozenbidict] tests/test_bidict.py::test_move_to_end_missing_key[OrderedBidict] [gw9] [ 11%] PASSED tests/test_bidict.py::test_move_to_end_missing_key[OrderedBidict] tests/test_bidict.py::test_eq_and_or_with_non_mapping[frozenbidict-non_mapping6] [gw9] [ 12%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[frozenbidict-non_mapping6] tests/test_bidict.py::test_init_and_update_with_bad_args[UserBiNotOwnInv] [gw3] [ 13%] PASSED tests/test_bidict.py::test_init_and_update_with_bad_args[UserBiNotOwnInv] tests/test_bidict.py::test_eq_and_or_with_non_mapping[frozenbidict-None] [gw3] [ 13%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[frozenbidict-None] tests/test_bidict.py::test_eq_defers_to_other_eq[OrderedBidict] [gw11] [ 14%] PASSED tests/test_bidict.py::test_eq_defers_to_other_eq[OrderedBidict] tests/test_bidict.py::test_eq_and_or_with_non_mapping[OrderedBidict-non_mapping10] [gw11] [ 15%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[OrderedBidict-non_mapping10] tests/test_bidict.py::test_init_and_update_with_bad_args[frozenbidict] [gw1] [ 16%] PASSED tests/test_bidict.py::test_init_and_update_with_bad_args[frozenbidict] tests/test_bidict.py::test_eq_and_or_with_non_mapping[bidict-None] [gw1] [ 17%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[bidict-None] [gw8] [ 18%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[OrderedBidict-None] tests/test_bidict.py::test_inv_attrs_readonly[UserBi] [gw5] [ 18%] PASSED tests/test_bidict.py::test_inv_attrs_readonly[UserBi] tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserOrderedBi-non_mapping18] [gw5] [ 19%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserOrderedBi-non_mapping18] [gw10] [ 20%] PASSED tests/test_bidict.py::test_eq_defers_to_other_eq[bidict] tests/test_bidict.py::test_eq_defers_to_other_eq[UserBi] [gw10] [ 21%] PASSED tests/test_bidict.py::test_eq_defers_to_other_eq[UserBi] tests/test_bidict.py::test_eq_defers_to_other_eq[UserOrderedBi] [gw10] [ 22%] PASSED tests/test_bidict.py::test_eq_defers_to_other_eq[UserOrderedBi] tests/test_bidict.py::test_inv_attrs_readonly[UserBiNotOwnInv] [gw6] [ 22%] PASSED tests/test_bidict.py::test_inv_attrs_readonly[UserBiNotOwnInv] tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBi-non_mapping14] [gw6] [ 23%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBi-non_mapping14] [gw4] [ 24%] PASSED tests/test_bidict.py::test_inv_attrs_readonly[frozenbidict] tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBi-None] [gw4] [ 25%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBi-None] tests/test_bidict.py::test_init_and_update_with_bad_args[UserBi] [gw2] [ 26%] PASSED tests/test_bidict.py::test_init_and_update_with_bad_args[UserBi] tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserOrderedBi-None] [gw2] [ 27%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserOrderedBi-None] [gw7] [ 27%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[bidict-non_mapping2] tests/test_bidict.py::test_eq_and_or_with_non_mapping[frozenbidict-non_mapping7] tests/test_bidict.py::test_eq_and_or_with_non_mapping[frozenbidict-1] [gw9] [ 28%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[frozenbidict-non_mapping7] tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBiNotOwnInv-None] tests/test_bidict.py::test_eq_and_or_with_non_mapping[OrderedBidict-non_mapping11] [gw11] [ 29%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[OrderedBidict-non_mapping11] tests/test_bidict.py::test_eq_and_or_with_non_mapping[bidict-1] [gw1] [ 30%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[bidict-1] [gw0] [ 31%] PASSED bidict/__init__.py::bidict tests/test_bidict.py::test_eq_and_or_with_non_mapping[OrderedBidict-1] [gw8] [ 31%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[OrderedBidict-1] [gw9] [ 32%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBiNotOwnInv-None] [gw3] [ 33%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[frozenbidict-1] tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBiNotOwnInv-non_mapping22] [gw3] [ 34%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBiNotOwnInv-non_mapping22] tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserOrderedBi-non_mapping19] tests/test_bidict.py::test_eq_defers_to_other_eq[UserBiNotOwnInv] tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBi-non_mapping15] [gw5] [ 35%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserOrderedBi-non_mapping19] tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBi-1] [gw10] [ 36%] PASSED tests/test_bidict.py::test_eq_defers_to_other_eq[UserBiNotOwnInv] [gw6] [ 36%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBi-non_mapping15] [gw4] [ 37%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBi-1] tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserOrderedBi-1] tests/test_bidict.py::test_eq_and_or_with_non_mapping[bidict-non_mapping3] tests/test_bidict.py::test_equals_order_sensitive [gw2] [ 38%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserOrderedBi-1] [gw7] [ 39%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[bidict-non_mapping3] tests/test_bidict.py::test_inverted tests/test_bidict.py::BidictStateMachineTest::runTest <- .tox/py312/lib/python3.12/site-packages/hypothesis/stateful.py tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBiNotOwnInv-1] tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup0] tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBiNotOwnInv-non_mapping23] [gw3] [ 40%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBiNotOwnInv-non_mapping23] tests/test_bidict.py::test_frozenbidicts_hashable [gw9] [ 40%] PASSED tests/test_bidict.py::test_eq_and_or_with_non_mapping[UserBiNotOwnInv-1] tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup2] tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup4] tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup3] tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup1] tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup5] tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup10] tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup11] [gw8] [ 41%] PASSED tests/test_bidict.py::test_frozenbidicts_hashable [gw5] [ 42%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup0] [gw10] [ 43%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup1] tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup12] tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup9] tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup13] [gw2] [ 44%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup4] [gw1] [ 45%] PASSED tests/test_bidict.py::test_inverted [gw4] [ 45%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup3] tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup7] tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup15] [gw6] [ 46%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup2] [gw7] [ 47%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup5] tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup16] tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup14] tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup17] [gw1] [ 48%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup7] [gw11] [ 49%] PASSED tests/test_bidict.py::test_equals_order_sensitive tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup24] tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup6] [gw9] [ 50%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup10] tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup18] [gw8] [ 50%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup9] [gw3] [ 51%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup11] tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup20] tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup19] [gw11] [ 52%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup6] [gw10] [ 53%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup13] [gw5] [ 54%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup12] tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup29] tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup22] tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup21] [gw7] [ 54%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup17] [gw1] [ 55%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup24] [gw2] [ 56%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup16] [gw4] [ 57%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup15] tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup27] tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup28] tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup23] tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup25] [gw9] [ 58%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup18] [gw6] [ 59%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[OrderedBidict-on_dup14] tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup30] tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup26] [gw8] [ 59%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup20] tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup31] [gw3] [ 60%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup19] [gw5] [ 61%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup21] tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup32] tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup35] [gw10] [ 62%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup22] [gw2] [ 63%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup23] tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup34] tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup38] [gw6] [ 63%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup26] tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup41] [gw4] [ 64%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBi-on_dup25] tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup39] [gw7] [ 65%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup27] tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup36] [gw11] [ 66%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup29] tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup33] [gw2] [ 67%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup38] tests/test_bidict.py::test_pickle_dynamically_generated_inverse_bidict [gw7] [ 68%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup36] tests/test_bidict.py::test_bidicts_freed_on_zero_refcount [gw6] [ 68%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup41] tests/test_bidict.py::test_abstract_bimap_init_fails [gw2] [ 69%] PASSED tests/test_bidict.py::test_pickle_dynamically_generated_inverse_bidict tests/test_bidict.py::test_orderedbidict_nodes_consistent [gw6] [ 70%] PASSED tests/test_bidict.py::test_abstract_bimap_init_fails [gw8] [ 71%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup31] [gw7] [ 72%] PASSED tests/test_bidict.py::test_bidicts_freed_on_zero_refcount [gw4] [ 72%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup39] tests/test_bidict.py::test_abc_slots tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup42] [gw1] [ 73%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup28] tests/test_bidict.py::test_inv_aliases_inverse[bidict] [gw7] [ 74%] PASSED tests/test_bidict.py::test_abc_slots [gw6] [ 75%] PASSED tests/test_bidict.py::test_inv_aliases_inverse[bidict] tests/test_bidict.py::test_bimap_bad_inverse tests/test_bidict.py::test_inv_aliases_inverse[UserBi] tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup37] tests/test_bidict.py::test_inv_aliases_inverse[UserOrderedBi] [gw4] [ 76%] PASSED tests/test_bidict.py::test_bimap_bad_inverse [gw6] [ 77%] PASSED tests/test_bidict.py::test_inv_aliases_inverse[UserOrderedBi] [gw7] [ 77%] PASSED tests/test_bidict.py::test_inv_aliases_inverse[UserBi] [gw9] [ 78%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup30] docs/addendum.rst::addendum.rst docs/README.rst::README.rst tests/test_bidict.py::test_inv_aliases_inverse[UserBiNotOwnInv] tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup40] [gw2] [ 79%] PASSED tests/test_bidict.py::test_orderedbidict_nodes_consistent [gw4] [ 80%] PASSED tests/test_bidict.py::test_inv_aliases_inverse[UserBiNotOwnInv] tests/test_bidict.py::test_inv_aliases_inverse[frozenbidict] [gw2] [ 81%] PASSED tests/test_bidict.py::test_inv_aliases_inverse[frozenbidict] [gw6] [ 81%] PASSED docs/addendum.rst::addendum.rst docs/other-bidict-types.rst::other-bidict-types.rst [gw7] [ 82%] PASSED docs/README.rst::README.rst docs/basic-usage.rst::basic-usage.rst docs/intro.rst::intro.rst [gw3] [ 83%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup32] docs/extending.rst::extending.rst [gw2] [ 84%] PASSED docs/other-bidict-types.rst::other-bidict-types.rst [gw8] [ 85%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup42] [gw4] [ 86%] PASSED docs/intro.rst::intro.rst [gw6] [ 86%] PASSED docs/basic-usage.rst::basic-usage.rst [gw7] [ 87%] PASSED docs/extending.rst::extending.rst tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup43] docs/other-functionality.rst::other-functionality.rst tests/test_bidict.py::test_inv_aliases_inverse[OrderedBidict] [gw8] [ 88%] PASSED tests/test_bidict.py::test_inv_aliases_inverse[OrderedBidict] [gw4] [ 89%] PASSED docs/other-functionality.rst::other-functionality.rst [gw1] [ 90%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup37] [gw10] [ 90%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup34] tests/test_bidict.py::test_static_types [gw1] [ 91%] PASSED tests/test_bidict.py::test_static_types tests/test_bidict.py::test_pickle_orderedbi_whose_order_disagrees_with_fwdm [gw10] [ 92%] PASSED tests/test_bidict.py::test_pickle_orderedbi_whose_order_disagrees_with_fwdm [gw11] [ 93%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup33] tests/test_bidict.py::test_orderedbidict_nodes_freed_on_zero_refcount [gw5] [ 94%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup35] tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup44] [gw9] [ 95%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup40] docs/learning-from-bidict.rst::learning-from-bidict.rst [gw3] [ 95%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup43] [gw11] [ 96%] PASSED tests/test_bidict.py::test_orderedbidict_nodes_freed_on_zero_refcount [gw9] [ 97%] PASSED docs/learning-from-bidict.rst::learning-from-bidict.rst [gw5] [ 98%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[UserBiNotOwnInv-on_dup44] [gw0] [ 99%] PASSED tests/test_bidict.py::BidictStateMachineTest::runTest <- .tox/py312/lib/python3.12/site-packages/hypothesis/stateful.py tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup8] [gw0] [100%] PASSED tests/test_bidict.py::test_putall_matches_bulk_put[bidict-on_dup8] ================================================================================================================================== slowest 5 durations ================================================================================================================================== 9.30s call tests/test_bidict.py::BidictStateMachineTest::runTest 0.07s call tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup35] 0.06s call tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup30] 0.06s call tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup28] 0.06s call tests/test_bidict.py::test_putall_matches_bulk_put[UserOrderedBi-on_dup32] ================================================================================================================================= 122 passed in 10.98s ================================================================================================================================== py312: 21296 I exit 0 (11.63 seconds) /Users/jab/src/bidict> pytest pid=16429 [tox/execute/api.py:286] .pkg: 21297 D delete package /Users/jab/src/bidict/.tox/.tmp/package/13/bidict-0.23.2.dev0-py3-none-any.whl [tox/tox_env/python/virtual_env/package/pyproject.py:224] py312: OK (21.22=setup[5.59]+cmd[3.99,11.63] seconds) congratulations :) (21.25 seconds) ```

For now I am commenting out my tox-uv dependency. This can be reproduced by cloning https://github.com/jab/bidict, running init_dev_env, installing tox-uv the resulting .venv, then running tox.

gaborbernat commented 2 months ago

UV does not install setuptools by default, however we have a configuration called uv_seed=true with which you can enable that behavior, should you need it. So this is expected.

gaborbernat commented 2 months ago

Check our readme there's an explanation about it in there.

jab commented 2 months ago

I didn't think I needed uv_seed since (1) tox-uv was working fine without uv_seed until I upgraded uv, (2) my project uses PEP 517 build isolation and does not require pip, setuptools or wheel to be pre-installed in order for python -m build to successfully build it (I just tested again in a virtualenv with no seed packages installed to make double extra sure), (3) when I add uv_seed = true to my tox.ini and try again I still get the same error.

gaborbernat commented 2 months ago

https://github.com/tox-dev/tox-uv/releases/tag/1.9.1

jab commented 2 months ago

Looks like that did the trick, thanks for the quick fix.