2025-08-31T23:09:46,462 Created temporary directory: /tmp/pip-build-tracker-u6_ijvc_ 2025-08-31T23:09:46,463 Initialized build tracking at /tmp/pip-build-tracker-u6_ijvc_ 2025-08-31T23:09:46,464 Created build tracker: /tmp/pip-build-tracker-u6_ijvc_ 2025-08-31T23:09:46,464 Entered build tracker: /tmp/pip-build-tracker-u6_ijvc_ 2025-08-31T23:09:46,465 Created temporary directory: /tmp/pip-wheel-zq1d4_pv 2025-08-31T23:09:46,469 Created temporary directory: /tmp/pip-ephem-wheel-cache-799gvo78 2025-08-31T23:09:46,520 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-08-31T23:09:46,522 2 location(s) to search for versions of ai-rulez: 2025-08-31T23:09:46,522 * https://pypi.org/simple/ai-rulez/ 2025-08-31T23:09:46,522 * https://www.piwheels.org/simple/ai-rulez/ 2025-08-31T23:09:46,523 Fetching project page and analyzing links: https://pypi.org/simple/ai-rulez/ 2025-08-31T23:09:46,523 Getting page https://pypi.org/simple/ai-rulez/ 2025-08-31T23:09:46,525 Found index url https://pypi.org/simple/ 2025-08-31T23:09:46,674 Fetched page https://pypi.org/simple/ai-rulez/ as application/vnd.pypi.simple.v1+json 2025-08-31T23:09:46,678 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-31T23:09:46,679 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-31T23:09:46,680 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-31T23:09:46,680 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-31T23:09:46,681 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-31T23:09:46,682 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-31T23:09:46,682 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-31T23:09:46,683 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-31T23:09:46,684 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-31T23:09:46,684 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-31T23:09:46,685 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-31T23:09:46,685 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-31T23:09:46,686 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-31T23:09:46,687 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-31T23:09:46,688 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-31T23:09:46,688 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-31T23:09:46,689 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-31T23:09:46,689 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-31T23:09:46,690 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-31T23:09:46,691 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-31T23:09:46,691 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-31T23:09:46,692 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-31T23:09:46,692 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-31T23:09:46,693 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-31T23:09:46,694 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-31T23:09:46,694 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-31T23:09:46,695 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-31T23:09:46,695 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-31T23:09:46,696 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-31T23:09:46,697 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-31T23:09:46,697 Fetching project page and analyzing links: https://www.piwheels.org/simple/ai-rulez/ 2025-08-31T23:09:46,698 Getting page https://www.piwheels.org/simple/ai-rulez/ 2025-08-31T23:09:46,699 Found index url https://www.piwheels.org/simple/ 2025-08-31T23:09:46,894 Fetched page https://www.piwheels.org/simple/ai-rulez/ as text/html 2025-08-31T23:09:46,895 Skipping link: not a file: https://www.piwheels.org/simple/ai-rulez/ 2025-08-31T23:09:46,895 Skipping link: not a file: https://pypi.org/simple/ai-rulez/ 2025-08-31T23:09:46,915 Given no hashes to check 1 links for project 'ai-rulez': discarding no candidates 2025-08-31T23:09:46,917 Collecting ai-rulez==1.4.2 2025-08-31T23:09:46,920 Created temporary directory: /tmp/pip-unpack-h5m9jl7s 2025-08-31T23:09:47,141 Downloading ai_rulez-1.4.2.tar.gz (11 kB) 2025-08-31T23:09:47,181 Added ai-rulez==1.4.2 from https://files.pythonhosted.org/packages/2c/e8/94bb8aaa0092cd448b2116ffc00f7541aa02fa5f74c89bff6ebdbb2bd9f2/ai_rulez-1.4.2.tar.gz to build tracker '/tmp/pip-build-tracker-u6_ijvc_' 2025-08-31T23:09:47,183 Running setup.py (path:/tmp/pip-wheel-zq1d4_pv/ai-rulez_1795aaf1bccb4fe9a658442d78e57dba/setup.py) egg_info for package ai-rulez 2025-08-31T23:09:47,184 Created temporary directory: /tmp/pip-pip-egg-info-1c300_22 2025-08-31T23:09:47,185 Preparing metadata (setup.py): started 2025-08-31T23:09:47,186 Running command python setup.py egg_info 2025-08-31T23:09:48,034 Traceback (most recent call last): 2025-08-31T23:09:48,034 File "", line 2, in 2025-08-31T23:09:48,034 File "", line 35, in 2025-08-31T23:09:48,035 File "/tmp/pip-wheel-zq1d4_pv/ai-rulez_1795aaf1bccb4fe9a658442d78e57dba/setup.py", line 7, in 2025-08-31T23:09:48,035 setup( 2025-08-31T23:09:48,036 File "/usr/local/lib/python3.11/dist-packages/setuptools/__init__.py", line 115, in setup 2025-08-31T23:09:48,037 return distutils.core.setup(**attrs) 2025-08-31T23:09:48,037 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,038 File "/usr/local/lib/python3.11/dist-packages/setuptools/_distutils/core.py", line 148, in setup 2025-08-31T23:09:48,038 _setup_distribution = dist = klass(attrs) 2025-08-31T23:09:48,039 ^^^^^^^^^^^^ 2025-08-31T23:09:48,040 File "/usr/local/lib/python3.11/dist-packages/setuptools/dist.py", line 332, in __init__ 2025-08-31T23:09:48,041 self.metadata.version = self._normalize_version(self.metadata.version) 2025-08-31T23:09:48,042 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,043 File "/usr/local/lib/python3.11/dist-packages/setuptools/dist.py", line 368, in _normalize_version 2025-08-31T23:09:48,044 normalized = str(Version(version)) 2025-08-31T23:09:48,045 ^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,046 File "/usr/lib/python3/dist-packages/packaging/version.py", line 197, in __init__ 2025-08-31T23:09:48,047 raise InvalidVersion(f"Invalid version: '{version}'") 2025-08-31T23:09:48,048 packaging.version.InvalidVersion: Invalid version: '0.0.0-placeholder' 2025-08-31T23:09:48,144 ERROR: python setup.py egg_info exited with 1 2025-08-31T23:09:48,158 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-08-31T23:09:48,158 exec(compile('"'"''"'"''"'"' 2025-08-31T23:09:48,158 # This is -- a caller that pip uses to run setup.py 2025-08-31T23:09:48,158 # 2025-08-31T23:09:48,158 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-08-31T23:09:48,158 # import from `distutils.core` to work with newer packaging standards. 2025-08-31T23:09:48,158 # - It provides a clear error message when setuptools is not installed. 2025-08-31T23:09:48,158 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-08-31T23:09:48,158 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-08-31T23:09:48,158 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-08-31T23:09:48,158 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-08-31T23:09:48,158 import os, sys, tokenize, traceback 2025-08-31T23:09:48,158 2025-08-31T23:09:48,158 try: 2025-08-31T23:09:48,158 import setuptools 2025-08-31T23:09:48,158 except ImportError: 2025-08-31T23:09:48,158 print( 2025-08-31T23:09:48,158 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-08-31T23:09:48,158 "the build environment with exception:", 2025-08-31T23:09:48,158 file=sys.stderr, 2025-08-31T23:09:48,158 ) 2025-08-31T23:09:48,158 traceback.print_exc() 2025-08-31T23:09:48,158 sys.exit(1) 2025-08-31T23:09:48,158 2025-08-31T23:09:48,158 __file__ = %r 2025-08-31T23:09:48,158 sys.argv[0] = __file__ 2025-08-31T23:09:48,158 2025-08-31T23:09:48,158 if os.path.exists(__file__): 2025-08-31T23:09:48,158 filename = __file__ 2025-08-31T23:09:48,158 with tokenize.open(__file__) as f: 2025-08-31T23:09:48,158 setup_py_code = f.read() 2025-08-31T23:09:48,158 else: 2025-08-31T23:09:48,158 filename = "" 2025-08-31T23:09:48,158 setup_py_code = "from setuptools import setup; setup()" 2025-08-31T23:09:48,158 2025-08-31T23:09:48,158 exec(compile(setup_py_code, filename, "exec")) 2025-08-31T23:09:48,158 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-zq1d4_pv/ai-rulez_1795aaf1bccb4fe9a658442d78e57dba/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-1c300_22[/] 2025-08-31T23:09:48,159 [bold magenta]cwd[/]: /tmp/pip-wheel-zq1d4_pv/ai-rulez_1795aaf1bccb4fe9a658442d78e57dba/ 2025-08-31T23:09:48,159 Preparing metadata (setup.py): finished with status 'error' 2025-08-31T23:09:48,161 ERROR: metadata generation failed 2025-08-31T23:09:48,167 Exception information: 2025-08-31T23:09:48,167 Traceback (most recent call last): 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-08-31T23:09:48,167 call_subprocess( 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/utils/subprocess.py", line 212, in call_subprocess 2025-08-31T23:09:48,167 raise error 2025-08-31T23:09:48,167 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-08-31T23:09:48,167 2025-08-31T23:09:48,167 The above exception was the direct cause of the following exception: 2025-08-31T23:09:48,167 2025-08-31T23:09:48,167 Traceback (most recent call last): 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 107, in _run_wrapper 2025-08-31T23:09:48,167 status = _inner_run() 2025-08-31T23:09:48,167 ^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 98, in _inner_run 2025-08-31T23:09:48,167 return self.run(options, args) 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/req_command.py", line 71, in wrapper 2025-08-31T23:09:48,167 return func(self, options, args) 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/commands/wheel.py", line 146, in run 2025-08-31T23:09:48,167 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 98, in resolve 2025-08-31T23:09:48,167 result = self._result = resolver.resolve( 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 596, in resolve 2025-08-31T23:09:48,167 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 429, in resolve 2025-08-31T23:09:48,167 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 150, in _add_to_criteria 2025-08-31T23:09:48,167 if not criterion.candidates: 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-08-31T23:09:48,167 return bool(self._sequence) 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 165, in __bool__ 2025-08-31T23:09:48,167 self._bool = any(self) 2025-08-31T23:09:48,167 ^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 149, in 2025-08-31T23:09:48,167 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 39, in _iter_built 2025-08-31T23:09:48,167 candidate = func() 2025-08-31T23:09:48,167 ^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 180, in _make_candidate_from_link 2025-08-31T23:09:48,167 base: BaseCandidate | None = self._make_base_candidate_from_link( 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 226, in _make_base_candidate_from_link 2025-08-31T23:09:48,167 self._link_candidate_cache[link] = LinkCandidate( 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 309, in __init__ 2025-08-31T23:09:48,167 super().__init__( 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 162, in __init__ 2025-08-31T23:09:48,167 self.dist = self._prepare() 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 239, in _prepare 2025-08-31T23:09:48,167 dist = self._prepare_distribution() 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 320, in _prepare_distribution 2025-08-31T23:09:48,167 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 537, in prepare_linked_requirement 2025-08-31T23:09:48,167 return self._prepare_linked_requirement(req, parallel_builds) 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 652, in _prepare_linked_requirement 2025-08-31T23:09:48,167 dist = _get_prepared_distribution( 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 77, in _get_prepared_distribution 2025-08-31T23:09:48,167 abstract_dist.prepare_distribution_metadata( 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/distributions/sdist.py", line 72, in prepare_distribution_metadata 2025-08-31T23:09:48,167 self.req.prepare_metadata() 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/req/req_install.py", line 584, in prepare_metadata 2025-08-31T23:09:48,167 self.metadata_directory = generate_metadata_legacy( 2025-08-31T23:09:48,167 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-31T23:09:48,167 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-08-31T23:09:48,167 raise MetadataGenerationFailed(package_details=details) from error 2025-08-31T23:09:48,167 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-08-31T23:09:48,180 Removed ai-rulez==1.4.2 from https://files.pythonhosted.org/packages/2c/e8/94bb8aaa0092cd448b2116ffc00f7541aa02fa5f74c89bff6ebdbb2bd9f2/ai_rulez-1.4.2.tar.gz from build tracker '/tmp/pip-build-tracker-u6_ijvc_' 2025-08-31T23:09:48,181 Removed build tracker: '/tmp/pip-build-tracker-u6_ijvc_'