2025-10-10T07:54:41,258 Created temporary directory: /tmp/pip-build-tracker-_pb9qx6a 2025-10-10T07:54:41,259 Initialized build tracking at /tmp/pip-build-tracker-_pb9qx6a 2025-10-10T07:54:41,259 Created build tracker: /tmp/pip-build-tracker-_pb9qx6a 2025-10-10T07:54:41,259 Entered build tracker: /tmp/pip-build-tracker-_pb9qx6a 2025-10-10T07:54:41,259 Created temporary directory: /tmp/pip-wheel-v0yyy8_z 2025-10-10T07:54:41,262 Created temporary directory: /tmp/pip-ephem-wheel-cache-z55_kejo 2025-10-10T07:54:41,323 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-10-10T07:54:41,325 2 location(s) to search for versions of ai-rulez: 2025-10-10T07:54:41,325 * https://pypi.org/simple/ai-rulez/ 2025-10-10T07:54:41,325 * https://www.piwheels.org/simple/ai-rulez/ 2025-10-10T07:54:41,326 Fetching project page and analyzing links: https://pypi.org/simple/ai-rulez/ 2025-10-10T07:54:41,326 Getting page https://pypi.org/simple/ai-rulez/ 2025-10-10T07:54:41,327 Found index url https://pypi.org/simple/ 2025-10-10T07:54:41,476 Fetched page https://pypi.org/simple/ai-rulez/ as application/vnd.pypi.simple.v1+json 2025-10-10T07:54:41,489 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-10-10T07:54:41,491 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-10-10T07:54:41,491 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-10-10T07:54:41,492 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-10-10T07:54:41,492 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-10-10T07:54:41,493 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-10-10T07:54:41,493 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-10-10T07:54:41,494 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-10-10T07:54:41,494 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-10-10T07:54:41,495 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-10-10T07:54:41,495 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-10-10T07:54:41,495 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-10-10T07:54:41,496 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-10-10T07:54:41,496 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-10-10T07:54:41,497 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-10-10T07:54:41,497 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-10-10T07:54:41,497 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-10-10T07:54:41,497 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-10-10T07:54:41,497 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-10-10T07:54:41,498 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-10-10T07:54:41,498 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-10-10T07:54:41,498 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-10-10T07:54:41,498 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-10-10T07:54:41,498 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-10-10T07:54:41,498 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-10-10T07:54:41,499 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-10-10T07:54:41,499 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-10-10T07:54:41,499 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-10-10T07:54:41,499 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-10-10T07:54:41,499 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-10-10T07:54:41,499 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/5b/c7/34b4279d46b74d1437b4b25faab81538cba3c8e7cc675eb63b730e7ac90e/ai_rulez-2.0.0-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-10-10T07:54:41,499 Found link https://files.pythonhosted.org/packages/9b/99/e423bc9bdef1a78a25fac383bb960e3b0e075d523c15527d3149a04b9cd9/ai_rulez-2.0.0.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 2.0.0 2025-10-10T07:54:41,500 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/61/82/6ab61d7b2297fe1890080edf619e95b4edcb2b05bd8c9f74e30a3c1a63f8/ai_rulez-2.0.1-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-10-10T07:54:41,500 Found link https://files.pythonhosted.org/packages/da/64/f019d55b42f12a78f6ad91d4d82dc19d76f664e523c01dbd75ba1a3d8857/ai_rulez-2.0.1.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 2.0.1 2025-10-10T07:54:41,500 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/d0/80/490c734346521eb0cbb3b2c43bdf92d0776e843798a8829ca00ce81090ca/ai_rulez-2.1.0-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-10-10T07:54:41,500 Found link https://files.pythonhosted.org/packages/3f/c6/1c5502561584af97209280b2e6f88d9fb70edea339f99c226879b307641d/ai_rulez-2.1.0.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 2.1.0 2025-10-10T07:54:41,500 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/da/4c/35c3ed310031e200eb8989bdb922ffdfc0862723de42a934b501b33d8ff2/ai_rulez-2.1.2-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-10-10T07:54:41,500 Found link https://files.pythonhosted.org/packages/3b/e6/d6ee8eb9a266cef8626d4ac629917abfba67c78261acf589f7346a1764bb/ai_rulez-2.1.2.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 2.1.2 2025-10-10T07:54:41,501 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/46/a5/3085c37dcd320548750036087e4d57feb36e6dc3f4d748d931a946767099/ai_rulez-2.1.3-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-10-10T07:54:41,501 Found link https://files.pythonhosted.org/packages/54/27/bb7c1983260b8985f4280388e8e888adf34e4a377f02b6fea34a3413ddd6/ai_rulez-2.1.3.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 2.1.3 2025-10-10T07:54:41,501 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/d0/b0/3ea3fe6b31678c684f78f21d1908a0bf57058d0e32c14b7532979657f468/ai_rulez-2.1.4-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-10-10T07:54:41,501 Found link https://files.pythonhosted.org/packages/21/36/1bc045d66f370e8438c938df3d61636dc0116675fafd1ab1b94f6a9fb7b4/ai_rulez-2.1.4.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 2.1.4 2025-10-10T07:54:41,501 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/99/d6/9967189784780410be8cefb4cf074958946866eb7e1228102634eaaa45a8/ai_rulez-2.2.0-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-10-10T07:54:41,501 Found link https://files.pythonhosted.org/packages/c6/7e/e003638c16261560c7c1ac416f69ffb7901ea8c72f51aba25c0253899955/ai_rulez-2.2.0.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 2.2.0 2025-10-10T07:54:41,502 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/6e/2f/98f254e5aa8f45eec3e309a8842c44658cf36291565c0d3faa46c0514d17/ai_rulez-2.2.1-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-10-10T07:54:41,502 Found link https://files.pythonhosted.org/packages/ab/73/1b9c8432784529c6c48cf1d0562fa20464e0b0a0b866087d874ef3a507d2/ai_rulez-2.2.1.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 2.2.1 2025-10-10T07:54:41,502 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/74/ad/e39eb09738b48380ce7fa4850f82abe042b5173cee17ca865b4df6097438/ai_rulez-2.3.0-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-10-10T07:54:41,502 Found link https://files.pythonhosted.org/packages/c0/19/46715c80c59b10a1bcb40dd3413248baaf4ea4e7bcce253618bbe788778f/ai_rulez-2.3.0.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 2.3.0 2025-10-10T07:54:41,502 Skipping link: No binaries permitted for ai-rulez: https://files.pythonhosted.org/packages/9e/93/226716df6420533bfbd7b3595132315364f148ac96e9bebf1a668013bb47/ai_rulez-2.4.0-py3-none-any.whl (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8) 2025-10-10T07:54:41,502 Found link https://files.pythonhosted.org/packages/35/f4/cb81010a6a564a23e77052ae37427c2e8493f73d8b0b45020383dfd202db/ai_rulez-2.4.0.tar.gz (from https://pypi.org/simple/ai-rulez/) (requires-python:>=3.8), version: 2.4.0 2025-10-10T07:54:41,503 Fetching project page and analyzing links: https://www.piwheels.org/simple/ai-rulez/ 2025-10-10T07:54:41,503 Getting page https://www.piwheels.org/simple/ai-rulez/ 2025-10-10T07:54:41,504 Found index url https://www.piwheels.org/simple/ 2025-10-10T07:54:41,602 Fetched page https://www.piwheels.org/simple/ai-rulez/ as text/html 2025-10-10T07:54:41,603 Skipping link: not a file: https://www.piwheels.org/simple/ai-rulez/ 2025-10-10T07:54:41,603 Skipping link: not a file: https://pypi.org/simple/ai-rulez/ 2025-10-10T07:54:41,628 Given no hashes to check 1 links for project 'ai-rulez': discarding no candidates 2025-10-10T07:54:41,630 Collecting ai-rulez==2.4.0 2025-10-10T07:54:41,631 Created temporary directory: /tmp/pip-unpack-6g4jqhvz 2025-10-10T07:54:41,691 Downloading ai_rulez-2.4.0.tar.gz (17 kB) 2025-10-10T07:54:41,708 Added ai-rulez==2.4.0 from https://files.pythonhosted.org/packages/35/f4/cb81010a6a564a23e77052ae37427c2e8493f73d8b0b45020383dfd202db/ai_rulez-2.4.0.tar.gz to build tracker '/tmp/pip-build-tracker-_pb9qx6a' 2025-10-10T07:54:41,709 Running setup.py (path:/tmp/pip-wheel-v0yyy8_z/ai-rulez_df06b7a845154b58a505284a6d630bf9/setup.py) egg_info for package ai-rulez 2025-10-10T07:54:41,709 Created temporary directory: /tmp/pip-pip-egg-info-om3t64z_ 2025-10-10T07:54:41,710 Preparing metadata (setup.py): started 2025-10-10T07:54:41,710 Running command python setup.py egg_info 2025-10-10T07:54:42,525 Traceback (most recent call last): 2025-10-10T07:54:42,531 File "", line 2, in 2025-10-10T07:54:42,531 exec(compile(''' 2025-10-10T07:54:42,531 ~~~~^^^^^^^^^^^^ 2025-10-10T07:54:42,531 # This is -- a caller that pip uses to run setup.py 2025-10-10T07:54:42,531 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,531 ...<32 lines>... 2025-10-10T07:54:42,531 exec(compile(setup_py_code, filename, "exec")) 2025-10-10T07:54:42,531 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,532 ''' % ('/tmp/pip-wheel-v0yyy8_z/ai-rulez_df06b7a845154b58a505284a6d630bf9/setup.py',), "", "exec")) 2025-10-10T07:54:42,532 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,532 File "", line 35, in 2025-10-10T07:54:42,532 File "/tmp/pip-wheel-v0yyy8_z/ai-rulez_df06b7a845154b58a505284a6d630bf9/setup.py", line 16, in 2025-10-10T07:54:42,532 setup( 2025-10-10T07:54:42,532 ~~~~~^ 2025-10-10T07:54:42,532 name="ai-rulez", 2025-10-10T07:54:42,532 ^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,533 ...<82 lines>... 2025-10-10T07:54:42,533 ], 2025-10-10T07:54:42,533 ^^ 2025-10-10T07:54:42,533 ) 2025-10-10T07:54:42,533 ^ 2025-10-10T07:54:42,533 File "/usr/local/lib/python3.13/dist-packages/setuptools/__init__.py", line 115, in setup 2025-10-10T07:54:42,533 return distutils.core.setup(**attrs) 2025-10-10T07:54:42,533 ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ 2025-10-10T07:54:42,533 File "/usr/local/lib/python3.13/dist-packages/setuptools/_distutils/core.py", line 148, in setup 2025-10-10T07:54:42,534 _setup_distribution = dist = klass(attrs) 2025-10-10T07:54:42,534 ~~~~~^^^^^^^ 2025-10-10T07:54:42,534 File "/usr/local/lib/python3.13/dist-packages/setuptools/dist.py", line 332, in __init__ 2025-10-10T07:54:42,534 self.metadata.version = self._normalize_version(self.metadata.version) 2025-10-10T07:54:42,534 ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,534 File "/usr/local/lib/python3.13/dist-packages/setuptools/dist.py", line 368, in _normalize_version 2025-10-10T07:54:42,534 normalized = str(Version(version)) 2025-10-10T07:54:42,534 ~~~~~~~^^^^^^^^^ 2025-10-10T07:54:42,535 File "/usr/lib/python3/dist-packages/packaging/version.py", line 202, in __init__ 2025-10-10T07:54:42,535 raise InvalidVersion(f"Invalid version: {version!r}") 2025-10-10T07:54:42,535 packaging.version.InvalidVersion: Invalid version: '0.0.0-placeholder' 2025-10-10T07:54:42,620 ERROR: python setup.py egg_info exited with 1 2025-10-10T07:54:42,633 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-10-10T07:54:42,633 exec(compile('"'"''"'"''"'"' 2025-10-10T07:54:42,633 # This is -- a caller that pip uses to run setup.py 2025-10-10T07:54:42,633 # 2025-10-10T07:54:42,633 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-10-10T07:54:42,633 # import from `distutils.core` to work with newer packaging standards. 2025-10-10T07:54:42,633 # - It provides a clear error message when setuptools is not installed. 2025-10-10T07:54:42,633 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-10-10T07:54:42,633 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-10-10T07:54:42,633 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-10-10T07:54:42,633 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-10-10T07:54:42,633 import os, sys, tokenize, traceback 2025-10-10T07:54:42,633 2025-10-10T07:54:42,633 try: 2025-10-10T07:54:42,633 import setuptools 2025-10-10T07:54:42,633 except ImportError: 2025-10-10T07:54:42,633 print( 2025-10-10T07:54:42,633 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-10-10T07:54:42,633 "the build environment with exception:", 2025-10-10T07:54:42,633 file=sys.stderr, 2025-10-10T07:54:42,633 ) 2025-10-10T07:54:42,633 traceback.print_exc() 2025-10-10T07:54:42,633 sys.exit(1) 2025-10-10T07:54:42,633 2025-10-10T07:54:42,633 __file__ = %r 2025-10-10T07:54:42,633 sys.argv[0] = __file__ 2025-10-10T07:54:42,633 2025-10-10T07:54:42,633 if os.path.exists(__file__): 2025-10-10T07:54:42,633 filename = __file__ 2025-10-10T07:54:42,633 with tokenize.open(__file__) as f: 2025-10-10T07:54:42,633 setup_py_code = f.read() 2025-10-10T07:54:42,633 else: 2025-10-10T07:54:42,633 filename = "" 2025-10-10T07:54:42,633 setup_py_code = "from setuptools import setup; setup()" 2025-10-10T07:54:42,633 2025-10-10T07:54:42,633 exec(compile(setup_py_code, filename, "exec")) 2025-10-10T07:54:42,633 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-v0yyy8_z/ai-rulez_df06b7a845154b58a505284a6d630bf9/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-om3t64z_[/] 2025-10-10T07:54:42,634 [bold magenta]cwd[/]: /tmp/pip-wheel-v0yyy8_z/ai-rulez_df06b7a845154b58a505284a6d630bf9/ 2025-10-10T07:54:42,634 Preparing metadata (setup.py): finished with status 'error' 2025-10-10T07:54:42,635 ERROR: metadata generation failed 2025-10-10T07:54:42,640 Exception information: 2025-10-10T07:54:42,640 Traceback (most recent call last): 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-10-10T07:54:42,640 call_subprocess( 2025-10-10T07:54:42,640 ~~~~~~~~~~~~~~~^ 2025-10-10T07:54:42,640 args, 2025-10-10T07:54:42,640 ^^^^^ 2025-10-10T07:54:42,640 ...<2 lines>... 2025-10-10T07:54:42,640 spinner=spinner, 2025-10-10T07:54:42,640 ^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 ) 2025-10-10T07:54:42,640 ^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-10-10T07:54:42,640 raise error 2025-10-10T07:54:42,640 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-10-10T07:54:42,640 2025-10-10T07:54:42,640 The above exception was the direct cause of the following exception: 2025-10-10T07:54:42,640 2025-10-10T07:54:42,640 Traceback (most recent call last): 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-10-10T07:54:42,640 status = _inner_run() 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-10-10T07:54:42,640 return self.run(options, args) 2025-10-10T07:54:42,640 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-10-10T07:54:42,640 return func(self, options, args) 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-10-10T07:54:42,640 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-10-10T07:54:42,640 result = self._result = resolver.resolve( 2025-10-10T07:54:42,640 ~~~~~~~~~~~~~~~~^ 2025-10-10T07:54:42,640 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-10-10T07:54:42,640 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 ) 2025-10-10T07:54:42,640 ^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-10-10T07:54:42,640 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-10-10T07:54:42,640 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-10-10T07:54:42,640 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-10-10T07:54:42,640 if not criterion.candidates: 2025-10-10T07:54:42,640 ^^^^^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-10-10T07:54:42,640 return bool(self._sequence) 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-10-10T07:54:42,640 self._bool = any(self) 2025-10-10T07:54:42,640 ~~~^^^^^^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-10-10T07:54:42,640 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-10-10T07:54:42,640 ^^^^^^^^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-10-10T07:54:42,640 candidate = func() 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-10-10T07:54:42,640 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-10-10T07:54:42,640 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-10-10T07:54:42,640 link, template, name, version 2025-10-10T07:54:42,640 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 ) 2025-10-10T07:54:42,640 ^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-10-10T07:54:42,640 self._link_candidate_cache[link] = LinkCandidate( 2025-10-10T07:54:42,640 ~~~~~~~~~~~~~^ 2025-10-10T07:54:42,640 link, 2025-10-10T07:54:42,640 ^^^^^ 2025-10-10T07:54:42,640 ...<3 lines>... 2025-10-10T07:54:42,640 version=version, 2025-10-10T07:54:42,640 ^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 ) 2025-10-10T07:54:42,640 ^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-10-10T07:54:42,640 super().__init__( 2025-10-10T07:54:42,640 ~~~~~~~~~~~~~~~~^ 2025-10-10T07:54:42,640 link=link, 2025-10-10T07:54:42,640 ^^^^^^^^^^ 2025-10-10T07:54:42,640 ...<4 lines>... 2025-10-10T07:54:42,640 version=version, 2025-10-10T07:54:42,640 ^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 ) 2025-10-10T07:54:42,640 ^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-10-10T07:54:42,640 self.dist = self._prepare() 2025-10-10T07:54:42,640 ~~~~~~~~~~~~~^^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-10-10T07:54:42,640 dist = self._prepare_distribution() 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-10-10T07:54:42,640 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-10-10T07:54:42,640 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-10-10T07:54:42,640 return self._prepare_linked_requirement(req, parallel_builds) 2025-10-10T07:54:42,640 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-10-10T07:54:42,640 dist = _get_prepared_distribution( 2025-10-10T07:54:42,640 req, 2025-10-10T07:54:42,640 ...<3 lines>... 2025-10-10T07:54:42,640 self.check_build_deps, 2025-10-10T07:54:42,640 ) 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-10-10T07:54:42,640 abstract_dist.prepare_distribution_metadata( 2025-10-10T07:54:42,640 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-10-10T07:54:42,640 finder, build_isolation, check_build_deps 2025-10-10T07:54:42,640 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 ) 2025-10-10T07:54:42,640 ^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-10-10T07:54:42,640 self.req.prepare_metadata() 2025-10-10T07:54:42,640 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-10-10T07:54:42,640 self.metadata_directory = generate_metadata_legacy( 2025-10-10T07:54:42,640 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-10-10T07:54:42,640 build_env=self.build_env, 2025-10-10T07:54:42,640 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 ...<3 lines>... 2025-10-10T07:54:42,640 details=details, 2025-10-10T07:54:42,640 ^^^^^^^^^^^^^^^^ 2025-10-10T07:54:42,640 ) 2025-10-10T07:54:42,640 ^ 2025-10-10T07:54:42,640 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-10-10T07:54:42,640 raise MetadataGenerationFailed(package_details=details) from error 2025-10-10T07:54:42,640 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-10-10T07:54:42,662 Removed ai-rulez==2.4.0 from https://files.pythonhosted.org/packages/35/f4/cb81010a6a564a23e77052ae37427c2e8493f73d8b0b45020383dfd202db/ai_rulez-2.4.0.tar.gz from build tracker '/tmp/pip-build-tracker-_pb9qx6a' 2025-10-10T07:54:42,662 Removed build tracker: '/tmp/pip-build-tracker-_pb9qx6a'