2025-09-07T20:39:41,487 Created temporary directory: /tmp/pip-build-tracker-74fa5gz2 2025-09-07T20:39:41,487 Initialized build tracking at /tmp/pip-build-tracker-74fa5gz2 2025-09-07T20:39:41,488 Created build tracker: /tmp/pip-build-tracker-74fa5gz2 2025-09-07T20:39:41,488 Entered build tracker: /tmp/pip-build-tracker-74fa5gz2 2025-09-07T20:39:41,488 Created temporary directory: /tmp/pip-wheel-syx0arn6 2025-09-07T20:39:41,492 Created temporary directory: /tmp/pip-ephem-wheel-cache-ryu264ao 2025-09-07T20:39:41,555 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-07T20:39:41,558 2 location(s) to search for versions of tipfy-ext-session: 2025-09-07T20:39:41,558 * https://pypi.org/simple/tipfy-ext-session/ 2025-09-07T20:39:41,558 * https://www.piwheels.org/simple/tipfy-ext-session/ 2025-09-07T20:39:41,559 Fetching project page and analyzing links: https://pypi.org/simple/tipfy-ext-session/ 2025-09-07T20:39:41,559 Getting page https://pypi.org/simple/tipfy-ext-session/ 2025-09-07T20:39:41,561 Found index url https://pypi.org/simple/ 2025-09-07T20:39:41,717 Fetched page https://pypi.org/simple/tipfy-ext-session/ as application/vnd.pypi.simple.v1+json 2025-09-07T20:39:41,720 Found link https://files.pythonhosted.org/packages/5e/4d/e5432f43db5470246adaccb22f1fd776c03dac676868435b87e4f89c1d9b/tipfy.ext.session-0.5.4.tar.gz (from https://pypi.org/simple/tipfy-ext-session/), version: 0.5.4 2025-09-07T20:39:41,721 Found link https://files.pythonhosted.org/packages/52/44/5cc8f028348a502fa1f332d8974791380f2d31f0a0d192ca37a9dcbcb95f/tipfy.ext.session-0.5.4.zip (from https://pypi.org/simple/tipfy-ext-session/), version: 0.5.4 2025-09-07T20:39:41,721 Found link https://files.pythonhosted.org/packages/f8/6d/3b9b85d5abdf70bbe950a227386ff61384cecfc0bb80b4c3d7c2a982c39f/tipfy.ext.session-0.5.5.tar.gz (from https://pypi.org/simple/tipfy-ext-session/), version: 0.5.5 2025-09-07T20:39:41,722 Found link https://files.pythonhosted.org/packages/85/7b/f7d262a485336ffb1aee45d89e181aaaaa1ca5f385768e8f756e599879b4/tipfy.ext.session-0.5.5.zip (from https://pypi.org/simple/tipfy-ext-session/), version: 0.5.5 2025-09-07T20:39:41,723 Found link https://files.pythonhosted.org/packages/f9/ec/430f0da54f987b271fb9622c1c4364a305df0656957e6fda8d331ad4caf1/tipfy.ext.session-0.6.tar.gz (from https://pypi.org/simple/tipfy-ext-session/), version: 0.6 2025-09-07T20:39:41,723 Found link https://files.pythonhosted.org/packages/2b/00/26cd823826a0b3c0e44b3bf0e08b1f22d49581bf04a87d4797cb6e261535/tipfy.ext.session-0.6.zip (from https://pypi.org/simple/tipfy-ext-session/), version: 0.6 2025-09-07T20:39:41,723 Found link https://files.pythonhosted.org/packages/73/ec/17c5a4378f47ff026ca86fc3df2159350e9907b8faa8de6101f9e0b0c1ed/tipfy.ext.session-0.6.1.tar.gz (from https://pypi.org/simple/tipfy-ext-session/), version: 0.6.1 2025-09-07T20:39:41,724 Found link https://files.pythonhosted.org/packages/bb/ab/a5cb146bcdb3316a72422586e4c4496f6fcffda6fc020a5da88e0795419e/tipfy.ext.session-0.6.1.zip (from https://pypi.org/simple/tipfy-ext-session/), version: 0.6.1 2025-09-07T20:39:41,724 Found link https://files.pythonhosted.org/packages/52/1b/393fad9f4fb5cb22563a1ca41e247cbce2fc5c9131c17dc0d71580d3bdcb/tipfy.ext.session-0.6.2.tar.gz (from https://pypi.org/simple/tipfy-ext-session/), version: 0.6.2 2025-09-07T20:39:41,725 Found link https://files.pythonhosted.org/packages/79/a7/a4d68bde4e5be7f768a49eabf325b046f2efc40fd5382e88ee42d46cdb3f/tipfy.ext.session-0.6.2.zip (from https://pypi.org/simple/tipfy-ext-session/), version: 0.6.2 2025-09-07T20:39:41,725 Fetching project page and analyzing links: https://www.piwheels.org/simple/tipfy-ext-session/ 2025-09-07T20:39:41,726 Getting page https://www.piwheels.org/simple/tipfy-ext-session/ 2025-09-07T20:39:41,727 Found index url https://www.piwheels.org/simple/ 2025-09-07T20:39:41,837 Fetched page https://www.piwheels.org/simple/tipfy-ext-session/ as text/html 2025-09-07T20:39:41,839 Skipping link: No binaries permitted for tipfy-ext-session: https://archive1.piwheels.org/simple/tipfy-ext-session/tipfy.ext.session-0.6.2-py3-none-any.whl#sha256=de1b9dfb196f747448d4255e00ef2acf9a725cf4ba9102e003fea2760a3a92b8 (from https://www.piwheels.org/simple/tipfy-ext-session/) 2025-09-07T20:39:41,839 Skipping link: No binaries permitted for tipfy-ext-session: https://archive1.piwheels.org/simple/tipfy-ext-session/tipfy.ext.session-0.6.1-py3-none-any.whl#sha256=b14ca1c99693a458582123e047dc4fd9e9ca6d91ba5bc8f8299d765c1d676036 (from https://www.piwheels.org/simple/tipfy-ext-session/) 2025-09-07T20:39:41,839 Skipping link: No binaries permitted for tipfy-ext-session: https://archive1.piwheels.org/simple/tipfy-ext-session/tipfy.ext.session-0.6-py3-none-any.whl#sha256=fbbe1dae139da6f56736a87dc24a824e8a87d2148173b37485949702ad3c879c (from https://www.piwheels.org/simple/tipfy-ext-session/) 2025-09-07T20:39:41,840 Skipping link: No binaries permitted for tipfy-ext-session: https://archive1.piwheels.org/simple/tipfy-ext-session/tipfy.ext.session-0.5.5-py3-none-any.whl#sha256=fa945d099eadf3fcf38449d97fa1c845d50bbfcd21da49f75b4fc62cc6166fd1 (from https://www.piwheels.org/simple/tipfy-ext-session/) 2025-09-07T20:39:41,840 Skipping link: not a file: https://www.piwheels.org/simple/tipfy-ext-session/ 2025-09-07T20:39:41,840 Skipping link: not a file: https://pypi.org/simple/tipfy-ext-session/ 2025-09-07T20:39:41,870 Given no hashes to check 2 links for project 'tipfy-ext-session': discarding no candidates 2025-09-07T20:39:41,871 Collecting tipfy-ext-session==0.5.4 2025-09-07T20:39:41,873 Created temporary directory: /tmp/pip-unpack-a89jbvff 2025-09-07T20:39:42,082 Downloading tipfy.ext.session-0.5.4.zip (11 kB) 2025-09-07T20:39:42,097 Added tipfy-ext-session==0.5.4 from https://files.pythonhosted.org/packages/52/44/5cc8f028348a502fa1f332d8974791380f2d31f0a0d192ca37a9dcbcb95f/tipfy.ext.session-0.5.4.zip to build tracker '/tmp/pip-build-tracker-74fa5gz2' 2025-09-07T20:39:42,098 Running setup.py (path:/tmp/pip-wheel-syx0arn6/tipfy-ext-session_50b091e922ab4987b99bcb23f23e8503/setup.py) egg_info for package tipfy-ext-session 2025-09-07T20:39:42,098 Created temporary directory: /tmp/pip-pip-egg-info-3ijh57j4 2025-09-07T20:39:42,099 Preparing metadata (setup.py): started 2025-09-07T20:39:42,100 Running command python setup.py egg_info 2025-09-07T20:39:43,300 WARNING: 'tipfy.ext' is declared as a package namespace, but 'tipfy' is not: please correct this in setup.py 2025-09-07T20:39:43,301 /usr/local/lib/python3.13/dist-packages/setuptools/dist.py:804: SetuptoolsDeprecationWarning: The namespace_packages parameter is deprecated. 2025-09-07T20:39:43,301 !! 2025-09-07T20:39:43,301 ******************************************************************************** 2025-09-07T20:39:43,302 Please replace its usage with implicit namespaces (PEP 420). 2025-09-07T20:39:43,302 See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages for details. 2025-09-07T20:39:43,302 ******************************************************************************** 2025-09-07T20:39:43,302 !! 2025-09-07T20:39:43,302 ep.load()(self, ep.name, value) 2025-09-07T20:39:43,304 /usr/local/lib/python3.13/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2025-09-07T20:39:43,304 !! 2025-09-07T20:39:43,305 ******************************************************************************** 2025-09-07T20:39:43,305 Please consider removing the following classifiers in favor of a SPDX license expression: 2025-09-07T20:39:43,305 License :: OSI Approved :: BSD License 2025-09-07T20:39:43,305 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2025-09-07T20:39:43,305 ******************************************************************************** 2025-09-07T20:39:43,306 !! 2025-09-07T20:39:43,306 self._finalize_license_expression() 2025-09-07T20:39:43,390 running egg_info 2025-09-07T20:39:43,476 creating /tmp/pip-pip-egg-info-3ijh57j4/tipfy.ext.session.egg-info 2025-09-07T20:39:43,476 writing /tmp/pip-pip-egg-info-3ijh57j4/tipfy.ext.session.egg-info/PKG-INFO 2025-09-07T20:39:43,477 writing dependency_links to /tmp/pip-pip-egg-info-3ijh57j4/tipfy.ext.session.egg-info/dependency_links.txt 2025-09-07T20:39:43,478 writing namespace_packages to /tmp/pip-pip-egg-info-3ijh57j4/tipfy.ext.session.egg-info/namespace_packages.txt 2025-09-07T20:39:43,479 writing requirements to /tmp/pip-pip-egg-info-3ijh57j4/tipfy.ext.session.egg-info/requires.txt 2025-09-07T20:39:43,479 writing top-level names to /tmp/pip-pip-egg-info-3ijh57j4/tipfy.ext.session.egg-info/top_level.txt 2025-09-07T20:39:43,479 writing manifest file '/tmp/pip-pip-egg-info-3ijh57j4/tipfy.ext.session.egg-info/SOURCES.txt' 2025-09-07T20:39:43,654 error: Namespace package problem: tipfy is a namespace package, but its 2025-09-07T20:39:43,655 __init__.py does not call declare_namespace()! Please fix it. 2025-09-07T20:39:43,655 (See the setuptools manual under "Namespace Packages" for details.) 2025-09-07T20:39:43,655 " 2025-09-07T20:39:43,784 ERROR: python setup.py egg_info exited with 1 2025-09-07T20:39:43,798 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-07T20:39:43,798 exec(compile('"'"''"'"''"'"' 2025-09-07T20:39:43,798 # This is -- a caller that pip uses to run setup.py 2025-09-07T20:39:43,798 # 2025-09-07T20:39:43,798 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-07T20:39:43,798 # import from `distutils.core` to work with newer packaging standards. 2025-09-07T20:39:43,798 # - It provides a clear error message when setuptools is not installed. 2025-09-07T20:39:43,798 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-07T20:39:43,798 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-07T20:39:43,798 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-07T20:39:43,798 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-07T20:39:43,798 import os, sys, tokenize, traceback 2025-09-07T20:39:43,798 2025-09-07T20:39:43,798 try: 2025-09-07T20:39:43,798 import setuptools 2025-09-07T20:39:43,798 except ImportError: 2025-09-07T20:39:43,798 print( 2025-09-07T20:39:43,798 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-07T20:39:43,798 "the build environment with exception:", 2025-09-07T20:39:43,798 file=sys.stderr, 2025-09-07T20:39:43,798 ) 2025-09-07T20:39:43,798 traceback.print_exc() 2025-09-07T20:39:43,798 sys.exit(1) 2025-09-07T20:39:43,798 2025-09-07T20:39:43,798 __file__ = %r 2025-09-07T20:39:43,798 sys.argv[0] = __file__ 2025-09-07T20:39:43,798 2025-09-07T20:39:43,798 if os.path.exists(__file__): 2025-09-07T20:39:43,798 filename = __file__ 2025-09-07T20:39:43,798 with tokenize.open(__file__) as f: 2025-09-07T20:39:43,798 setup_py_code = f.read() 2025-09-07T20:39:43,798 else: 2025-09-07T20:39:43,798 filename = "" 2025-09-07T20:39:43,798 setup_py_code = "from setuptools import setup; setup()" 2025-09-07T20:39:43,798 2025-09-07T20:39:43,798 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T20:39:43,798 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-syx0arn6/tipfy-ext-session_50b091e922ab4987b99bcb23f23e8503/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-3ijh57j4[/] 2025-09-07T20:39:43,799 [bold magenta]cwd[/]: /tmp/pip-wheel-syx0arn6/tipfy-ext-session_50b091e922ab4987b99bcb23f23e8503/ 2025-09-07T20:39:43,799 Preparing metadata (setup.py): finished with status 'error' 2025-09-07T20:39:43,800 ERROR: metadata generation failed 2025-09-07T20:39:43,806 Exception information: 2025-09-07T20:39:43,806 Traceback (most recent call last): 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-07T20:39:43,806 call_subprocess( 2025-09-07T20:39:43,806 ~~~~~~~~~~~~~~~^ 2025-09-07T20:39:43,806 args, 2025-09-07T20:39:43,806 ^^^^^ 2025-09-07T20:39:43,806 ...<2 lines>... 2025-09-07T20:39:43,806 spinner=spinner, 2025-09-07T20:39:43,806 ^^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 ) 2025-09-07T20:39:43,806 ^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-07T20:39:43,806 raise error 2025-09-07T20:39:43,806 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-07T20:39:43,806 2025-09-07T20:39:43,806 The above exception was the direct cause of the following exception: 2025-09-07T20:39:43,806 2025-09-07T20:39:43,806 Traceback (most recent call last): 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-07T20:39:43,806 status = _inner_run() 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-07T20:39:43,806 return self.run(options, args) 2025-09-07T20:39:43,806 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-07T20:39:43,806 return func(self, options, args) 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-07T20:39:43,806 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-07T20:39:43,806 result = self._result = resolver.resolve( 2025-09-07T20:39:43,806 ~~~~~~~~~~~~~~~~^ 2025-09-07T20:39:43,806 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-07T20:39:43,806 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 ) 2025-09-07T20:39:43,806 ^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-07T20:39:43,806 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-07T20:39:43,806 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-07T20:39:43,806 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-07T20:39:43,806 if not criterion.candidates: 2025-09-07T20:39:43,806 ^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-07T20:39:43,806 return bool(self._sequence) 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-07T20:39:43,806 self._bool = any(self) 2025-09-07T20:39:43,806 ~~~^^^^^^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-07T20:39:43,806 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-07T20:39:43,806 ^^^^^^^^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-07T20:39:43,806 candidate = func() 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-07T20:39:43,806 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-07T20:39:43,806 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T20:39:43,806 link, template, name, version 2025-09-07T20:39:43,806 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 ) 2025-09-07T20:39:43,806 ^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-07T20:39:43,806 self._link_candidate_cache[link] = LinkCandidate( 2025-09-07T20:39:43,806 ~~~~~~~~~~~~~^ 2025-09-07T20:39:43,806 link, 2025-09-07T20:39:43,806 ^^^^^ 2025-09-07T20:39:43,806 ...<3 lines>... 2025-09-07T20:39:43,806 version=version, 2025-09-07T20:39:43,806 ^^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 ) 2025-09-07T20:39:43,806 ^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-07T20:39:43,806 super().__init__( 2025-09-07T20:39:43,806 ~~~~~~~~~~~~~~~~^ 2025-09-07T20:39:43,806 link=link, 2025-09-07T20:39:43,806 ^^^^^^^^^^ 2025-09-07T20:39:43,806 ...<4 lines>... 2025-09-07T20:39:43,806 version=version, 2025-09-07T20:39:43,806 ^^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 ) 2025-09-07T20:39:43,806 ^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-07T20:39:43,806 self.dist = self._prepare() 2025-09-07T20:39:43,806 ~~~~~~~~~~~~~^^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-07T20:39:43,806 dist = self._prepare_distribution() 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-07T20:39:43,806 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-07T20:39:43,806 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-07T20:39:43,806 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-07T20:39:43,806 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-07T20:39:43,806 dist = _get_prepared_distribution( 2025-09-07T20:39:43,806 req, 2025-09-07T20:39:43,806 ...<3 lines>... 2025-09-07T20:39:43,806 self.check_build_deps, 2025-09-07T20:39:43,806 ) 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-07T20:39:43,806 abstract_dist.prepare_distribution_metadata( 2025-09-07T20:39:43,806 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T20:39:43,806 finder, build_isolation, check_build_deps 2025-09-07T20:39:43,806 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 ) 2025-09-07T20:39:43,806 ^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-07T20:39:43,806 self.req.prepare_metadata() 2025-09-07T20:39:43,806 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-07T20:39:43,806 self.metadata_directory = generate_metadata_legacy( 2025-09-07T20:39:43,806 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T20:39:43,806 build_env=self.build_env, 2025-09-07T20:39:43,806 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 ...<3 lines>... 2025-09-07T20:39:43,806 details=details, 2025-09-07T20:39:43,806 ^^^^^^^^^^^^^^^^ 2025-09-07T20:39:43,806 ) 2025-09-07T20:39:43,806 ^ 2025-09-07T20:39:43,806 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-07T20:39:43,806 raise MetadataGenerationFailed(package_details=details) from error 2025-09-07T20:39:43,806 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-07T20:39:43,831 Removed tipfy-ext-session==0.5.4 from https://files.pythonhosted.org/packages/52/44/5cc8f028348a502fa1f332d8974791380f2d31f0a0d192ca37a9dcbcb95f/tipfy.ext.session-0.5.4.zip from build tracker '/tmp/pip-build-tracker-74fa5gz2' 2025-09-07T20:39:43,832 Removed build tracker: '/tmp/pip-build-tracker-74fa5gz2'