2025-09-07T20:45:19,756 Created temporary directory: /tmp/pip-build-tracker-hgud_wsn 2025-09-07T20:45:19,757 Initialized build tracking at /tmp/pip-build-tracker-hgud_wsn 2025-09-07T20:45:19,757 Created build tracker: /tmp/pip-build-tracker-hgud_wsn 2025-09-07T20:45:19,757 Entered build tracker: /tmp/pip-build-tracker-hgud_wsn 2025-09-07T20:45:19,757 Created temporary directory: /tmp/pip-wheel-0puzmt2o 2025-09-07T20:45:19,760 Created temporary directory: /tmp/pip-ephem-wheel-cache-8w3jsb8d 2025-09-07T20:45:19,820 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-07T20:45:19,822 2 location(s) to search for versions of gruffy: 2025-09-07T20:45:19,822 * https://pypi.org/simple/gruffy/ 2025-09-07T20:45:19,822 * https://www.piwheels.org/simple/gruffy/ 2025-09-07T20:45:19,823 Fetching project page and analyzing links: https://pypi.org/simple/gruffy/ 2025-09-07T20:45:19,823 Getting page https://pypi.org/simple/gruffy/ 2025-09-07T20:45:19,824 Found index url https://pypi.org/simple/ 2025-09-07T20:45:19,895 Fetched page https://pypi.org/simple/gruffy/ as application/vnd.pypi.simple.v1+json 2025-09-07T20:45:19,898 Found link https://files.pythonhosted.org/packages/84/a0/fb2733cdf1645d0e6cacf62e0fa3a6e92c059502d0dff17f29ee809e18d1/gruffy-0.0.1.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.0.1 2025-09-07T20:45:19,899 Found link https://files.pythonhosted.org/packages/69/32/f0bd0ab26a46d15a70d48d6f09b0a946fed24f1174a9cdf457a2e48a1dc0/gruffy-0.0.2.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.0.2 2025-09-07T20:45:19,899 Found link https://files.pythonhosted.org/packages/d0/99/f6d96e394f600fec8a65044d988710e84b600e95a7e591b59b8fc41d528a/gruffy-0.0.3.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.0.3 2025-09-07T20:45:19,899 Found link https://files.pythonhosted.org/packages/e3/6f/67c1ced99a1887b4010c654815ca1a5d66c61dace617e6aab91b56839a99/gruffy-0.1.0.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.1.0 2025-09-07T20:45:19,899 Found link https://files.pythonhosted.org/packages/7a/42/68534fdf4abde0939781480873880f28859b4343e6625de7c0028548b3da/gruffy-0.1.1.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.1.1 2025-09-07T20:45:19,899 Found link https://files.pythonhosted.org/packages/98/79/f2a5940d21ffe7c0de1a6af68934e9a908855a6c2dd51dbba20540a72602/gruffy-0.1.2.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.1.2 2025-09-07T20:45:19,900 Found link https://files.pythonhosted.org/packages/c2/b8/79f821fdf6be86385c9bdfd0e2a81da3e934e59305ec78aa7ca5cc823a39/gruffy-0.1.3.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.1.3 2025-09-07T20:45:19,900 Found link https://files.pythonhosted.org/packages/f4/34/48c07fd6f5e20729d28fde168e624d789080b5ea319b6821c477b3822e3c/gruffy-0.1.4.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.1.4 2025-09-07T20:45:19,900 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/fb/c4/47f66fe56d3ed7f221fd848a6bda84f9f293db8915c7103328437cb862b4/gruffy-0.2.0-py2.6.egg (from https://pypi.org/simple/gruffy/) 2025-09-07T20:45:19,900 Found link https://files.pythonhosted.org/packages/a1/7d/dc9bf848dbdb00b1873e4729ea5b42af8062938dd7c16e779f9d24056e43/gruffy-0.2.0.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.2.0 2025-09-07T20:45:19,900 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/05/a1/96e4e7937aff5035fda160914f69d7d537ad67776fc54e2dfa5180983969/gruffy-0.2.1-py2.6.egg (from https://pypi.org/simple/gruffy/) 2025-09-07T20:45:19,900 Found link https://files.pythonhosted.org/packages/80/72/6bee2d3959bcb86804d42166a6f5bb97254d54755e91bfe63e7d4ff5faa4/gruffy-0.2.1.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.2.1 2025-09-07T20:45:19,901 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/78/0b/1d1240f7c76c86ff070c7cd84fbe47e411b1d63622e8f288ad2b751f8a44/gruffy-0.2.2-py2.6.egg (from https://pypi.org/simple/gruffy/) 2025-09-07T20:45:19,901 Found link https://files.pythonhosted.org/packages/f3/98/45df9e6bddaf575f202cc45b366b1e6d9dd6f93c8bffd9bc2176eed56888/gruffy-0.2.2.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.2.2 2025-09-07T20:45:19,901 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/4c/29/c80f501edeb3c56b51e889bddf674d6a2cf50e03297b4ce59923cafdbeac/gruffy-0.3-py2.7.egg (from https://pypi.org/simple/gruffy/) 2025-09-07T20:45:19,901 Found link https://files.pythonhosted.org/packages/f0/b3/bdc47e10f3aaab76f624eeba2f8b046f4848e929a0953769ca8c74460908/gruffy-0.3.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.3 2025-09-07T20:45:19,901 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/fd/37/c468b1ba390a9b3983f889174faa003978f4f6b06acf7d8143bde23e5945/gruffy-0.3.1-py2.7.egg (from https://pypi.org/simple/gruffy/) 2025-09-07T20:45:19,901 Found link https://files.pythonhosted.org/packages/00/5a/3547cb0b7f9272477302787711b0df1b91c3cc179527e7912c31016b79d0/gruffy-0.3.1.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.3.1 2025-09-07T20:45:19,902 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/3a/68/6a144e216390eb828e77eada3fb6993dea6f382dba1204e970da31bb8386/gruffy-0.3.2-py2.7.egg (from https://pypi.org/simple/gruffy/) 2025-09-07T20:45:19,902 Found link https://files.pythonhosted.org/packages/0d/28/10bb400abf27ce16742e6dc3c8eae580c9d368bb3827027dbaefc0a9ce75/gruffy-0.3.2.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.3.2 2025-09-07T20:45:19,902 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/3a/86/3f77e47a29ae5677722dde7426b2747f7c12be30713179ae823d40c400a4/gruffy-0.3.3-py2.7.egg (from https://pypi.org/simple/gruffy/) 2025-09-07T20:45:19,902 Found link https://files.pythonhosted.org/packages/d3/7f/55e17049b51c1cbb54090e8e5beb535298434f144b560e7e77017cf4705f/gruffy-0.3.3.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.3.3 2025-09-07T20:45:19,902 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/96/97/f526eb2cec2a7d577bfc15dea43e5694ab18b1fb223d480379edb5f22651/gruffy-0.3.4-py2.7.egg (from https://pypi.org/simple/gruffy/) 2025-09-07T20:45:19,902 Found link https://files.pythonhosted.org/packages/30/fb/18b267ff92e46391c7cc25569b4cc74d4911e28252b1b8207782cdce0890/gruffy-0.3.4.tar.gz (from https://pypi.org/simple/gruffy/), version: 0.3.4 2025-09-07T20:45:19,903 Fetching project page and analyzing links: https://www.piwheels.org/simple/gruffy/ 2025-09-07T20:45:19,903 Getting page https://www.piwheels.org/simple/gruffy/ 2025-09-07T20:45:19,904 Found index url https://www.piwheels.org/simple/ 2025-09-07T20:45:19,992 Fetched page https://www.piwheels.org/simple/gruffy/ as text/html 2025-09-07T20:45:19,995 Skipping link: No binaries permitted for gruffy: https://archive1.piwheels.org/simple/gruffy/gruffy-0.3.4-py3-none-any.whl#sha256=d61de079c57e4977cc6c061f43f075019e3ebd25a88d6950e1909e69eb469cec (from https://www.piwheels.org/simple/gruffy/) 2025-09-07T20:45:19,995 Skipping link: No binaries permitted for gruffy: https://archive1.piwheels.org/simple/gruffy/gruffy-0.3.3-py3-none-any.whl#sha256=89d0bde94578d60a56552344052086291b19f6c7f613814c599215d9f6fddcb8 (from https://www.piwheels.org/simple/gruffy/) 2025-09-07T20:45:19,996 Skipping link: No binaries permitted for gruffy: https://archive1.piwheels.org/simple/gruffy/gruffy-0.3.2-py3-none-any.whl#sha256=add3743a876cfd4d849c2cf8f000569a30a7a5fbdeb18ab4efb49d29746edbcc (from https://www.piwheels.org/simple/gruffy/) 2025-09-07T20:45:19,996 Skipping link: No binaries permitted for gruffy: https://archive1.piwheels.org/simple/gruffy/gruffy-0.3.1-py3-none-any.whl#sha256=d834c3061a21c1b2b26791361266add8049100d2f68098f9daa454beb7315140 (from https://www.piwheels.org/simple/gruffy/) 2025-09-07T20:45:19,996 Skipping link: No binaries permitted for gruffy: https://archive1.piwheels.org/simple/gruffy/gruffy-0.3-py3-none-any.whl#sha256=6106ed56358fd46c42ad1338c2657d537fd920fa3d377dd1e13216c48bb0a978 (from https://www.piwheels.org/simple/gruffy/) 2025-09-07T20:45:19,996 Skipping link: No binaries permitted for gruffy: https://archive1.piwheels.org/simple/gruffy/gruffy-0.2.2-py3-none-any.whl#sha256=d7aa4c29d42ef48767e1ed45243f50c9a15dc4c366f4bd7e2e7cb2a2ea32245d (from https://www.piwheels.org/simple/gruffy/) 2025-09-07T20:45:19,996 Skipping link: No binaries permitted for gruffy: https://archive1.piwheels.org/simple/gruffy/gruffy-0.2.1-py3-none-any.whl#sha256=6c065e0bbbc26ede62bce24a1ae2102eca2c9324e6515b0d18fc61b2ea217988 (from https://www.piwheels.org/simple/gruffy/) 2025-09-07T20:45:19,996 Skipping link: No binaries permitted for gruffy: https://archive1.piwheels.org/simple/gruffy/gruffy-0.2.0-py3-none-any.whl#sha256=ae99f1b75c409d3dae3d2c0d59e0b8625cb4d2ca841095647bba4f58b6006732 (from https://www.piwheels.org/simple/gruffy/) 2025-09-07T20:45:19,996 Skipping link: No binaries permitted for gruffy: https://archive1.piwheels.org/simple/gruffy/gruffy-0.1.4-py3-none-any.whl#sha256=ca87ae1bc68cd3ab7e4723e5c839b166db529a622dbc99427a2b83bc494bb50a (from https://www.piwheels.org/simple/gruffy/) 2025-09-07T20:45:19,997 Skipping link: No binaries permitted for gruffy: https://archive1.piwheels.org/simple/gruffy/gruffy-0.1.3-py3-none-any.whl#sha256=210debfe83a4c5e5e29ebb793efe2a61304b8f51707a79e97fc6f919ecdd25c8 (from https://www.piwheels.org/simple/gruffy/) 2025-09-07T20:45:19,997 Skipping link: No binaries permitted for gruffy: https://archive1.piwheels.org/simple/gruffy/gruffy-0.1.2-py3-none-any.whl#sha256=a4ea9a93d268c092368df1937d50705f9cba9c398295b724a31b55ecc7c65f2f (from https://www.piwheels.org/simple/gruffy/) 2025-09-07T20:45:19,997 Skipping link: not a file: https://www.piwheels.org/simple/gruffy/ 2025-09-07T20:45:19,997 Skipping link: not a file: https://pypi.org/simple/gruffy/ 2025-09-07T20:45:20,021 Given no hashes to check 1 links for project 'gruffy': discarding no candidates 2025-09-07T20:45:20,022 Collecting gruffy==0.1.0 2025-09-07T20:45:20,024 Created temporary directory: /tmp/pip-unpack-4_6z2b8x 2025-09-07T20:45:20,172 Downloading gruffy-0.1.0.tar.gz (11 kB) 2025-09-07T20:45:20,204 Added gruffy==0.1.0 from https://files.pythonhosted.org/packages/e3/6f/67c1ced99a1887b4010c654815ca1a5d66c61dace617e6aab91b56839a99/gruffy-0.1.0.tar.gz to build tracker '/tmp/pip-build-tracker-hgud_wsn' 2025-09-07T20:45:20,205 Running setup.py (path:/tmp/pip-wheel-0puzmt2o/gruffy_6a6e57a0ccbf48be963fde9bd83e018a/setup.py) egg_info for package gruffy 2025-09-07T20:45:20,206 Created temporary directory: /tmp/pip-pip-egg-info-shep7idd 2025-09-07T20:45:20,206 Preparing metadata (setup.py): started 2025-09-07T20:45:20,207 Running command python setup.py egg_info 2025-09-07T20:45:20,722 Traceback (most recent call last): 2025-09-07T20:45:20,724 File "", line 2, in 2025-09-07T20:45:20,724 exec(compile(''' 2025-09-07T20:45:20,724 ~~~~^^^^^^^^^^^^ 2025-09-07T20:45:20,724 # This is -- a caller that pip uses to run setup.py 2025-09-07T20:45:20,724 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,725 ...<32 lines>... 2025-09-07T20:45:20,725 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T20:45:20,725 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,725 ''' % ('/tmp/pip-wheel-0puzmt2o/gruffy_6a6e57a0ccbf48be963fde9bd83e018a/setup.py',), "", "exec")) 2025-09-07T20:45:20,725 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,725 File "", line 35, in 2025-09-07T20:45:20,725 File "/tmp/pip-wheel-0puzmt2o/gruffy_6a6e57a0ccbf48be963fde9bd83e018a/setup.py", line 12, in 2025-09-07T20:45:20,725 long_description=open("README.rst").read(), 2025-09-07T20:45:20,726 ~~~~^^^^^^^^^^^^^^ 2025-09-07T20:45:20,726 FileNotFoundError: [Errno 2] No such file or directory: 'README.rst' 2025-09-07T20:45:20,811 ERROR: python setup.py egg_info exited with 1 2025-09-07T20:45:20,823 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-07T20:45:20,823 exec(compile('"'"''"'"''"'"' 2025-09-07T20:45:20,823 # This is -- a caller that pip uses to run setup.py 2025-09-07T20:45:20,823 # 2025-09-07T20:45:20,823 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-07T20:45:20,823 # import from `distutils.core` to work with newer packaging standards. 2025-09-07T20:45:20,823 # - It provides a clear error message when setuptools is not installed. 2025-09-07T20:45:20,823 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-07T20:45:20,823 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-07T20:45:20,823 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-07T20:45:20,823 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-07T20:45:20,823 import os, sys, tokenize, traceback 2025-09-07T20:45:20,823 2025-09-07T20:45:20,823 try: 2025-09-07T20:45:20,823 import setuptools 2025-09-07T20:45:20,823 except ImportError: 2025-09-07T20:45:20,823 print( 2025-09-07T20:45:20,823 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-07T20:45:20,823 "the build environment with exception:", 2025-09-07T20:45:20,823 file=sys.stderr, 2025-09-07T20:45:20,823 ) 2025-09-07T20:45:20,823 traceback.print_exc() 2025-09-07T20:45:20,823 sys.exit(1) 2025-09-07T20:45:20,823 2025-09-07T20:45:20,823 __file__ = %r 2025-09-07T20:45:20,823 sys.argv[0] = __file__ 2025-09-07T20:45:20,823 2025-09-07T20:45:20,823 if os.path.exists(__file__): 2025-09-07T20:45:20,823 filename = __file__ 2025-09-07T20:45:20,823 with tokenize.open(__file__) as f: 2025-09-07T20:45:20,823 setup_py_code = f.read() 2025-09-07T20:45:20,823 else: 2025-09-07T20:45:20,823 filename = "" 2025-09-07T20:45:20,823 setup_py_code = "from setuptools import setup; setup()" 2025-09-07T20:45:20,823 2025-09-07T20:45:20,823 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T20:45:20,823 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-0puzmt2o/gruffy_6a6e57a0ccbf48be963fde9bd83e018a/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-shep7idd[/] 2025-09-07T20:45:20,824 [bold magenta]cwd[/]: /tmp/pip-wheel-0puzmt2o/gruffy_6a6e57a0ccbf48be963fde9bd83e018a/ 2025-09-07T20:45:20,824 Preparing metadata (setup.py): finished with status 'error' 2025-09-07T20:45:20,825 ERROR: metadata generation failed 2025-09-07T20:45:20,833 Exception information: 2025-09-07T20:45:20,833 Traceback (most recent call last): 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-07T20:45:20,833 call_subprocess( 2025-09-07T20:45:20,833 ~~~~~~~~~~~~~~~^ 2025-09-07T20:45:20,833 args, 2025-09-07T20:45:20,833 ^^^^^ 2025-09-07T20:45:20,833 ...<2 lines>... 2025-09-07T20:45:20,833 spinner=spinner, 2025-09-07T20:45:20,833 ^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 ) 2025-09-07T20:45:20,833 ^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-07T20:45:20,833 raise error 2025-09-07T20:45:20,833 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-07T20:45:20,833 2025-09-07T20:45:20,833 The above exception was the direct cause of the following exception: 2025-09-07T20:45:20,833 2025-09-07T20:45:20,833 Traceback (most recent call last): 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-07T20:45:20,833 status = _inner_run() 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-07T20:45:20,833 return self.run(options, args) 2025-09-07T20:45:20,833 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-07T20:45:20,833 return func(self, options, args) 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-07T20:45:20,833 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-07T20:45:20,833 result = self._result = resolver.resolve( 2025-09-07T20:45:20,833 ~~~~~~~~~~~~~~~~^ 2025-09-07T20:45:20,833 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-07T20:45:20,833 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 ) 2025-09-07T20:45:20,833 ^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-07T20:45:20,833 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-07T20:45:20,833 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-07T20:45:20,833 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-07T20:45:20,833 if not criterion.candidates: 2025-09-07T20:45:20,833 ^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-07T20:45:20,833 return bool(self._sequence) 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-07T20:45:20,833 self._bool = any(self) 2025-09-07T20:45:20,833 ~~~^^^^^^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-07T20:45:20,833 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-07T20:45:20,833 ^^^^^^^^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-07T20:45:20,833 candidate = func() 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-07T20:45:20,833 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-07T20:45:20,833 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T20:45:20,833 link, template, name, version 2025-09-07T20:45:20,833 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 ) 2025-09-07T20:45:20,833 ^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-07T20:45:20,833 self._link_candidate_cache[link] = LinkCandidate( 2025-09-07T20:45:20,833 ~~~~~~~~~~~~~^ 2025-09-07T20:45:20,833 link, 2025-09-07T20:45:20,833 ^^^^^ 2025-09-07T20:45:20,833 ...<3 lines>... 2025-09-07T20:45:20,833 version=version, 2025-09-07T20:45:20,833 ^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 ) 2025-09-07T20:45:20,833 ^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-07T20:45:20,833 super().__init__( 2025-09-07T20:45:20,833 ~~~~~~~~~~~~~~~~^ 2025-09-07T20:45:20,833 link=link, 2025-09-07T20:45:20,833 ^^^^^^^^^^ 2025-09-07T20:45:20,833 ...<4 lines>... 2025-09-07T20:45:20,833 version=version, 2025-09-07T20:45:20,833 ^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 ) 2025-09-07T20:45:20,833 ^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-07T20:45:20,833 self.dist = self._prepare() 2025-09-07T20:45:20,833 ~~~~~~~~~~~~~^^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-07T20:45:20,833 dist = self._prepare_distribution() 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-07T20:45:20,833 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-07T20:45:20,833 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-07T20:45:20,833 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-07T20:45:20,833 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-07T20:45:20,833 dist = _get_prepared_distribution( 2025-09-07T20:45:20,833 req, 2025-09-07T20:45:20,833 ...<3 lines>... 2025-09-07T20:45:20,833 self.check_build_deps, 2025-09-07T20:45:20,833 ) 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-07T20:45:20,833 abstract_dist.prepare_distribution_metadata( 2025-09-07T20:45:20,833 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T20:45:20,833 finder, build_isolation, check_build_deps 2025-09-07T20:45:20,833 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 ) 2025-09-07T20:45:20,833 ^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-07T20:45:20,833 self.req.prepare_metadata() 2025-09-07T20:45:20,833 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-07T20:45:20,833 self.metadata_directory = generate_metadata_legacy( 2025-09-07T20:45:20,833 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T20:45:20,833 build_env=self.build_env, 2025-09-07T20:45:20,833 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 ...<3 lines>... 2025-09-07T20:45:20,833 details=details, 2025-09-07T20:45:20,833 ^^^^^^^^^^^^^^^^ 2025-09-07T20:45:20,833 ) 2025-09-07T20:45:20,833 ^ 2025-09-07T20:45:20,833 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-07T20:45:20,833 raise MetadataGenerationFailed(package_details=details) from error 2025-09-07T20:45:20,833 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-07T20:45:20,856 Removed gruffy==0.1.0 from https://files.pythonhosted.org/packages/e3/6f/67c1ced99a1887b4010c654815ca1a5d66c61dace617e6aab91b56839a99/gruffy-0.1.0.tar.gz from build tracker '/tmp/pip-build-tracker-hgud_wsn' 2025-09-07T20:45:20,856 Removed build tracker: '/tmp/pip-build-tracker-hgud_wsn'