2025-09-07T20:27:56,238 Created temporary directory: /tmp/pip-build-tracker-azokkd1h 2025-09-07T20:27:56,239 Initialized build tracking at /tmp/pip-build-tracker-azokkd1h 2025-09-07T20:27:56,239 Created build tracker: /tmp/pip-build-tracker-azokkd1h 2025-09-07T20:27:56,239 Entered build tracker: /tmp/pip-build-tracker-azokkd1h 2025-09-07T20:27:56,239 Created temporary directory: /tmp/pip-wheel-zhasyy_9 2025-09-07T20:27:56,242 Created temporary directory: /tmp/pip-ephem-wheel-cache-93mjscq8 2025-09-07T20:27:56,301 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-07T20:27:56,304 2 location(s) to search for versions of pyhistorian: 2025-09-07T20:27:56,304 * https://pypi.org/simple/pyhistorian/ 2025-09-07T20:27:56,304 * https://www.piwheels.org/simple/pyhistorian/ 2025-09-07T20:27:56,304 Fetching project page and analyzing links: https://pypi.org/simple/pyhistorian/ 2025-09-07T20:27:56,305 Getting page https://pypi.org/simple/pyhistorian/ 2025-09-07T20:27:56,306 Found index url https://pypi.org/simple/ 2025-09-07T20:27:56,374 Fetched page https://pypi.org/simple/pyhistorian/ as application/vnd.pypi.simple.v1+json 2025-09-07T20:27:56,376 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/a5/e9/bad455dbc99f1c75e84b8a8ec8ab1eae622b6a1853e007ba8055ae77bf43/pyhistorian-0.5-py2.4.egg (from https://pypi.org/simple/pyhistorian/) 2025-09-07T20:27:56,376 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/a2/42/1fad63b805aa6978790eee85177e6485b3189760a228c52c33d2abd2b381/pyhistorian-0.5-py2.5.egg (from https://pypi.org/simple/pyhistorian/) 2025-09-07T20:27:56,376 Found link https://files.pythonhosted.org/packages/05/6a/69b5c54d28ad85dc4d3673855db3d791555bd39bc6f2212387fffd74d745/pyhistorian-0.5.tar.gz (from https://pypi.org/simple/pyhistorian/), version: 0.5 2025-09-07T20:27:56,377 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/2b/a0/39dab92cdfeb2200bdcbf33002d8f2aff3a045a273759612e35e85cceff2/pyhistorian-0.6-py2.5.egg (from https://pypi.org/simple/pyhistorian/) 2025-09-07T20:27:56,377 Found link https://files.pythonhosted.org/packages/98/60/6ea1ffdbd0a65f24902fcf0d5d0b15d7e1ff03e3ecefa112e113b0b38dfb/pyhistorian-0.6.tar.gz (from https://pypi.org/simple/pyhistorian/), version: 0.6 2025-09-07T20:27:56,377 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/dc/20/0210f72e25699b5fd116fa3cf644ab1ce7976d2492b76064d809e94da449/pyhistorian-0.6.1-py2.5.egg (from https://pypi.org/simple/pyhistorian/) 2025-09-07T20:27:56,377 Found link https://files.pythonhosted.org/packages/e9/bd/60dabd2d7df0dff7d9beab186d196a485a5ce8c29470769bdb5143951f8b/pyhistorian-0.6.1.tar.gz (from https://pypi.org/simple/pyhistorian/), version: 0.6.1 2025-09-07T20:27:56,377 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/0f/49/148456e6462ff4c33ec53706fd6f787ea6dff391c8354cf21d78d6d83a07/pyhistorian-0.6.2-py2.5.egg (from https://pypi.org/simple/pyhistorian/) 2025-09-07T20:27:56,377 Found link https://files.pythonhosted.org/packages/95/c4/7c3e6013bf77d35579a5073dac2e627d1f834a1f05fa5a9a56ed6f342a0e/pyhistorian-0.6.2.tar.gz (from https://pypi.org/simple/pyhistorian/), version: 0.6.2 2025-09-07T20:27:56,378 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/db/95/18bac2c830acd31f0f2e298ef436e0da3b7fa65b3f6774bde1fd01dfc978/pyhistorian-0.6.3-py2.5.egg (from https://pypi.org/simple/pyhistorian/) 2025-09-07T20:27:56,378 Found link https://files.pythonhosted.org/packages/b1/25/f9d691b2bb22d46818b0ad322af98d88d7066bbcfb48c46516ec64701da0/pyhistorian-0.6.3.tar.gz (from https://pypi.org/simple/pyhistorian/), version: 0.6.3 2025-09-07T20:27:56,378 Found link https://files.pythonhosted.org/packages/46/d2/62683446775adf76cd593495302343080e68b563d140131a65c53ce784af/pyhistorian-0.6.8.tar.gz (from https://pypi.org/simple/pyhistorian/), version: 0.6.8 2025-09-07T20:27:56,378 Fetching project page and analyzing links: https://www.piwheels.org/simple/pyhistorian/ 2025-09-07T20:27:56,378 Getting page https://www.piwheels.org/simple/pyhistorian/ 2025-09-07T20:27:56,379 Found index url https://www.piwheels.org/simple/ 2025-09-07T20:27:56,466 Fetched page https://www.piwheels.org/simple/pyhistorian/ as text/html 2025-09-07T20:27:56,468 Skipping link: No binaries permitted for pyhistorian: https://archive1.piwheels.org/simple/pyhistorian/pyhistorian-0.6.8-py3-none-any.whl#sha256=883d5b532c046aa228f22b5f2fc290232b100fd3c9fab73d7db7ba79d3ae1841 (from https://www.piwheels.org/simple/pyhistorian/) 2025-09-07T20:27:56,468 Skipping link: No binaries permitted for pyhistorian: https://archive1.piwheels.org/simple/pyhistorian/pyhistorian-0.6.3-py3-none-any.whl#sha256=ecee1ce0eb405afa02e8f5a271f5c5fb55b0ab5d0a7d77e6d6b4770560f9556f (from https://www.piwheels.org/simple/pyhistorian/) 2025-09-07T20:27:56,469 Skipping link: No binaries permitted for pyhistorian: https://archive1.piwheels.org/simple/pyhistorian/pyhistorian-0.6.2-py3-none-any.whl#sha256=fdcc716c93432aab3a432d630c20a0a52b7470c507dc865345dedd3434a808df (from https://www.piwheels.org/simple/pyhistorian/) 2025-09-07T20:27:56,469 Skipping link: No binaries permitted for pyhistorian: https://archive1.piwheels.org/simple/pyhistorian/pyhistorian-0.6.1-py3-none-any.whl#sha256=8359c00e7f3f0a8eedc54959e726b026196204b826749ddfb7ae6b0557b9f51c (from https://www.piwheels.org/simple/pyhistorian/) 2025-09-07T20:27:56,469 Skipping link: not a file: https://www.piwheels.org/simple/pyhistorian/ 2025-09-07T20:27:56,469 Skipping link: not a file: https://pypi.org/simple/pyhistorian/ 2025-09-07T20:27:56,494 Given no hashes to check 1 links for project 'pyhistorian': discarding no candidates 2025-09-07T20:27:56,495 Collecting pyhistorian==0.6 2025-09-07T20:27:56,497 Created temporary directory: /tmp/pip-unpack-gnoa96f4 2025-09-07T20:27:56,875 Downloading pyhistorian-0.6.tar.gz (17 kB) 2025-09-07T20:27:56,917 Added pyhistorian==0.6 from https://files.pythonhosted.org/packages/98/60/6ea1ffdbd0a65f24902fcf0d5d0b15d7e1ff03e3ecefa112e113b0b38dfb/pyhistorian-0.6.tar.gz to build tracker '/tmp/pip-build-tracker-azokkd1h' 2025-09-07T20:27:56,918 Running setup.py (path:/tmp/pip-wheel-zhasyy_9/pyhistorian_d38c6858cfa64f2faa0f25740c85d418/setup.py) egg_info for package pyhistorian 2025-09-07T20:27:56,919 Created temporary directory: /tmp/pip-pip-egg-info-dvcwcx4c 2025-09-07T20:27:56,919 Preparing metadata (setup.py): started 2025-09-07T20:27:56,920 Running command python setup.py egg_info 2025-09-07T20:27:57,454 Traceback (most recent call last): 2025-09-07T20:27:57,455 File "", line 2, in 2025-09-07T20:27:57,455 exec(compile(''' 2025-09-07T20:27:57,455 ~~~~^^^^^^^^^^^^ 2025-09-07T20:27:57,455 # This is -- a caller that pip uses to run setup.py 2025-09-07T20:27:57,455 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,455 ...<32 lines>... 2025-09-07T20:27:57,456 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T20:27:57,456 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,456 ''' % ('/tmp/pip-wheel-zhasyy_9/pyhistorian_d38c6858cfa64f2faa0f25740c85d418/setup.py',), "", "exec")) 2025-09-07T20:27:57,456 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,456 File "", line 35, in 2025-09-07T20:27:57,456 File "/tmp/pip-wheel-zhasyy_9/pyhistorian_d38c6858cfa64f2faa0f25740c85d418/setup.py", line 5, in 2025-09-07T20:27:57,456 readme_fd = open('README.rst') 2025-09-07T20:27:57,456 FileNotFoundError: [Errno 2] No such file or directory: 'README.rst' 2025-09-07T20:27:57,540 ERROR: python setup.py egg_info exited with 1 2025-09-07T20:27:57,552 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-07T20:27:57,552 exec(compile('"'"''"'"''"'"' 2025-09-07T20:27:57,552 # This is -- a caller that pip uses to run setup.py 2025-09-07T20:27:57,552 # 2025-09-07T20:27:57,552 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-07T20:27:57,552 # import from `distutils.core` to work with newer packaging standards. 2025-09-07T20:27:57,552 # - It provides a clear error message when setuptools is not installed. 2025-09-07T20:27:57,552 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-07T20:27:57,552 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-07T20:27:57,552 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-07T20:27:57,552 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-07T20:27:57,552 import os, sys, tokenize, traceback 2025-09-07T20:27:57,552 2025-09-07T20:27:57,552 try: 2025-09-07T20:27:57,552 import setuptools 2025-09-07T20:27:57,552 except ImportError: 2025-09-07T20:27:57,552 print( 2025-09-07T20:27:57,552 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-07T20:27:57,552 "the build environment with exception:", 2025-09-07T20:27:57,552 file=sys.stderr, 2025-09-07T20:27:57,552 ) 2025-09-07T20:27:57,552 traceback.print_exc() 2025-09-07T20:27:57,552 sys.exit(1) 2025-09-07T20:27:57,552 2025-09-07T20:27:57,552 __file__ = %r 2025-09-07T20:27:57,552 sys.argv[0] = __file__ 2025-09-07T20:27:57,552 2025-09-07T20:27:57,552 if os.path.exists(__file__): 2025-09-07T20:27:57,552 filename = __file__ 2025-09-07T20:27:57,552 with tokenize.open(__file__) as f: 2025-09-07T20:27:57,552 setup_py_code = f.read() 2025-09-07T20:27:57,552 else: 2025-09-07T20:27:57,552 filename = "" 2025-09-07T20:27:57,552 setup_py_code = "from setuptools import setup; setup()" 2025-09-07T20:27:57,552 2025-09-07T20:27:57,552 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T20:27:57,552 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-zhasyy_9/pyhistorian_d38c6858cfa64f2faa0f25740c85d418/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-dvcwcx4c[/] 2025-09-07T20:27:57,552 [bold magenta]cwd[/]: /tmp/pip-wheel-zhasyy_9/pyhistorian_d38c6858cfa64f2faa0f25740c85d418/ 2025-09-07T20:27:57,553 Preparing metadata (setup.py): finished with status 'error' 2025-09-07T20:27:57,553 ERROR: metadata generation failed 2025-09-07T20:27:57,559 Exception information: 2025-09-07T20:27:57,559 Traceback (most recent call last): 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-07T20:27:57,559 call_subprocess( 2025-09-07T20:27:57,559 ~~~~~~~~~~~~~~~^ 2025-09-07T20:27:57,559 args, 2025-09-07T20:27:57,559 ^^^^^ 2025-09-07T20:27:57,559 ...<2 lines>... 2025-09-07T20:27:57,559 spinner=spinner, 2025-09-07T20:27:57,559 ^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 ) 2025-09-07T20:27:57,559 ^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-07T20:27:57,559 raise error 2025-09-07T20:27:57,559 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-07T20:27:57,559 2025-09-07T20:27:57,559 The above exception was the direct cause of the following exception: 2025-09-07T20:27:57,559 2025-09-07T20:27:57,559 Traceback (most recent call last): 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-07T20:27:57,559 status = _inner_run() 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-07T20:27:57,559 return self.run(options, args) 2025-09-07T20:27:57,559 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-07T20:27:57,559 return func(self, options, args) 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-07T20:27:57,559 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-07T20:27:57,559 result = self._result = resolver.resolve( 2025-09-07T20:27:57,559 ~~~~~~~~~~~~~~~~^ 2025-09-07T20:27:57,559 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-07T20:27:57,559 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 ) 2025-09-07T20:27:57,559 ^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-07T20:27:57,559 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-07T20:27:57,559 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-07T20:27:57,559 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-07T20:27:57,559 if not criterion.candidates: 2025-09-07T20:27:57,559 ^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-07T20:27:57,559 return bool(self._sequence) 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-07T20:27:57,559 self._bool = any(self) 2025-09-07T20:27:57,559 ~~~^^^^^^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-07T20:27:57,559 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-07T20:27:57,559 ^^^^^^^^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-07T20:27:57,559 candidate = func() 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-07T20:27:57,559 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-07T20:27:57,559 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T20:27:57,559 link, template, name, version 2025-09-07T20:27:57,559 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 ) 2025-09-07T20:27:57,559 ^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-07T20:27:57,559 self._link_candidate_cache[link] = LinkCandidate( 2025-09-07T20:27:57,559 ~~~~~~~~~~~~~^ 2025-09-07T20:27:57,559 link, 2025-09-07T20:27:57,559 ^^^^^ 2025-09-07T20:27:57,559 ...<3 lines>... 2025-09-07T20:27:57,559 version=version, 2025-09-07T20:27:57,559 ^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 ) 2025-09-07T20:27:57,559 ^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-07T20:27:57,559 super().__init__( 2025-09-07T20:27:57,559 ~~~~~~~~~~~~~~~~^ 2025-09-07T20:27:57,559 link=link, 2025-09-07T20:27:57,559 ^^^^^^^^^^ 2025-09-07T20:27:57,559 ...<4 lines>... 2025-09-07T20:27:57,559 version=version, 2025-09-07T20:27:57,559 ^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 ) 2025-09-07T20:27:57,559 ^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-07T20:27:57,559 self.dist = self._prepare() 2025-09-07T20:27:57,559 ~~~~~~~~~~~~~^^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-07T20:27:57,559 dist = self._prepare_distribution() 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-07T20:27:57,559 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-07T20:27:57,559 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-07T20:27:57,559 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-07T20:27:57,559 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-07T20:27:57,559 dist = _get_prepared_distribution( 2025-09-07T20:27:57,559 req, 2025-09-07T20:27:57,559 ...<3 lines>... 2025-09-07T20:27:57,559 self.check_build_deps, 2025-09-07T20:27:57,559 ) 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-07T20:27:57,559 abstract_dist.prepare_distribution_metadata( 2025-09-07T20:27:57,559 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T20:27:57,559 finder, build_isolation, check_build_deps 2025-09-07T20:27:57,559 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 ) 2025-09-07T20:27:57,559 ^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-07T20:27:57,559 self.req.prepare_metadata() 2025-09-07T20:27:57,559 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-07T20:27:57,559 self.metadata_directory = generate_metadata_legacy( 2025-09-07T20:27:57,559 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T20:27:57,559 build_env=self.build_env, 2025-09-07T20:27:57,559 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 ...<3 lines>... 2025-09-07T20:27:57,559 details=details, 2025-09-07T20:27:57,559 ^^^^^^^^^^^^^^^^ 2025-09-07T20:27:57,559 ) 2025-09-07T20:27:57,559 ^ 2025-09-07T20:27:57,559 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-07T20:27:57,559 raise MetadataGenerationFailed(package_details=details) from error 2025-09-07T20:27:57,559 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-07T20:27:57,579 Removed pyhistorian==0.6 from https://files.pythonhosted.org/packages/98/60/6ea1ffdbd0a65f24902fcf0d5d0b15d7e1ff03e3ecefa112e113b0b38dfb/pyhistorian-0.6.tar.gz from build tracker '/tmp/pip-build-tracker-azokkd1h' 2025-09-07T20:27:57,580 Removed build tracker: '/tmp/pip-build-tracker-azokkd1h'