2026-05-23T00:10:42,689 Created temporary directory: /tmp/pip-build-tracker-_kcz8gl2 2026-05-23T00:10:42,691 Initialized build tracking at /tmp/pip-build-tracker-_kcz8gl2 2026-05-23T00:10:42,691 Created build tracker: /tmp/pip-build-tracker-_kcz8gl2 2026-05-23T00:10:42,691 Entered build tracker: /tmp/pip-build-tracker-_kcz8gl2 2026-05-23T00:10:42,691 Created temporary directory: /tmp/pip-wheel-6_q3ntmu 2026-05-23T00:10:42,695 Created temporary directory: /tmp/pip-ephem-wheel-cache-yee3m6s6 2026-05-23T00:10:42,752 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-05-23T00:10:42,754 2 location(s) to search for versions of discotool: 2026-05-23T00:10:42,754 * https://pypi.org/simple/discotool/ 2026-05-23T00:10:42,754 * https://www.piwheels.org/simple/discotool/ 2026-05-23T00:10:42,755 Fetching project page and analyzing links: https://pypi.org/simple/discotool/ 2026-05-23T00:10:42,755 Getting page https://pypi.org/simple/discotool/ 2026-05-23T00:10:42,756 Found index url https://pypi.org/simple/ 2026-05-23T00:10:42,901 Fetched page https://pypi.org/simple/discotool/ as application/vnd.pypi.simple.v1+json 2026-05-23T00:10:42,904 Found link https://files.pythonhosted.org/packages/1a/8a/e381b374908ed4e97a7a51b3cc56f04716c859cbbb1f07de8938a71f83ea/discotool-0.3.0.tar.gz (from https://pypi.org/simple/discotool/) (requires-python:>=3.6), version: 0.3.0 2026-05-23T00:10:42,905 Found link https://files.pythonhosted.org/packages/a9/a4/27995930a69b0515ca68306423216e67d6f653d0c91643e08b7263b983f3/discotool-0.3.1.tar.gz (from https://pypi.org/simple/discotool/) (requires-python:>=3.6), version: 0.3.1 2026-05-23T00:10:42,905 Found link https://files.pythonhosted.org/packages/a6/c1/b2c50e8969192c902f2e478e98186ec4c2db84b640608582d2a8559f05ca/discotool-0.3.2.tar.gz (from https://pypi.org/simple/discotool/) (requires-python:>=3.6), version: 0.3.2 2026-05-23T00:10:42,905 Found link https://files.pythonhosted.org/packages/25/f5/c9fca72ab3fe0790cc27b18d1fe3e036bec568b43f8acfae6210d2d20e30/discotool-0.3.3.tar.gz (from https://pypi.org/simple/discotool/) (requires-python:>=3.6), version: 0.3.3 2026-05-23T00:10:42,906 Found link https://files.pythonhosted.org/packages/c6/2a/0f023c2573c0d615365d7e63ac84ccd8c0957cede8b410718820d5f0b66e/discotool-0.4.0.tar.gz (from https://pypi.org/simple/discotool/) (requires-python:>=3.6), version: 0.4.0 2026-05-23T00:10:42,906 Found link https://files.pythonhosted.org/packages/2b/af/775b4152c781c81e8f030174273e9cafd3f9c53c73b2c9ae7b66381821b0/discotool-0.5.0.tar.gz (from https://pypi.org/simple/discotool/) (requires-python:>=3.6), version: 0.5.0 2026-05-23T00:10:42,906 Found link https://files.pythonhosted.org/packages/28/1d/d5da8d27bbf43552060aa4ccdf26e6189c371882a3c828cf7ae3de1f16bd/discotool-0.5.1.tar.gz (from https://pypi.org/simple/discotool/) (requires-python:>=3.6), version: 0.5.1 2026-05-23T00:10:42,907 Found link https://files.pythonhosted.org/packages/d1/5b/40cf0182fce38c29b3003491bbe68a7cb7bee7397b98fdce6975f9037df9/discotool-0.5.2.tar.gz (from https://pypi.org/simple/discotool/) (requires-python:>=3.6), version: 0.5.2 2026-05-23T00:10:42,907 Found link https://files.pythonhosted.org/packages/07/3f/108728fe1c4c2fde550f4ec7d18e0c62e634ca3265a324995877beb69601/discotool-0.5.3.tar.gz (from https://pypi.org/simple/discotool/) (requires-python:>=3.6), version: 0.5.3 2026-05-23T00:10:42,907 Found link https://files.pythonhosted.org/packages/88/d8/b046949ac76826a68a2e9ac14368f85187cb59f4e69e2ab32a726dd334c2/discotool-0.5.4.tar.gz (from https://pypi.org/simple/discotool/) (requires-python:>=3.6), version: 0.5.4 2026-05-23T00:10:42,907 Found link https://files.pythonhosted.org/packages/0b/6b/543c77a170f072c0cd0238947ef0a2c92c26f0629918a6e71bdcccbcca80/discotool-0.5.6.tar.gz (from https://pypi.org/simple/discotool/) (requires-python:>=3.6), version: 0.5.6 2026-05-23T00:10:42,908 Skipping link: No binaries permitted for discotool: https://files.pythonhosted.org/packages/73/56/b107dc21c47353506f0145c954b0fedfb2becda365315ed326dffa3b5ce7/discotool-0.5.7-py3-none-any.whl (from https://pypi.org/simple/discotool/) (requires-python:>=3.6) 2026-05-23T00:10:42,908 Found link https://files.pythonhosted.org/packages/19/b4/fbbbf07af42638f60c402ef8ccbdb978e5a55a4cf7a94d2c712d0ad6b52f/discotool-0.5.7.tar.gz (from https://pypi.org/simple/discotool/) (requires-python:>=3.6), version: 0.5.7 2026-05-23T00:10:42,909 Fetching project page and analyzing links: https://www.piwheels.org/simple/discotool/ 2026-05-23T00:10:42,909 Getting page https://www.piwheels.org/simple/discotool/ 2026-05-23T00:10:42,910 Found index url https://www.piwheels.org/simple/ 2026-05-23T00:10:43,006 Fetched page https://www.piwheels.org/simple/discotool/ as text/html 2026-05-23T00:10:43,007 Index returned invalid data-dist-info-metadata value: 2026-05-23T00:10:43,008 Index returned invalid data-dist-info-metadata value: 2026-05-23T00:10:43,008 Index returned invalid data-dist-info-metadata value: 2026-05-23T00:10:43,008 Index returned invalid data-dist-info-metadata value: 2026-05-23T00:10:43,008 Index returned invalid data-dist-info-metadata value: 2026-05-23T00:10:43,009 Index returned invalid data-dist-info-metadata value: 2026-05-23T00:10:43,009 Index returned invalid data-dist-info-metadata value: 2026-05-23T00:10:43,009 Index returned invalid data-dist-info-metadata value: 2026-05-23T00:10:43,009 Index returned invalid data-dist-info-metadata value: 2026-05-23T00:10:43,009 Index returned invalid data-dist-info-metadata value: 2026-05-23T00:10:43,010 Index returned invalid data-dist-info-metadata value: 2026-05-23T00:10:43,010 Skipping link: No binaries permitted for discotool: https://archive1.piwheels.org/simple/discotool/discotool-0.5.6-py3-none-any.whl#sha256=2470baef1d029baf59250695b081f98f5274f236077207692404c1dab386f0f0 (from https://www.piwheels.org/simple/discotool/) (requires-python:>=3.6) 2026-05-23T00:10:43,010 Skipping link: No binaries permitted for discotool: https://archive1.piwheels.org/simple/discotool/discotool-0.5.4-py3-none-any.whl#sha256=d38e5edc3206d976dc1b216a545ab876315b3df68f02e71d8903b3b552ae6c98 (from https://www.piwheels.org/simple/discotool/) (requires-python:>=3.6) 2026-05-23T00:10:43,010 Skipping link: No binaries permitted for discotool: https://archive1.piwheels.org/simple/discotool/discotool-0.5.3-py3-none-any.whl#sha256=f3ba63d706f7b6b5b13e63c081087b7e56225d82a342ceca044de1092b56cbed (from https://www.piwheels.org/simple/discotool/) (requires-python:>=3.6) 2026-05-23T00:10:43,010 Skipping link: No binaries permitted for discotool: https://archive1.piwheels.org/simple/discotool/discotool-0.5.2-py3-none-any.whl#sha256=6a40eb3883db4cdf9ed0eb58938a4fec9bda402377d5ba8231bd4652d1c76c58 (from https://www.piwheels.org/simple/discotool/) (requires-python:>=3.6) 2026-05-23T00:10:43,010 Skipping link: No binaries permitted for discotool: https://archive1.piwheels.org/simple/discotool/discotool-0.5.1-py3-none-any.whl#sha256=5972cf30da1a7bb1506540a5081afbd7e44a85927607eb9182d452529b9f4026 (from https://www.piwheels.org/simple/discotool/) (requires-python:>=3.6) 2026-05-23T00:10:43,011 Skipping link: No binaries permitted for discotool: https://archive1.piwheels.org/simple/discotool/discotool-0.5.0-py3-none-any.whl#sha256=db77d2be84fe187a9b80e8da86b3af156c459670a1293450dbc7dfb871c1c9a0 (from https://www.piwheels.org/simple/discotool/) (requires-python:>=3.6) 2026-05-23T00:10:43,011 Skipping link: No binaries permitted for discotool: https://archive1.piwheels.org/simple/discotool/discotool-0.4.0-py3-none-any.whl#sha256=201d6d79c2204556f712de71b2cffe41db69f94aedf74a582ff61cacf77ed010 (from https://www.piwheels.org/simple/discotool/) (requires-python:>=3.6) 2026-05-23T00:10:43,011 Skipping link: No binaries permitted for discotool: https://archive1.piwheels.org/simple/discotool/discotool-0.3.3-py3-none-any.whl#sha256=9f04b8e0cb8b62dbd6206ffd72d73ce63b91d16498ad4fc710dcaf4d1921e440 (from https://www.piwheels.org/simple/discotool/) (requires-python:>=3.6) 2026-05-23T00:10:43,011 Skipping link: No binaries permitted for discotool: https://archive1.piwheels.org/simple/discotool/discotool-0.3.2-py3-none-any.whl#sha256=f661559f9cd87cf3b6fa00514011e88d706184e89e18604487d004649563772f (from https://www.piwheels.org/simple/discotool/) (requires-python:>=3.6) 2026-05-23T00:10:43,011 Skipping link: No binaries permitted for discotool: https://archive1.piwheels.org/simple/discotool/discotool-0.3.1-py3-none-any.whl#sha256=643411602535c1e517bbd36c490f218c437592ccb549ed0f6e12eaed98096b61 (from https://www.piwheels.org/simple/discotool/) (requires-python:>=3.6) 2026-05-23T00:10:43,011 Skipping link: No binaries permitted for discotool: https://archive1.piwheels.org/simple/discotool/discotool-0.3.0-py3-none-any.whl#sha256=8c88c6ed95a3dab0c9210f6cbdd4fa16530fa5431490450887ea5200a4ae349c (from https://www.piwheels.org/simple/discotool/) (requires-python:>=3.6) 2026-05-23T00:10:43,011 Skipping link: not a file: https://www.piwheels.org/simple/discotool/ 2026-05-23T00:10:43,012 Skipping link: not a file: https://pypi.org/simple/discotool/ 2026-05-23T00:10:43,036 Given no hashes to check 1 links for project 'discotool': discarding no candidates 2026-05-23T00:10:43,037 Collecting discotool==0.5.7 2026-05-23T00:10:43,039 Created temporary directory: /tmp/pip-unpack-azm3xgc_ 2026-05-23T00:10:43,100 Downloading discotool-0.5.7.tar.gz (587 kB) 2026-05-23T00:10:43,383 Added discotool==0.5.7 from https://files.pythonhosted.org/packages/19/b4/fbbbf07af42638f60c402ef8ccbdb978e5a55a4cf7a94d2c712d0ad6b52f/discotool-0.5.7.tar.gz to build tracker '/tmp/pip-build-tracker-_kcz8gl2' 2026-05-23T00:10:43,385 Running setup.py (path:/tmp/pip-wheel-6_q3ntmu/discotool_e1acc9dcd52b487192665fb5ac39296c/setup.py) egg_info for package discotool 2026-05-23T00:10:43,386 Created temporary directory: /tmp/pip-pip-egg-info-b5c8pssw 2026-05-23T00:10:43,386 Preparing metadata (setup.py): started 2026-05-23T00:10:43,387 Running command python setup.py egg_info 2026-05-23T00:10:44,044 /usr/local/lib/python3.13/dist-packages/setuptools/__init__.py:92: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. 2026-05-23T00:10:44,045 !! 2026-05-23T00:10:44,045 ******************************************************************************** 2026-05-23T00:10:44,045 Requirements should be satisfied by a PEP 517 installer. 2026-05-23T00:10:44,045 If you are using pip, you can try `pip install --use-pep517`. 2026-05-23T00:10:44,045 This deprecation is overdue, please update your project and remove deprecated 2026-05-23T00:10:44,045 calls to avoid build errors in the future. 2026-05-23T00:10:44,046 ******************************************************************************** 2026-05-23T00:10:44,046 !! 2026-05-23T00:10:44,046 dist.fetch_build_eggs(dist.setup_requires) 2026-05-23T00:10:47,037 Traceback (most recent call last): 2026-05-23T00:10:47,043 File "", line 2, in 2026-05-23T00:10:47,043 exec(compile(''' 2026-05-23T00:10:47,043 ~~~~^^^^^^^^^^^^ 2026-05-23T00:10:47,043 # This is -- a caller that pip uses to run setup.py 2026-05-23T00:10:47,044 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,044 ...<32 lines>... 2026-05-23T00:10:47,044 exec(compile(setup_py_code, filename, "exec")) 2026-05-23T00:10:47,044 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,044 ''' % ('/tmp/pip-wheel-6_q3ntmu/discotool_e1acc9dcd52b487192665fb5ac39296c/setup.py',), "", "exec")) 2026-05-23T00:10:47,044 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,044 File "", line 35, in 2026-05-23T00:10:47,045 File "/tmp/pip-wheel-6_q3ntmu/discotool_e1acc9dcd52b487192665fb5ac39296c/setup.py", line 44, in 2026-05-23T00:10:47,045 setuptools.setup( 2026-05-23T00:10:47,045 ~~~~~~~~~~~~~~~~^ 2026-05-23T00:10:47,045 name="discotool", 2026-05-23T00:10:47,045 ^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,045 ...<28 lines>... 2026-05-23T00:10:47,045 keywords="circuitpython, micropython", 2026-05-23T00:10:47,046 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,046 ) 2026-05-23T00:10:47,046 ^ 2026-05-23T00:10:47,046 File "/usr/local/lib/python3.13/dist-packages/setuptools/__init__.py", line 117, in setup 2026-05-23T00:10:47,046 return distutils.core.setup(**attrs) # type: ignore[return-value] 2026-05-23T00:10:47,046 ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ 2026-05-23T00:10:47,046 File "/usr/local/lib/python3.13/dist-packages/setuptools/_distutils/core.py", line 148, in setup 2026-05-23T00:10:47,046 _setup_distribution = dist = klass(attrs) 2026-05-23T00:10:47,047 ~~~~~^^^^^^^ 2026-05-23T00:10:47,047 File "/usr/local/lib/python3.13/dist-packages/setuptools/dist.py", line 321, in __init__ 2026-05-23T00:10:47,047 _Distribution.__init__(self, dist_attrs) 2026-05-23T00:10:47,047 ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,047 File "/usr/local/lib/python3.13/dist-packages/setuptools/_distutils/dist.py", line 307, in __init__ 2026-05-23T00:10:47,047 self.finalize_options() 2026-05-23T00:10:47,047 ~~~~~~~~~~~~~~~~~~~~~^^ 2026-05-23T00:10:47,047 File "/usr/local/lib/python3.13/dist-packages/setuptools/dist.py", line 789, in finalize_options 2026-05-23T00:10:47,048 for ep in sorted(loaded, key=by_order): 2026-05-23T00:10:47,048 ~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,048 File "/usr/local/lib/python3.13/dist-packages/setuptools/dist.py", line 788, in 2026-05-23T00:10:47,048 loaded = map(lambda e: e.load(), filtered) 2026-05-23T00:10:47,048 ~~~~~~^^ 2026-05-23T00:10:47,048 File "/usr/lib/python3.13/importlib/metadata/__init__.py", line 179, in load 2026-05-23T00:10:47,048 module = import_module(match.group('module')) 2026-05-23T00:10:47,049 File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module 2026-05-23T00:10:47,049 return _bootstrap._gcd_import(name[level:], package, level) 2026-05-23T00:10:47,049 ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,049 File "", line 1387, in _gcd_import 2026-05-23T00:10:47,049 File "", line 1360, in _find_and_load 2026-05-23T00:10:47,049 File "", line 1310, in _find_and_load_unlocked 2026-05-23T00:10:47,049 File "", line 488, in _call_with_frames_removed 2026-05-23T00:10:47,050 File "", line 1387, in _gcd_import 2026-05-23T00:10:47,050 File "", line 1360, in _find_and_load 2026-05-23T00:10:47,050 File "", line 1310, in _find_and_load_unlocked 2026-05-23T00:10:47,050 File "", line 488, in _call_with_frames_removed 2026-05-23T00:10:47,050 File "", line 1387, in _gcd_import 2026-05-23T00:10:47,050 File "", line 1360, in _find_and_load 2026-05-23T00:10:47,050 File "", line 1331, in _find_and_load_unlocked 2026-05-23T00:10:47,050 File "", line 935, in _load_unlocked 2026-05-23T00:10:47,051 File "", line 1026, in exec_module 2026-05-23T00:10:47,051 File "", line 488, in _call_with_frames_removed 2026-05-23T00:10:47,051 File "/tmp/pip-wheel-6_q3ntmu/discotool_e1acc9dcd52b487192665fb5ac39296c/.eggs/setuptools_scm-10.0.5-py3.13.egg/setuptools_scm/__init__.py", line 8, in 2026-05-23T00:10:47,051 from vcs_versioning import Configuration 2026-05-23T00:10:47,051 ModuleNotFoundError: No module named 'vcs_versioning' 2026-05-23T00:10:47,159 ERROR: python setup.py egg_info exited with 1 2026-05-23T00:10:47,171 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2026-05-23T00:10:47,171 exec(compile('"'"''"'"''"'"' 2026-05-23T00:10:47,171 # This is -- a caller that pip uses to run setup.py 2026-05-23T00:10:47,171 # 2026-05-23T00:10:47,171 # - It imports setuptools before invoking setup.py, to enable projects that directly 2026-05-23T00:10:47,171 # import from `distutils.core` to work with newer packaging standards. 2026-05-23T00:10:47,171 # - It provides a clear error message when setuptools is not installed. 2026-05-23T00:10:47,171 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2026-05-23T00:10:47,171 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2026-05-23T00:10:47,171 # manifest_maker: standard file '"'"'-c'"'"' not found". 2026-05-23T00:10:47,171 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2026-05-23T00:10:47,171 import os, sys, tokenize, traceback 2026-05-23T00:10:47,171 2026-05-23T00:10:47,171 try: 2026-05-23T00:10:47,171 import setuptools 2026-05-23T00:10:47,171 except ImportError: 2026-05-23T00:10:47,171 print( 2026-05-23T00:10:47,171 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2026-05-23T00:10:47,171 "the build environment with exception:", 2026-05-23T00:10:47,171 file=sys.stderr, 2026-05-23T00:10:47,171 ) 2026-05-23T00:10:47,171 traceback.print_exc() 2026-05-23T00:10:47,171 sys.exit(1) 2026-05-23T00:10:47,171 2026-05-23T00:10:47,171 __file__ = %r 2026-05-23T00:10:47,171 sys.argv[0] = __file__ 2026-05-23T00:10:47,171 2026-05-23T00:10:47,171 if os.path.exists(__file__): 2026-05-23T00:10:47,171 filename = __file__ 2026-05-23T00:10:47,171 with tokenize.open(__file__) as f: 2026-05-23T00:10:47,171 setup_py_code = f.read() 2026-05-23T00:10:47,171 else: 2026-05-23T00:10:47,171 filename = "" 2026-05-23T00:10:47,171 setup_py_code = "from setuptools import setup; setup()" 2026-05-23T00:10:47,171 2026-05-23T00:10:47,171 exec(compile(setup_py_code, filename, "exec")) 2026-05-23T00:10:47,171 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-6_q3ntmu/discotool_e1acc9dcd52b487192665fb5ac39296c/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-b5c8pssw[/] 2026-05-23T00:10:47,172 [bold magenta]cwd[/]: /tmp/pip-wheel-6_q3ntmu/discotool_e1acc9dcd52b487192665fb5ac39296c/ 2026-05-23T00:10:47,172 Preparing metadata (setup.py): finished with status 'error' 2026-05-23T00:10:47,173 ERROR: metadata generation failed 2026-05-23T00:10:47,180 Exception information: 2026-05-23T00:10:47,180 Traceback (most recent call last): 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2026-05-23T00:10:47,180 call_subprocess( 2026-05-23T00:10:47,180 ~~~~~~~~~~~~~~~^ 2026-05-23T00:10:47,180 args, 2026-05-23T00:10:47,180 ^^^^^ 2026-05-23T00:10:47,180 ...<2 lines>... 2026-05-23T00:10:47,180 spinner=spinner, 2026-05-23T00:10:47,180 ^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 ) 2026-05-23T00:10:47,180 ^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2026-05-23T00:10:47,180 raise error 2026-05-23T00:10:47,180 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2026-05-23T00:10:47,180 2026-05-23T00:10:47,180 The above exception was the direct cause of the following exception: 2026-05-23T00:10:47,180 2026-05-23T00:10:47,180 Traceback (most recent call last): 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2026-05-23T00:10:47,180 status = _inner_run() 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2026-05-23T00:10:47,180 return self.run(options, args) 2026-05-23T00:10:47,180 ~~~~~~~~^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2026-05-23T00:10:47,180 return func(self, options, args) 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2026-05-23T00:10:47,180 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2026-05-23T00:10:47,180 result = self._result = resolver.resolve( 2026-05-23T00:10:47,180 ~~~~~~~~~~~~~~~~^ 2026-05-23T00:10:47,180 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2026-05-23T00:10:47,180 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 ) 2026-05-23T00:10:47,180 ^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2026-05-23T00:10:47,180 state = resolution.resolve(requirements, max_rounds=max_rounds) 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2026-05-23T00:10:47,180 self._add_to_criteria(self.state.criteria, r, parent=None) 2026-05-23T00:10:47,180 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2026-05-23T00:10:47,180 if not criterion.candidates: 2026-05-23T00:10:47,180 ^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2026-05-23T00:10:47,180 return bool(self._sequence) 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2026-05-23T00:10:47,180 self._bool = any(self) 2026-05-23T00:10:47,180 ~~~^^^^^^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2026-05-23T00:10:47,180 return (c for c in iterator if id(c) not in self._incompatible_ids) 2026-05-23T00:10:47,180 ^^^^^^^^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2026-05-23T00:10:47,180 candidate = func() 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2026-05-23T00:10:47,180 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2026-05-23T00:10:47,180 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2026-05-23T00:10:47,180 link, template, name, version 2026-05-23T00:10:47,180 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 ) 2026-05-23T00:10:47,180 ^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2026-05-23T00:10:47,180 self._link_candidate_cache[link] = LinkCandidate( 2026-05-23T00:10:47,180 ~~~~~~~~~~~~~^ 2026-05-23T00:10:47,180 link, 2026-05-23T00:10:47,180 ^^^^^ 2026-05-23T00:10:47,180 ...<3 lines>... 2026-05-23T00:10:47,180 version=version, 2026-05-23T00:10:47,180 ^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 ) 2026-05-23T00:10:47,180 ^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2026-05-23T00:10:47,180 super().__init__( 2026-05-23T00:10:47,180 ~~~~~~~~~~~~~~~~^ 2026-05-23T00:10:47,180 link=link, 2026-05-23T00:10:47,180 ^^^^^^^^^^ 2026-05-23T00:10:47,180 ...<4 lines>... 2026-05-23T00:10:47,180 version=version, 2026-05-23T00:10:47,180 ^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 ) 2026-05-23T00:10:47,180 ^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2026-05-23T00:10:47,180 self.dist = self._prepare() 2026-05-23T00:10:47,180 ~~~~~~~~~~~~~^^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2026-05-23T00:10:47,180 dist = self._prepare_distribution() 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2026-05-23T00:10:47,180 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2026-05-23T00:10:47,180 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2026-05-23T00:10:47,180 return self._prepare_linked_requirement(req, parallel_builds) 2026-05-23T00:10:47,180 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2026-05-23T00:10:47,180 dist = _get_prepared_distribution( 2026-05-23T00:10:47,180 req, 2026-05-23T00:10:47,180 ...<3 lines>... 2026-05-23T00:10:47,180 self.check_build_deps, 2026-05-23T00:10:47,180 ) 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2026-05-23T00:10:47,180 abstract_dist.prepare_distribution_metadata( 2026-05-23T00:10:47,180 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2026-05-23T00:10:47,180 finder, build_isolation, check_build_deps 2026-05-23T00:10:47,180 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 ) 2026-05-23T00:10:47,180 ^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2026-05-23T00:10:47,180 self.req.prepare_metadata() 2026-05-23T00:10:47,180 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2026-05-23T00:10:47,180 self.metadata_directory = generate_metadata_legacy( 2026-05-23T00:10:47,180 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2026-05-23T00:10:47,180 build_env=self.build_env, 2026-05-23T00:10:47,180 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 ...<3 lines>... 2026-05-23T00:10:47,180 details=details, 2026-05-23T00:10:47,180 ^^^^^^^^^^^^^^^^ 2026-05-23T00:10:47,180 ) 2026-05-23T00:10:47,180 ^ 2026-05-23T00:10:47,180 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2026-05-23T00:10:47,180 raise MetadataGenerationFailed(package_details=details) from error 2026-05-23T00:10:47,180 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2026-05-23T00:10:47,203 Removed discotool==0.5.7 from https://files.pythonhosted.org/packages/19/b4/fbbbf07af42638f60c402ef8ccbdb978e5a55a4cf7a94d2c712d0ad6b52f/discotool-0.5.7.tar.gz from build tracker '/tmp/pip-build-tracker-_kcz8gl2' 2026-05-23T00:10:47,203 Removed build tracker: '/tmp/pip-build-tracker-_kcz8gl2'