2025-09-07T21:14:35,958 Created temporary directory: /tmp/pip-build-tracker-giuhoegl 2025-09-07T21:14:35,958 Initialized build tracking at /tmp/pip-build-tracker-giuhoegl 2025-09-07T21:14:35,959 Created build tracker: /tmp/pip-build-tracker-giuhoegl 2025-09-07T21:14:35,959 Entered build tracker: /tmp/pip-build-tracker-giuhoegl 2025-09-07T21:14:35,959 Created temporary directory: /tmp/pip-wheel-moxgs5w7 2025-09-07T21:14:35,962 Created temporary directory: /tmp/pip-ephem-wheel-cache-7ln3h3qp 2025-09-07T21:14:36,022 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-07T21:14:36,024 2 location(s) to search for versions of oath: 2025-09-07T21:14:36,024 * https://pypi.org/simple/oath/ 2025-09-07T21:14:36,024 * https://www.piwheels.org/simple/oath/ 2025-09-07T21:14:36,024 Fetching project page and analyzing links: https://pypi.org/simple/oath/ 2025-09-07T21:14:36,025 Getting page https://pypi.org/simple/oath/ 2025-09-07T21:14:36,026 Found index url https://pypi.org/simple/ 2025-09-07T21:14:36,176 Fetched page https://pypi.org/simple/oath/ as application/vnd.pypi.simple.v1+json 2025-09-07T21:14:36,180 Found link https://files.pythonhosted.org/packages/e0/dd/d700de340b3ef7544af5c4e99f0ba9c230440ae59c42024a7e3e6c06b27e/oath-0.9.tar.gz (from https://pypi.org/simple/oath/), version: 0.9 2025-09-07T21:14:36,181 Found link https://files.pythonhosted.org/packages/f7/3f/efe94057ac0574a7198bb518722c64cdbe668d357886bd40d54060e74ce8/oath-1.0.tar.gz (from https://pypi.org/simple/oath/), version: 1.0 2025-09-07T21:14:36,182 Found link https://files.pythonhosted.org/packages/6b/80/31e79e59ffdbf9427dda391ef50f65179d2f6d7bc6d75ff9a62eb19307a0/oath-1.1.tar.gz (from https://pypi.org/simple/oath/), version: 1.1 2025-09-07T21:14:36,182 Found link https://files.pythonhosted.org/packages/e4/24/dbd5c6b799db1cb02d39f24cff9dfded5ee798b967ad9d898a1acdf5bb21/oath-1.2.tar.gz (from https://pypi.org/simple/oath/), version: 1.2 2025-09-07T21:14:36,183 Found link https://files.pythonhosted.org/packages/d1/54/712e032eba82f054fa7f353ea7d21090709199871de80c0892bd8e6db92e/oath-1.4.0.tar.gz (from https://pypi.org/simple/oath/), version: 1.4.0 2025-09-07T21:14:36,183 Found link https://files.pythonhosted.org/packages/64/19/67fa93580c7fab35fca87dd51952d6255514a024b6add66e4c7769ed9d8c/oath-1.4.1.tar.gz (from https://pypi.org/simple/oath/), version: 1.4.1 2025-09-07T21:14:36,183 Found link https://files.pythonhosted.org/packages/b9/fd/ea1599f446d962789c474d7975ce0952fb4e566982e7dd448ed04b7f9f33/oath-1.4.2.tar.gz (from https://pypi.org/simple/oath/), version: 1.4.2 2025-09-07T21:14:36,184 Skipping link: No binaries permitted for oath: https://files.pythonhosted.org/packages/2b/2f/80089ce16dfdfca7635cc45b09ae89b4b54953a0fdc5b030f547ea486702/oath-1.4.3-py2-none-any.whl (from https://pypi.org/simple/oath/) 2025-09-07T21:14:36,184 Skipping link: No binaries permitted for oath: https://files.pythonhosted.org/packages/73/e4/8eb7f9b6ba62d41857c54724fb3fde5a8952676e1719ea2099063c1fb253/oath-1.4.3-py2.py3-none-any.whl (from https://pypi.org/simple/oath/) 2025-09-07T21:14:36,185 Skipping link: No binaries permitted for oath: https://files.pythonhosted.org/packages/fb/bf/8429159216fb4100992ced577aa0c63ba8d656acbba6ea2617ae07b7309e/oath-1.4.3-py3-none-any.whl (from https://pypi.org/simple/oath/) 2025-09-07T21:14:36,185 Found link https://files.pythonhosted.org/packages/0b/3d/62c62be901c18d436253118a39f26bb0aa84cef0509c8af8d4477a0c8016/oath-1.4.3.tar.gz (from https://pypi.org/simple/oath/), version: 1.4.3 2025-09-07T21:14:36,185 Skipping link: No binaries permitted for oath: https://files.pythonhosted.org/packages/cf/52/e9b0829038c41be3f940de72d1159e3ff40aa5bf20245426ef333426a284/oath-1.4.4-py3-none-any.whl (from https://pypi.org/simple/oath/) 2025-09-07T21:14:36,186 Found link https://files.pythonhosted.org/packages/9f/ee/51d13af182a1dd141c95dbbbc60867ef1d6d3d123e8eb9313ab49deabb79/oath-1.4.4.tar.gz (from https://pypi.org/simple/oath/), version: 1.4.4 2025-09-07T21:14:36,187 Fetching project page and analyzing links: https://www.piwheels.org/simple/oath/ 2025-09-07T21:14:36,187 Getting page https://www.piwheels.org/simple/oath/ 2025-09-07T21:14:36,189 Found index url https://www.piwheels.org/simple/ 2025-09-07T21:14:36,289 Fetched page https://www.piwheels.org/simple/oath/ as text/html 2025-09-07T21:14:36,292 Skipping link: No binaries permitted for oath: https://archive1.piwheels.org/simple/oath/oath-1.4.4-py3-none-any.whl#sha256=cc46a14862b1ad78d16e27a984083a0a95d7c230ac9939bee07a8ca4d48be778 (from https://www.piwheels.org/simple/oath/) 2025-09-07T21:14:36,292 Skipping link: No binaries permitted for oath: https://archive1.piwheels.org/simple/oath/oath-1.4.3-py2.py3-none-any.whl#sha256=82e7492f6bc54ea8186e99c7ba8ebec9bba578023a2cf0f1cb1cf4d5046138d4 (from https://www.piwheels.org/simple/oath/) 2025-09-07T21:14:36,292 Skipping link: No binaries permitted for oath: https://archive1.piwheels.org/simple/oath/oath-1.4.2-py3-none-any.whl#sha256=cadd4c20d02151af485301a58be4c5410e332038227eaf21f07b255f463ee19e (from https://www.piwheels.org/simple/oath/) 2025-09-07T21:14:36,292 Skipping link: No binaries permitted for oath: https://archive1.piwheels.org/simple/oath/oath-1.4.1-py3-none-any.whl#sha256=68c98d9df2db4cdd491f4674e8f8fcc7ef92e31dab1c9dc0832a36550cdd4a8d (from https://www.piwheels.org/simple/oath/) 2025-09-07T21:14:36,292 Skipping link: No binaries permitted for oath: https://archive1.piwheels.org/simple/oath/oath-1.4.0-py3-none-any.whl#sha256=9af84b69512ceb8b21e3a508288d1a6d362ca185e89471d12fba9e7f088886df (from https://www.piwheels.org/simple/oath/) 2025-09-07T21:14:36,292 Skipping link: No binaries permitted for oath: https://archive1.piwheels.org/simple/oath/oath-1.2-py3-none-any.whl#sha256=c10541c4461c26f94e52d8393e8985c1b64983b122aa2967c30df77b60c03a50 (from https://www.piwheels.org/simple/oath/) 2025-09-07T21:14:36,292 Skipping link: No binaries permitted for oath: https://archive1.piwheels.org/simple/oath/oath-1.1-py3-none-any.whl#sha256=c277c98a5a21194ec6c1695eb1ab304aeaf55c22f4f1e23f773dfb16fd85a8e3 (from https://www.piwheels.org/simple/oath/) 2025-09-07T21:14:36,293 Skipping link: No binaries permitted for oath: https://archive1.piwheels.org/simple/oath/oath-1.0-py3-none-any.whl#sha256=1d6750e1ee936899964407839d0f22af5753a55b96dc5458902b5d2989258e06 (from https://www.piwheels.org/simple/oath/) 2025-09-07T21:14:36,293 Skipping link: not a file: https://www.piwheels.org/simple/oath/ 2025-09-07T21:14:36,293 Skipping link: not a file: https://pypi.org/simple/oath/ 2025-09-07T21:14:36,321 Given no hashes to check 1 links for project 'oath': discarding no candidates 2025-09-07T21:14:36,322 Collecting oath==0.9 2025-09-07T21:14:36,323 Created temporary directory: /tmp/pip-unpack-sctrkect 2025-09-07T21:14:36,462 Downloading oath-0.9.tar.gz (6.1 kB) 2025-09-07T21:14:36,481 Added oath==0.9 from https://files.pythonhosted.org/packages/e0/dd/d700de340b3ef7544af5c4e99f0ba9c230440ae59c42024a7e3e6c06b27e/oath-0.9.tar.gz to build tracker '/tmp/pip-build-tracker-giuhoegl' 2025-09-07T21:14:36,484 Running setup.py (path:/tmp/pip-wheel-moxgs5w7/oath_ad5a0d0c2fc8491d8472761c99ca122a/setup.py) egg_info for package oath 2025-09-07T21:14:36,484 Created temporary directory: /tmp/pip-pip-egg-info-kzvg8_cb 2025-09-07T21:14:36,484 Preparing metadata (setup.py): started 2025-09-07T21:14:36,485 Running command python setup.py egg_info 2025-09-07T21:14:37,002 Traceback (most recent call last): 2025-09-07T21:14:37,003 File "", line 2, in 2025-09-07T21:14:37,004 exec(compile(''' 2025-09-07T21:14:37,004 ~~~~^^^^^^^^^^^^ 2025-09-07T21:14:37,004 # This is -- a caller that pip uses to run setup.py 2025-09-07T21:14:37,004 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,004 ...<32 lines>... 2025-09-07T21:14:37,004 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T21:14:37,004 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,004 ''' % ('/tmp/pip-wheel-moxgs5w7/oath_ad5a0d0c2fc8491d8472761c99ca122a/setup.py',), "", "exec")) 2025-09-07T21:14:37,005 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,005 File "", line 35, in 2025-09-07T21:14:37,005 File "/tmp/pip-wheel-moxgs5w7/oath_ad5a0d0c2fc8491d8472761c99ca122a/setup.py", line 3, in 2025-09-07T21:14:37,005 import oath 2025-09-07T21:14:37,005 File "/tmp/pip-wheel-moxgs5w7/oath_ad5a0d0c2fc8491d8472761c99ca122a/oath/__init__.py", line 1, in 2025-09-07T21:14:37,005 from totp import * 2025-09-07T21:14:37,005 ModuleNotFoundError: No module named 'totp' 2025-09-07T21:14:37,090 ERROR: python setup.py egg_info exited with 1 2025-09-07T21:14:37,103 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-07T21:14:37,103 exec(compile('"'"''"'"''"'"' 2025-09-07T21:14:37,103 # This is -- a caller that pip uses to run setup.py 2025-09-07T21:14:37,103 # 2025-09-07T21:14:37,103 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-07T21:14:37,103 # import from `distutils.core` to work with newer packaging standards. 2025-09-07T21:14:37,103 # - It provides a clear error message when setuptools is not installed. 2025-09-07T21:14:37,103 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-07T21:14:37,103 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-07T21:14:37,103 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-07T21:14:37,103 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-07T21:14:37,103 import os, sys, tokenize, traceback 2025-09-07T21:14:37,103 2025-09-07T21:14:37,103 try: 2025-09-07T21:14:37,103 import setuptools 2025-09-07T21:14:37,103 except ImportError: 2025-09-07T21:14:37,103 print( 2025-09-07T21:14:37,103 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-07T21:14:37,103 "the build environment with exception:", 2025-09-07T21:14:37,103 file=sys.stderr, 2025-09-07T21:14:37,103 ) 2025-09-07T21:14:37,103 traceback.print_exc() 2025-09-07T21:14:37,103 sys.exit(1) 2025-09-07T21:14:37,103 2025-09-07T21:14:37,103 __file__ = %r 2025-09-07T21:14:37,103 sys.argv[0] = __file__ 2025-09-07T21:14:37,103 2025-09-07T21:14:37,103 if os.path.exists(__file__): 2025-09-07T21:14:37,103 filename = __file__ 2025-09-07T21:14:37,103 with tokenize.open(__file__) as f: 2025-09-07T21:14:37,103 setup_py_code = f.read() 2025-09-07T21:14:37,103 else: 2025-09-07T21:14:37,103 filename = "" 2025-09-07T21:14:37,103 setup_py_code = "from setuptools import setup; setup()" 2025-09-07T21:14:37,103 2025-09-07T21:14:37,103 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T21:14:37,103 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-moxgs5w7/oath_ad5a0d0c2fc8491d8472761c99ca122a/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-kzvg8_cb[/] 2025-09-07T21:14:37,103 [bold magenta]cwd[/]: /tmp/pip-wheel-moxgs5w7/oath_ad5a0d0c2fc8491d8472761c99ca122a/ 2025-09-07T21:14:37,103 Preparing metadata (setup.py): finished with status 'error' 2025-09-07T21:14:37,104 ERROR: metadata generation failed 2025-09-07T21:14:37,109 Exception information: 2025-09-07T21:14:37,109 Traceback (most recent call last): 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-07T21:14:37,109 call_subprocess( 2025-09-07T21:14:37,109 ~~~~~~~~~~~~~~~^ 2025-09-07T21:14:37,109 args, 2025-09-07T21:14:37,109 ^^^^^ 2025-09-07T21:14:37,109 ...<2 lines>... 2025-09-07T21:14:37,109 spinner=spinner, 2025-09-07T21:14:37,109 ^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 ) 2025-09-07T21:14:37,109 ^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-07T21:14:37,109 raise error 2025-09-07T21:14:37,109 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-07T21:14:37,109 2025-09-07T21:14:37,109 The above exception was the direct cause of the following exception: 2025-09-07T21:14:37,109 2025-09-07T21:14:37,109 Traceback (most recent call last): 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-07T21:14:37,109 status = _inner_run() 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-07T21:14:37,109 return self.run(options, args) 2025-09-07T21:14:37,109 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-07T21:14:37,109 return func(self, options, args) 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-07T21:14:37,109 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-07T21:14:37,109 result = self._result = resolver.resolve( 2025-09-07T21:14:37,109 ~~~~~~~~~~~~~~~~^ 2025-09-07T21:14:37,109 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-07T21:14:37,109 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 ) 2025-09-07T21:14:37,109 ^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-07T21:14:37,109 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-07T21:14:37,109 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-07T21:14:37,109 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-07T21:14:37,109 if not criterion.candidates: 2025-09-07T21:14:37,109 ^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-07T21:14:37,109 return bool(self._sequence) 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-07T21:14:37,109 self._bool = any(self) 2025-09-07T21:14:37,109 ~~~^^^^^^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-07T21:14:37,109 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-07T21:14:37,109 ^^^^^^^^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-07T21:14:37,109 candidate = func() 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-07T21:14:37,109 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-07T21:14:37,109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T21:14:37,109 link, template, name, version 2025-09-07T21:14:37,109 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 ) 2025-09-07T21:14:37,109 ^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-07T21:14:37,109 self._link_candidate_cache[link] = LinkCandidate( 2025-09-07T21:14:37,109 ~~~~~~~~~~~~~^ 2025-09-07T21:14:37,109 link, 2025-09-07T21:14:37,109 ^^^^^ 2025-09-07T21:14:37,109 ...<3 lines>... 2025-09-07T21:14:37,109 version=version, 2025-09-07T21:14:37,109 ^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 ) 2025-09-07T21:14:37,109 ^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-07T21:14:37,109 super().__init__( 2025-09-07T21:14:37,109 ~~~~~~~~~~~~~~~~^ 2025-09-07T21:14:37,109 link=link, 2025-09-07T21:14:37,109 ^^^^^^^^^^ 2025-09-07T21:14:37,109 ...<4 lines>... 2025-09-07T21:14:37,109 version=version, 2025-09-07T21:14:37,109 ^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 ) 2025-09-07T21:14:37,109 ^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-07T21:14:37,109 self.dist = self._prepare() 2025-09-07T21:14:37,109 ~~~~~~~~~~~~~^^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-07T21:14:37,109 dist = self._prepare_distribution() 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-07T21:14:37,109 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-07T21:14:37,109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-07T21:14:37,109 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-07T21:14:37,109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-07T21:14:37,109 dist = _get_prepared_distribution( 2025-09-07T21:14:37,109 req, 2025-09-07T21:14:37,109 ...<3 lines>... 2025-09-07T21:14:37,109 self.check_build_deps, 2025-09-07T21:14:37,109 ) 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-07T21:14:37,109 abstract_dist.prepare_distribution_metadata( 2025-09-07T21:14:37,109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T21:14:37,109 finder, build_isolation, check_build_deps 2025-09-07T21:14:37,109 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 ) 2025-09-07T21:14:37,109 ^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-07T21:14:37,109 self.req.prepare_metadata() 2025-09-07T21:14:37,109 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-07T21:14:37,109 self.metadata_directory = generate_metadata_legacy( 2025-09-07T21:14:37,109 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T21:14:37,109 build_env=self.build_env, 2025-09-07T21:14:37,109 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 ...<3 lines>... 2025-09-07T21:14:37,109 details=details, 2025-09-07T21:14:37,109 ^^^^^^^^^^^^^^^^ 2025-09-07T21:14:37,109 ) 2025-09-07T21:14:37,109 ^ 2025-09-07T21:14:37,109 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-07T21:14:37,109 raise MetadataGenerationFailed(package_details=details) from error 2025-09-07T21:14:37,109 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-07T21:14:37,130 Removed oath==0.9 from https://files.pythonhosted.org/packages/e0/dd/d700de340b3ef7544af5c4e99f0ba9c230440ae59c42024a7e3e6c06b27e/oath-0.9.tar.gz from build tracker '/tmp/pip-build-tracker-giuhoegl' 2025-09-07T21:14:37,130 Removed build tracker: '/tmp/pip-build-tracker-giuhoegl'