2025-08-31T07:22:29,354 Created temporary directory: /tmp/pip-build-tracker-ygazyba6 2025-08-31T07:22:29,355 Initialized build tracking at /tmp/pip-build-tracker-ygazyba6 2025-08-31T07:22:29,356 Created build tracker: /tmp/pip-build-tracker-ygazyba6 2025-08-31T07:22:29,356 Entered build tracker: /tmp/pip-build-tracker-ygazyba6 2025-08-31T07:22:29,357 Created temporary directory: /tmp/pip-wheel-j5tp3s_d 2025-08-31T07:22:29,361 Created temporary directory: /tmp/pip-ephem-wheel-cache-ftptgw7p 2025-08-31T07:22:29,408 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-08-31T07:22:29,411 2 location(s) to search for versions of ai-rulez: 2025-08-31T07:22:29,411 * https://pypi.org/simple/ai-rulez/ 2025-08-31T07:22:29,411 * https://www.piwheels.org/simple/ai-rulez/ 2025-08-31T07:22:29,411 Fetching project page and analyzing links: https://pypi.org/simple/ai-rulez/ 2025-08-31T07:22:29,413 Getting page https://pypi.org/simple/ai-rulez/ 2025-08-31T07:22:29,414 Found index url https://pypi.org/simple/ 2025-08-31T07:22:29,638 Fetched page https://pypi.org/simple/ai-rulez/ as application/vnd.pypi.simple.v1+json 2025-08-31T07:22:29,642 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/50/76/73c26789b4336908336888a797b74f02cbfa192cf7165cd1b8b80596e83e/ai_rulez-1.0.0rc11-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,643 Found link https://files.pythonhosted.org/packages/3a/1d/65903d5faa96b87ed51910eb205b0ea035a1aaab75eeda54259f61d9ba6c/ai_rulez-1.0.0rc11.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.0.0rc11 2025-08-31T07:22:29,644 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/f8/14/682a06f052390071b22c91a081906209dad390ac3c3f9fa8dc37a8418cd2/ai_rulez-1.0.0-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,644 Found link https://files.pythonhosted.org/packages/91/a9/9f95372004e892bc089167a5287e79373e90165ea9a088cd58e573c6ca60/ai_rulez-1.0.0.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.0.0 2025-08-31T07:22:29,645 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/37/cc/7809739e2c0a028b272959fbc667a4e64294b65b898c1f51f020752e6c60/ai_rulez-1.1.0-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,646 Found link https://files.pythonhosted.org/packages/1a/88/c8ca26187dfee7489e6ad21489f8581eed628d9823f41663aae42ac68f94/ai_rulez-1.1.0.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.1.0 2025-08-31T07:22:29,646 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/ec/81/cf32c4fc0456f88cb86ed55aa102ca44a4da60982da92282b233fb88ed0b/ai_rulez-1.1.1-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,647 Found link https://files.pythonhosted.org/packages/4d/7b/a75ca4d2e878ea9cf2c04f53ed54d3c450bc0b9796ad059b47f5ca5276a6/ai_rulez-1.1.1.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.1.1 2025-08-31T07:22:29,648 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/3e/f6/0fc76df7c063384e435cc2fe30e6b035918f40a977d4790ee18b5980eb3a/ai_rulez-1.1.3-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,648 Found link https://files.pythonhosted.org/packages/fd/7d/2494e90b3dabc210d3fc676ca6c903a9ee605ea1e76fa8248e205de212a0/ai_rulez-1.1.3.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.1.3 2025-08-31T07:22:29,649 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/93/89/ac55166bbfd0e73348a587ce3b893a825da7e882728085b23da2d0e0cd81/ai_rulez-1.1.4-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,650 Found link https://files.pythonhosted.org/packages/79/f9/c23ee69e245cbde2171f01fcd9b496f90b89afea1580998a4b4135ad6edf/ai_rulez-1.1.4.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.1.4 2025-08-31T07:22:29,650 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/4d/c2/bd3fb5e05cce34e15762fb60ad92a431d9e363a08c188287b2c961c2a371/ai_rulez-1.2.0-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,651 Found link https://files.pythonhosted.org/packages/e3/fb/94667de8068ed2cff5f2a6025563aa53bb85de7b82b712814b8e3d1c31f2/ai_rulez-1.2.0.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.2.0 2025-08-31T07:22:29,652 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/cb/45/11908f4941a3a012f32326c69f2a53dd73a92f451a1cd661bd32850a5095/ai_rulez-1.4.1-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,653 Found link https://files.pythonhosted.org/packages/b1/1f/f50c25e081fc1c28efe9a1c3ac05050c8849a0decfeed626e3a64533bcd0/ai_rulez-1.4.1.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.4.1 2025-08-31T07:22:29,653 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/f4/c3/2daaea9b64ed9987d1a9a65036ba83cc44230c054d09f06bd3fdfb780cc8/ai_rulez-1.4.2-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,654 Found link https://files.pythonhosted.org/packages/2c/e8/94bb8aaa0092cd448b2116ffc00f7541aa02fa5f74c89bff6ebdbb2bd9f2/ai_rulez-1.4.2.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.4.2 2025-08-31T07:22:29,654 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/aa/44/a5c151c37f68d55f6e0956370e43625d3ab276e4bd56aebb37ed9876d96b/ai_rulez-1.4.3-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,655 Found link https://files.pythonhosted.org/packages/ad/0a/ac16aa476a1eb9bb2ee9ebc5a48acbe7ac52c9fbe7dac377f78ffe359066/ai_rulez-1.4.3.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.4.3 2025-08-31T07:22:29,655 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/6f/ba/2b1dacd389ce7062129bbaca14f715902d7b181a5f6111866b15f8931372/ai_rulez-1.4.4-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,656 Found link https://files.pythonhosted.org/packages/34/e1/6f33289d2b9bb846e47fe311e20925821813331cfa78c5ddc849d42c0fcb/ai_rulez-1.4.4.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.4.4 2025-08-31T07:22:29,657 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/c9/e6/d0c73c2aadc17ab9aabd6ec7a6bc59e7bf8c8d91d29662032a1813be0d9d/ai_rulez-1.5.0-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,657 Found link https://files.pythonhosted.org/packages/0b/61/c48ceebc49fdbdf34691a4bfade43e528123a57698e0cbba66d3d8976e34/ai_rulez-1.5.0.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.5.0 2025-08-31T07:22:29,658 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/b5/99/5ccfed04146d454e3369e8bc3808d8ae6d8567470f3a6e5e0f3f32024c28/ai_rulez-1.5.1-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,658 Found link https://files.pythonhosted.org/packages/ab/7c/72a1cbc670b9fb506e0415770ef2d55d6745a607840cbe847b5ce4b6f872/ai_rulez-1.5.1.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.5.1 2025-08-31T07:22:29,659 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/23/8c/a0277daa8d8d7c893c6f3cb22455b854f98c52ca81b20f522a8d8793ea32/ai_rulez-1.6.0-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,660 Found link https://files.pythonhosted.org/packages/e2/47/efb0ef62cf517e6ea59d47e03b8a02bddcec0335021232e6a39571c4b12b/ai_rulez-1.6.0.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.6.0 2025-08-31T07:22:29,660 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/75/72/38dc9ff61901bca91711944b869f9c6fe5bde6e9ad8738d2fb41b4055ef9/ai_rulez-1.6.1-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-08-31T07:22:29,661 Found link https://files.pythonhosted.org/packages/37/53/bd0a51abda13a69ac5909fccd00eb2dba00c59a68f2541e337b0ab0a1f05/ai_rulez-1.6.1.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 1.6.1 2025-08-31T07:22:29,662 Fetching project page and analyzing links: https://www.piwheels.org/simple/ai-rulez/ 2025-08-31T07:22:29,662 Getting page https://www.piwheels.org/simple/ai-rulez/ 2025-08-31T07:22:29,663 Found index url https://www.piwheels.org/simple/ 2025-08-31T07:22:29,833 Fetched page https://www.piwheels.org/simple/ai-rulez/ as text/html 2025-08-31T07:22:29,834 Skipping link: not a file: https://www.piwheels.org/simple/ai-rulez/ 2025-08-31T07:22:29,834 Skipping link: not a file: https://pypi.org/simple/ai-rulez/ 2025-08-31T07:22:29,853 Given no hashes to check 1 links for project 'ai-rulez': discarding no candidates 2025-08-31T07:22:29,855 Collecting ai-rulez==1.2.0 2025-08-31T07:22:29,857 Created temporary directory: /tmp/pip-unpack-669pik4a 2025-08-31T07:22:30,080 Downloading ai_rulez-1.2.0.tar.gz (11 kB) 2025-08-31T07:22:30,111 Added ai-rulez==1.2.0 from https://files.pythonhosted.org/packages/e3/fb/94667de8068ed2cff5f2a6025563aa53bb85de7b82b712814b8e3d1c31f2/ai_rulez-1.2.0.tar.gz to build tracker '/tmp/pip-build-tracker-ygazyba6' 2025-08-31T07:22:30,113 Running setup.py (path:/tmp/pip-wheel-j5tp3s_d/ai-rulez_ac2fff0311b844d1875525b9a69d205d/setup.py) egg_info for package ai-rulez 2025-08-31T07:22:30,114 Created temporary directory: /tmp/pip-pip-egg-info-va6q42pz 2025-08-31T07:22:30,115 Preparing metadata (setup.py): started 2025-08-31T07:22:30,116 Running command python setup.py egg_info 2025-08-31T07:22:30,971 Traceback (most recent call last): 2025-08-31T07:22:30,971 File "", line 2, in 2025-08-31T07:22:30,972 File "", line 35, in 2025-08-31T07:22:30,972 File "/tmp/pip-wheel-j5tp3s_d/ai-rulez_ac2fff0311b844d1875525b9a69d205d/setup.py", line 7, in 2025-08-31T07:22:30,973 setup( 2025-08-31T07:22:30,974 File "/usr/local/lib/python3.11/dist-packages/setuptools/__init__.py", line 115, in setup 2025-08-31T07:22:30,974 return distutils.core.setup(**attrs) 2025-08-31T07:22:30,975 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:30,976 File "/usr/local/lib/python3.11/dist-packages/setuptools/_distutils/core.py", line 148, in setup 2025-08-31T07:22:30,976 _setup_distribution = dist = klass(attrs) 2025-08-31T07:22:30,977 ^^^^^^^^^^^^ 2025-08-31T07:22:30,978 File "/usr/local/lib/python3.11/dist-packages/setuptools/dist.py", line 332, in __init__ 2025-08-31T07:22:30,979 self.metadata.version = self._normalize_version(self.metadata.version) 2025-08-31T07:22:30,980 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:30,981 File "/usr/local/lib/python3.11/dist-packages/setuptools/dist.py", line 368, in _normalize_version 2025-08-31T07:22:30,981 normalized = str(Version(version)) 2025-08-31T07:22:30,982 ^^^^^^^^^^^^^^^^ 2025-08-31T07:22:30,983 File "/usr/lib/python3/dist-packages/packaging/version.py", line 197, in __init__ 2025-08-31T07:22:30,984 raise InvalidVersion(f"Invalid version: '{version}'") 2025-08-31T07:22:30,985 packaging.version.InvalidVersion: Invalid version: '0.0.0-placeholder' 2025-08-31T07:22:31,079 ERROR: python setup.py egg_info exited with 1 2025-08-31T07:22:31,093 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-08-31T07:22:31,093 exec(compile('"'"''"'"''"'"' 2025-08-31T07:22:31,093 # This is -- a caller that pip uses to run setup.py 2025-08-31T07:22:31,093 # 2025-08-31T07:22:31,093 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-08-31T07:22:31,093 # import from `distutils.core` to work with newer packaging standards. 2025-08-31T07:22:31,093 # - It provides a clear error message when setuptools is not installed. 2025-08-31T07:22:31,093 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-08-31T07:22:31,093 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-08-31T07:22:31,093 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-08-31T07:22:31,093 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-08-31T07:22:31,093 import os, sys, tokenize, traceback 2025-08-31T07:22:31,093 2025-08-31T07:22:31,093 try: 2025-08-31T07:22:31,093 import setuptools 2025-08-31T07:22:31,093 except ImportError: 2025-08-31T07:22:31,093 print( 2025-08-31T07:22:31,093 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-08-31T07:22:31,093 "the build environment with exception:", 2025-08-31T07:22:31,093 file=sys.stderr, 2025-08-31T07:22:31,093 ) 2025-08-31T07:22:31,093 traceback.print_exc() 2025-08-31T07:22:31,093 sys.exit(1) 2025-08-31T07:22:31,093 2025-08-31T07:22:31,093 __file__ = %r 2025-08-31T07:22:31,093 sys.argv[0] = __file__ 2025-08-31T07:22:31,093 2025-08-31T07:22:31,093 if os.path.exists(__file__): 2025-08-31T07:22:31,093 filename = __file__ 2025-08-31T07:22:31,093 with tokenize.open(__file__) as f: 2025-08-31T07:22:31,093 setup_py_code = f.read() 2025-08-31T07:22:31,093 else: 2025-08-31T07:22:31,093 filename = "" 2025-08-31T07:22:31,093 setup_py_code = "from setuptools import setup; setup()" 2025-08-31T07:22:31,093 2025-08-31T07:22:31,093 exec(compile(setup_py_code, filename, "exec")) 2025-08-31T07:22:31,093 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-j5tp3s_d/ai-rulez_ac2fff0311b844d1875525b9a69d205d/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-va6q42pz[/] 2025-08-31T07:22:31,093 [bold magenta]cwd[/]: /tmp/pip-wheel-j5tp3s_d/ai-rulez_ac2fff0311b844d1875525b9a69d205d/ 2025-08-31T07:22:31,094 Preparing metadata (setup.py): finished with status 'error' 2025-08-31T07:22:31,096 ERROR: metadata generation failed 2025-08-31T07:22:31,101 Exception information: 2025-08-31T07:22:31,101 Traceback (most recent call last): 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-08-31T07:22:31,101 call_subprocess( 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/utils/subprocess.py", line 212, in call_subprocess 2025-08-31T07:22:31,101 raise error 2025-08-31T07:22:31,101 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-08-31T07:22:31,101 2025-08-31T07:22:31,101 The above exception was the direct cause of the following exception: 2025-08-31T07:22:31,101 2025-08-31T07:22:31,101 Traceback (most recent call last): 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 107, in _run_wrapper 2025-08-31T07:22:31,101 status = _inner_run() 2025-08-31T07:22:31,101 ^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 98, in _inner_run 2025-08-31T07:22:31,101 return self.run(options, args) 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/req_command.py", line 71, in wrapper 2025-08-31T07:22:31,101 return func(self, options, args) 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/commands/wheel.py", line 146, in run 2025-08-31T07:22:31,101 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 98, in resolve 2025-08-31T07:22:31,101 result = self._result = resolver.resolve( 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 596, in resolve 2025-08-31T07:22:31,101 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 429, in resolve 2025-08-31T07:22:31,101 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 150, in _add_to_criteria 2025-08-31T07:22:31,101 if not criterion.candidates: 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-08-31T07:22:31,101 return bool(self._sequence) 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 165, in __bool__ 2025-08-31T07:22:31,101 self._bool = any(self) 2025-08-31T07:22:31,101 ^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 149, in 2025-08-31T07:22:31,101 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 39, in _iter_built 2025-08-31T07:22:31,101 candidate = func() 2025-08-31T07:22:31,101 ^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 180, in _make_candidate_from_link 2025-08-31T07:22:31,101 base: BaseCandidate | None = self._make_base_candidate_from_link( 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 226, in _make_base_candidate_from_link 2025-08-31T07:22:31,101 self._link_candidate_cache[link] = LinkCandidate( 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 309, in __init__ 2025-08-31T07:22:31,101 super().__init__( 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 162, in __init__ 2025-08-31T07:22:31,101 self.dist = self._prepare() 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 239, in _prepare 2025-08-31T07:22:31,101 dist = self._prepare_distribution() 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 320, in _prepare_distribution 2025-08-31T07:22:31,101 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 537, in prepare_linked_requirement 2025-08-31T07:22:31,101 return self._prepare_linked_requirement(req, parallel_builds) 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 652, in _prepare_linked_requirement 2025-08-31T07:22:31,101 dist = _get_prepared_distribution( 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 77, in _get_prepared_distribution 2025-08-31T07:22:31,101 abstract_dist.prepare_distribution_metadata( 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/distributions/sdist.py", line 72, in prepare_distribution_metadata 2025-08-31T07:22:31,101 self.req.prepare_metadata() 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/req/req_install.py", line 584, in prepare_metadata 2025-08-31T07:22:31,101 self.metadata_directory = generate_metadata_legacy( 2025-08-31T07:22:31,101 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T07:22:31,101 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-08-31T07:22:31,101 raise MetadataGenerationFailed(package_details=details) from error 2025-08-31T07:22:31,101 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-08-31T07:22:31,115 Removed ai-rulez==1.2.0 from https://files.pythonhosted.org/packages/e3/fb/94667de8068ed2cff5f2a6025563aa53bb85de7b82b712814b8e3d1c31f2/ai_rulez-1.2.0.tar.gz from build tracker '/tmp/pip-build-tracker-ygazyba6' 2025-08-31T07:22:31,116 Removed build tracker: '/tmp/pip-build-tracker-ygazyba6'