2025-09-09T22:30:09,491 Created temporary directory: /tmp/pip-build-tracker-6_7l3c77 2025-09-09T22:30:09,492 Initialized build tracking at /tmp/pip-build-tracker-6_7l3c77 2025-09-09T22:30:09,492 Created build tracker: /tmp/pip-build-tracker-6_7l3c77 2025-09-09T22:30:09,492 Entered build tracker: /tmp/pip-build-tracker-6_7l3c77 2025-09-09T22:30:09,492 Created temporary directory: /tmp/pip-wheel-81uh0tq6 2025-09-09T22:30:09,495 Created temporary directory: /tmp/pip-ephem-wheel-cache-6krwot3k 2025-09-09T22:30:09,556 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-09T22:30:09,559 2 location(s) to search for versions of wemulate-api: 2025-09-09T22:30:09,559 * https://pypi.org/simple/wemulate-api/ 2025-09-09T22:30:09,559 * https://www.piwheels.org/simple/wemulate-api/ 2025-09-09T22:30:09,559 Fetching project page and analyzing links: https://pypi.org/simple/wemulate-api/ 2025-09-09T22:30:09,559 Getting page https://pypi.org/simple/wemulate-api/ 2025-09-09T22:30:09,561 Found index url https://pypi.org/simple/ 2025-09-09T22:30:09,631 Fetched page https://pypi.org/simple/wemulate-api/ as application/vnd.pypi.simple.v1+json 2025-09-09T22:30:09,634 Found link https://files.pythonhosted.org/packages/ce/a9/398519249169f78df6c5c70af7ea3a3a9ffb264f676597f8f0c0220dbd6b/wemulate-api-0.0.1.tar.gz (from https://pypi.org/simple/wemulate-api/), version: 0.0.1 2025-09-09T22:30:09,635 Skipping link: No binaries permitted for wemulate-api: https://files.pythonhosted.org/packages/95/4d/3e6b79ed489d0115cd7398ee4d6b3c07eeef7795242ae1ee66743b60968c/wemulate_api-0.0.1-py3-none-any.whl (from https://pypi.org/simple/wemulate-api/) 2025-09-09T22:30:09,635 Found link https://files.pythonhosted.org/packages/a6/16/3b1a4184874b7ab1d7e40dd6c7563bcb5e2bc35181ec6a3290929c5c98a2/wemulate-api-0.0.1.post1.tar.gz (from https://pypi.org/simple/wemulate-api/), version: 0.0.1.post1 2025-09-09T22:30:09,635 Skipping link: No binaries permitted for wemulate-api: https://files.pythonhosted.org/packages/fd/29/a27944819e7aec6bbd1bcbc9da8cf92b14ef7a7d3e6ab3ab95a65db7c388/wemulate_api-0.0.1.post1-py3-none-any.whl (from https://pypi.org/simple/wemulate-api/) 2025-09-09T22:30:09,635 Found link https://files.pythonhosted.org/packages/55/d3/65ac4fc33feee653e6e539bfe22a4a3217fa478470ebc251d0a391ed0bc5/wemulate-api-0.0.1.post2.tar.gz (from https://pypi.org/simple/wemulate-api/), version: 0.0.1.post2 2025-09-09T22:30:09,635 Skipping link: No binaries permitted for wemulate-api: https://files.pythonhosted.org/packages/8b/ef/7fb431a834d0eba95cd178327c18f270b555e0b956fc3e90b84cad3c87b9/wemulate_api-0.0.1.post2-py3-none-any.whl (from https://pypi.org/simple/wemulate-api/) 2025-09-09T22:30:09,636 Found link https://files.pythonhosted.org/packages/95/d5/1f49b5ba5b77991a1eebe4f6350a935371c0b845c3754b6e136201d491ac/wemulate-api-0.0.1.post3.tar.gz (from https://pypi.org/simple/wemulate-api/), version: 0.0.1.post3 2025-09-09T22:30:09,636 Skipping link: No binaries permitted for wemulate-api: https://files.pythonhosted.org/packages/7d/f2/d6177dc802def17845674e2bfefce1e7a696c5c85a7041cec53f50d23f70/wemulate_api-0.0.1.post3-py3-none-any.whl (from https://pypi.org/simple/wemulate-api/) 2025-09-09T22:30:09,636 Found link https://files.pythonhosted.org/packages/80/f9/f1b99d1b0fa36bf794bb4bf2f72f889dd18ef41319de0cb16f4c4daf6be5/wemulate-api-0.0.1.post4.tar.gz (from https://pypi.org/simple/wemulate-api/), version: 0.0.1.post4 2025-09-09T22:30:09,636 Skipping link: No binaries permitted for wemulate-api: https://files.pythonhosted.org/packages/71/d4/57e67c41925034a4aebaa3068421a198d917c16fbe1888e296086d267215/wemulate_api-0.0.1.post4-py3-none-any.whl (from https://pypi.org/simple/wemulate-api/) 2025-09-09T22:30:09,636 Found link https://files.pythonhosted.org/packages/6d/23/340d9df5414e6a286e06597a3fd9f4f37e3df1986e1a8191c5dd01be8873/wemulate-api-0.0.1.post5.tar.gz (from https://pypi.org/simple/wemulate-api/), version: 0.0.1.post5 2025-09-09T22:30:09,637 Skipping link: No binaries permitted for wemulate-api: https://files.pythonhosted.org/packages/78/78/bf83be0989cbbd4d91277cf55c59ec62b43b40523429b74120262c1d1116/wemulate_api-0.0.1.post5-py3-none-any.whl (from https://pypi.org/simple/wemulate-api/) 2025-09-09T22:30:09,637 Found link https://files.pythonhosted.org/packages/14/e4/9746696ff20f8deb6aef83502df977828c36a487291ce522ef698937fc27/wemulate-api-0.0.1.post6.tar.gz (from https://pypi.org/simple/wemulate-api/), version: 0.0.1.post6 2025-09-09T22:30:09,637 Skipping link: No binaries permitted for wemulate-api: https://files.pythonhosted.org/packages/c2/4e/1413a28f68e6346f4109813218405289743da53724c95be5e8f07a0d39e0/wemulate_api-0.0.1.post6-py3-none-any.whl (from https://pypi.org/simple/wemulate-api/) 2025-09-09T22:30:09,637 Found link https://files.pythonhosted.org/packages/79/07/81aa12a51810e96755d7f9f52a05831843ae5dd79183b3544723a3ef09c7/wemulate-api-0.0.1.post7.tar.gz (from https://pypi.org/simple/wemulate-api/), version: 0.0.1.post7 2025-09-09T22:30:09,637 Skipping link: No binaries permitted for wemulate-api: https://files.pythonhosted.org/packages/07/64/a0c9dd86d25e7c8ca2503918bad63000f81f5b1151e21a34edaf23a7b305/wemulate_api-0.0.1.post7-py3-none-any.whl (from https://pypi.org/simple/wemulate-api/) 2025-09-09T22:30:09,638 Found link https://files.pythonhosted.org/packages/20/23/a5cebdfbec715b61184d9f2586bf65e567806b2be77985b42d668503ecf3/wemulate-api-2.0.0.tar.gz (from https://pypi.org/simple/wemulate-api/) (requires-python:>=3.8,<4.0), version: 2.0.0 2025-09-09T22:30:09,639 Skipping link: No binaries permitted for wemulate-api: https://files.pythonhosted.org/packages/a7/0d/7d046e61e2b452c08c2effa76b74ae2a2cd066c661dec8fa18585c3d1b99/wemulate_api-2.0.0-py3-none-any.whl (from https://pypi.org/simple/wemulate-api/) (requires-python:>=3.8,<4.0) 2025-09-09T22:30:09,639 Skipping link: No binaries permitted for wemulate-api: https://files.pythonhosted.org/packages/c0/9c/da09fbce107e77f75029144f3058518b32e9803278f77dc0b768e96383a0/wemulate_api-2.0.1-py3-none-any.whl (from https://pypi.org/simple/wemulate-api/) (requires-python:>=3.8,<4.0) 2025-09-09T22:30:09,639 Found link https://files.pythonhosted.org/packages/7b/1b/7fe3b1b9571d71e3eb0d25dcfa6a6cb470063ad9b1e911bd9dcead83c67a/wemulate_api-2.0.1.tar.gz (from https://pypi.org/simple/wemulate-api/) (requires-python:>=3.8,<4.0), version: 2.0.1 2025-09-09T22:30:09,639 Skipping link: No binaries permitted for wemulate-api: https://files.pythonhosted.org/packages/e9/25/d6ae6b84abd69782bf49f1068499606d7f939b27ff44c94c0c426d668d65/wemulate_api-2.0.2-py3-none-any.whl (from https://pypi.org/simple/wemulate-api/) (requires-python:>=3.8,<4.0) 2025-09-09T22:30:09,639 Found link https://files.pythonhosted.org/packages/ee/cc/ed602a464898ac96e7b54ec97ead188f186bc362db37a3ab40d5a87c3c4f/wemulate_api-2.0.2.tar.gz (from https://pypi.org/simple/wemulate-api/) (requires-python:>=3.8,<4.0), version: 2.0.2 2025-09-09T22:30:09,640 Fetching project page and analyzing links: https://www.piwheels.org/simple/wemulate-api/ 2025-09-09T22:30:09,640 Getting page https://www.piwheels.org/simple/wemulate-api/ 2025-09-09T22:30:09,641 Found index url https://www.piwheels.org/simple/ 2025-09-09T22:30:09,724 Fetched page https://www.piwheels.org/simple/wemulate-api/ as text/html 2025-09-09T22:30:09,726 Skipping link: No binaries permitted for wemulate-api: https://archive1.piwheels.org/simple/wemulate-api/wemulate_api-2.0.2-py3-none-any.whl#sha256=cceb4199dfe1500cbf68a865367cd609e7f08d907d689c97d58812a134eca1c8 (from https://www.piwheels.org/simple/wemulate-api/) (requires-python:>=3.8,<4.0) 2025-09-09T22:30:09,726 Skipping link: No binaries permitted for wemulate-api: https://archive1.piwheels.org/simple/wemulate-api/wemulate_api-2.0.1-py3-none-any.whl#sha256=868491ff6396af99029001c2cbd62dc7467cee7bfe56ed257bd7684ca91e44cd (from https://www.piwheels.org/simple/wemulate-api/) (requires-python:>=3.8,<4.0) 2025-09-09T22:30:09,726 Skipping link: No binaries permitted for wemulate-api: https://archive1.piwheels.org/simple/wemulate-api/wemulate_api-2.0.0-py3-none-any.whl#sha256=9dcfc589489621e7bc4bc75449b641c12582893ad4dca0ff85b65e30e2963f5a (from https://www.piwheels.org/simple/wemulate-api/) (requires-python:>=3.8,<4.0) 2025-09-09T22:30:09,727 Skipping link: not a file: https://www.piwheels.org/simple/wemulate-api/ 2025-09-09T22:30:09,727 Skipping link: not a file: https://pypi.org/simple/wemulate-api/ 2025-09-09T22:30:09,755 Given no hashes to check 1 links for project 'wemulate-api': discarding no candidates 2025-09-09T22:30:09,757 Collecting wemulate-api==0.0.1.post6 2025-09-09T22:30:09,758 Created temporary directory: /tmp/pip-unpack-4pzcoou9 2025-09-09T22:30:09,901 Downloading wemulate-api-0.0.1.post6.tar.gz (4.0 kB) 2025-09-09T22:30:09,932 Added wemulate-api==0.0.1.post6 from https://files.pythonhosted.org/packages/14/e4/9746696ff20f8deb6aef83502df977828c36a487291ce522ef698937fc27/wemulate-api-0.0.1.post6.tar.gz to build tracker '/tmp/pip-build-tracker-6_7l3c77' 2025-09-09T22:30:09,933 Running setup.py (path:/tmp/pip-wheel-81uh0tq6/wemulate-api_eac8fa12d4bc444e9045df705badd60b/setup.py) egg_info for package wemulate-api 2025-09-09T22:30:09,933 Created temporary directory: /tmp/pip-pip-egg-info-9zmd8izf 2025-09-09T22:30:09,933 Preparing metadata (setup.py): started 2025-09-09T22:30:09,934 Running command python setup.py egg_info 2025-09-09T22:30:11,487 Traceback (most recent call last): 2025-09-09T22:30:11,488 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_file.py", line 587, in get_file_content 2025-09-09T22:30:11,488 with open(url, "rb") as f: 2025-09-09T22:30:11,488 ~~~~^^^^^^^^^^^ 2025-09-09T22:30:11,488 FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt' 2025-09-09T22:30:11,488 During handling of the above exception, another exception occurred: 2025-09-09T22:30:11,488 Traceback (most recent call last): 2025-09-09T22:30:11,491 File "", line 2, in 2025-09-09T22:30:11,491 exec(compile(''' 2025-09-09T22:30:11,491 ~~~~^^^^^^^^^^^^ 2025-09-09T22:30:11,491 # This is -- a caller that pip uses to run setup.py 2025-09-09T22:30:11,491 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,491 ...<32 lines>... 2025-09-09T22:30:11,491 exec(compile(setup_py_code, filename, "exec")) 2025-09-09T22:30:11,492 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,492 ''' % ('/tmp/pip-wheel-81uh0tq6/wemulate-api_eac8fa12d4bc444e9045df705badd60b/setup.py',), "", "exec")) 2025-09-09T22:30:11,492 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,492 File "", line 35, in 2025-09-09T22:30:11,492 File "/tmp/pip-wheel-81uh0tq6/wemulate-api_eac8fa12d4bc444e9045df705badd60b/setup.py", line 14, in 2025-09-09T22:30:11,492 for item in requirements: 2025-09-09T22:30:11,492 ^^^^^^^^^^^^ 2025-09-09T22:30:11,493 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_file.py", line 168, in parse_requirements 2025-09-09T22:30:11,493 for parsed_line in parser.parse(filename, constraint): 2025-09-09T22:30:11,493 ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,493 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_file.py", line 349, in parse 2025-09-09T22:30:11,493 yield from self._parse_and_recurse( 2025-09-09T22:30:11,493 filename, constraint, [{os.path.abspath(filename): None}] 2025-09-09T22:30:11,493 ) 2025-09-09T22:30:11,493 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_file.py", line 359, in _parse_and_recurse 2025-09-09T22:30:11,493 for line in self._parse_file(filename, constraint): 2025-09-09T22:30:11,494 ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,494 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_file.py", line 408, in _parse_file 2025-09-09T22:30:11,494 _, content = get_file_content(filename, self._session) 2025-09-09T22:30:11,494 ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,495 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_file.py", line 590, in get_file_content 2025-09-09T22:30:11,495 raise InstallationError(f"Could not open requirements file: {exc}") 2025-09-09T22:30:11,495 pip._internal.exceptions.InstallationError: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt' 2025-09-09T22:30:11,676 ERROR: python setup.py egg_info exited with 1 2025-09-09T22:30:11,688 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-09T22:30:11,688 exec(compile('"'"''"'"''"'"' 2025-09-09T22:30:11,688 # This is -- a caller that pip uses to run setup.py 2025-09-09T22:30:11,688 # 2025-09-09T22:30:11,688 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-09T22:30:11,688 # import from `distutils.core` to work with newer packaging standards. 2025-09-09T22:30:11,688 # - It provides a clear error message when setuptools is not installed. 2025-09-09T22:30:11,688 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-09T22:30:11,688 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-09T22:30:11,688 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-09T22:30:11,688 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-09T22:30:11,688 import os, sys, tokenize, traceback 2025-09-09T22:30:11,688 2025-09-09T22:30:11,688 try: 2025-09-09T22:30:11,688 import setuptools 2025-09-09T22:30:11,688 except ImportError: 2025-09-09T22:30:11,688 print( 2025-09-09T22:30:11,688 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-09T22:30:11,688 "the build environment with exception:", 2025-09-09T22:30:11,688 file=sys.stderr, 2025-09-09T22:30:11,688 ) 2025-09-09T22:30:11,688 traceback.print_exc() 2025-09-09T22:30:11,688 sys.exit(1) 2025-09-09T22:30:11,688 2025-09-09T22:30:11,688 __file__ = %r 2025-09-09T22:30:11,688 sys.argv[0] = __file__ 2025-09-09T22:30:11,688 2025-09-09T22:30:11,688 if os.path.exists(__file__): 2025-09-09T22:30:11,688 filename = __file__ 2025-09-09T22:30:11,688 with tokenize.open(__file__) as f: 2025-09-09T22:30:11,688 setup_py_code = f.read() 2025-09-09T22:30:11,688 else: 2025-09-09T22:30:11,688 filename = "" 2025-09-09T22:30:11,688 setup_py_code = "from setuptools import setup; setup()" 2025-09-09T22:30:11,688 2025-09-09T22:30:11,688 exec(compile(setup_py_code, filename, "exec")) 2025-09-09T22:30:11,688 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-81uh0tq6/wemulate-api_eac8fa12d4bc444e9045df705badd60b/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-9zmd8izf[/] 2025-09-09T22:30:11,688 [bold magenta]cwd[/]: /tmp/pip-wheel-81uh0tq6/wemulate-api_eac8fa12d4bc444e9045df705badd60b/ 2025-09-09T22:30:11,688 Preparing metadata (setup.py): finished with status 'error' 2025-09-09T22:30:11,689 ERROR: metadata generation failed 2025-09-09T22:30:11,694 Exception information: 2025-09-09T22:30:11,694 Traceback (most recent call last): 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-09T22:30:11,694 call_subprocess( 2025-09-09T22:30:11,694 ~~~~~~~~~~~~~~~^ 2025-09-09T22:30:11,694 args, 2025-09-09T22:30:11,694 ^^^^^ 2025-09-09T22:30:11,694 ...<2 lines>... 2025-09-09T22:30:11,694 spinner=spinner, 2025-09-09T22:30:11,694 ^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 ) 2025-09-09T22:30:11,694 ^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-09T22:30:11,694 raise error 2025-09-09T22:30:11,694 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-09T22:30:11,694 2025-09-09T22:30:11,694 The above exception was the direct cause of the following exception: 2025-09-09T22:30:11,694 2025-09-09T22:30:11,694 Traceback (most recent call last): 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-09T22:30:11,694 status = _inner_run() 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-09T22:30:11,694 return self.run(options, args) 2025-09-09T22:30:11,694 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-09T22:30:11,694 return func(self, options, args) 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-09T22:30:11,694 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-09T22:30:11,694 result = self._result = resolver.resolve( 2025-09-09T22:30:11,694 ~~~~~~~~~~~~~~~~^ 2025-09-09T22:30:11,694 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-09T22:30:11,694 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 ) 2025-09-09T22:30:11,694 ^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-09T22:30:11,694 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-09T22:30:11,694 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-09T22:30:11,694 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-09T22:30:11,694 if not criterion.candidates: 2025-09-09T22:30:11,694 ^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-09T22:30:11,694 return bool(self._sequence) 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-09T22:30:11,694 self._bool = any(self) 2025-09-09T22:30:11,694 ~~~^^^^^^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-09T22:30:11,694 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-09T22:30:11,694 ^^^^^^^^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-09T22:30:11,694 candidate = func() 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-09T22:30:11,694 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-09T22:30:11,694 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-09T22:30:11,694 link, template, name, version 2025-09-09T22:30:11,694 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 ) 2025-09-09T22:30:11,694 ^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-09T22:30:11,694 self._link_candidate_cache[link] = LinkCandidate( 2025-09-09T22:30:11,694 ~~~~~~~~~~~~~^ 2025-09-09T22:30:11,694 link, 2025-09-09T22:30:11,694 ^^^^^ 2025-09-09T22:30:11,694 ...<3 lines>... 2025-09-09T22:30:11,694 version=version, 2025-09-09T22:30:11,694 ^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 ) 2025-09-09T22:30:11,694 ^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-09T22:30:11,694 super().__init__( 2025-09-09T22:30:11,694 ~~~~~~~~~~~~~~~~^ 2025-09-09T22:30:11,694 link=link, 2025-09-09T22:30:11,694 ^^^^^^^^^^ 2025-09-09T22:30:11,694 ...<4 lines>... 2025-09-09T22:30:11,694 version=version, 2025-09-09T22:30:11,694 ^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 ) 2025-09-09T22:30:11,694 ^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-09T22:30:11,694 self.dist = self._prepare() 2025-09-09T22:30:11,694 ~~~~~~~~~~~~~^^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-09T22:30:11,694 dist = self._prepare_distribution() 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-09T22:30:11,694 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-09T22:30:11,694 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-09T22:30:11,694 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-09T22:30:11,694 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-09T22:30:11,694 dist = _get_prepared_distribution( 2025-09-09T22:30:11,694 req, 2025-09-09T22:30:11,694 ...<3 lines>... 2025-09-09T22:30:11,694 self.check_build_deps, 2025-09-09T22:30:11,694 ) 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-09T22:30:11,694 abstract_dist.prepare_distribution_metadata( 2025-09-09T22:30:11,694 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-09T22:30:11,694 finder, build_isolation, check_build_deps 2025-09-09T22:30:11,694 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 ) 2025-09-09T22:30:11,694 ^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-09T22:30:11,694 self.req.prepare_metadata() 2025-09-09T22:30:11,694 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-09T22:30:11,694 self.metadata_directory = generate_metadata_legacy( 2025-09-09T22:30:11,694 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-09T22:30:11,694 build_env=self.build_env, 2025-09-09T22:30:11,694 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 ...<3 lines>... 2025-09-09T22:30:11,694 details=details, 2025-09-09T22:30:11,694 ^^^^^^^^^^^^^^^^ 2025-09-09T22:30:11,694 ) 2025-09-09T22:30:11,694 ^ 2025-09-09T22:30:11,694 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-09T22:30:11,694 raise MetadataGenerationFailed(package_details=details) from error 2025-09-09T22:30:11,694 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-09T22:30:11,715 Removed wemulate-api==0.0.1.post6 from https://files.pythonhosted.org/packages/14/e4/9746696ff20f8deb6aef83502df977828c36a487291ce522ef698937fc27/wemulate-api-0.0.1.post6.tar.gz from build tracker '/tmp/pip-build-tracker-6_7l3c77' 2025-09-09T22:30:11,715 Removed build tracker: '/tmp/pip-build-tracker-6_7l3c77'