2025-09-10T00:52:57,021 Created temporary directory: /tmp/pip-build-tracker-9vw3ugke 2025-09-10T00:52:57,022 Initialized build tracking at /tmp/pip-build-tracker-9vw3ugke 2025-09-10T00:52:57,022 Created build tracker: /tmp/pip-build-tracker-9vw3ugke 2025-09-10T00:52:57,022 Entered build tracker: /tmp/pip-build-tracker-9vw3ugke 2025-09-10T00:52:57,023 Created temporary directory: /tmp/pip-wheel-e1xztmz7 2025-09-10T00:52:57,026 Created temporary directory: /tmp/pip-ephem-wheel-cache-lgcbtt6q 2025-09-10T00:52:57,084 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-10T00:52:57,086 2 location(s) to search for versions of openseespysubstepping: 2025-09-10T00:52:57,086 * https://pypi.org/simple/openseespysubstepping/ 2025-09-10T00:52:57,086 * https://www.piwheels.org/simple/openseespysubstepping/ 2025-09-10T00:52:57,086 Fetching project page and analyzing links: https://pypi.org/simple/openseespysubstepping/ 2025-09-10T00:52:57,087 Getting page https://pypi.org/simple/openseespysubstepping/ 2025-09-10T00:52:57,088 Found index url https://pypi.org/simple/ 2025-09-10T00:52:57,254 Fetched page https://pypi.org/simple/openseespysubstepping/ as application/vnd.pypi.simple.v1+json 2025-09-10T00:52:57,258 Skipping link: No binaries permitted for openseespysubstepping: https://files.pythonhosted.org/packages/b9/5c/fe1925561c6a1a27c622d99a31b448e277760aa3875a69fae7be95414768/OpenSeesPySubStepping-0.1.0-py3-none-any.whl (from https://pypi.org/simple/openseespysubstepping/) (requires-python:>=3.7.9) 2025-09-10T00:52:57,259 Found link https://files.pythonhosted.org/packages/01/86/bd10431bd828cc4d61672fc61cd7e8e28a8bc3304099e32c54060950e3dc/OpenSeesPySubStepping-0.1.0.tar.gz (from https://pypi.org/simple/openseespysubstepping/) (requires-python:>=3.7.9), version: 0.1.0 2025-09-10T00:52:57,260 Skipping link: No binaries permitted for openseespysubstepping: https://files.pythonhosted.org/packages/76/99/6d67af37fcdd6976e08cb431d180e36cf9d493695538d3f854a10ffe1e49/OpenSeesPySubStepping-0.1.1-py3-none-any.whl (from https://pypi.org/simple/openseespysubstepping/) (requires-python:>=3.7.9) 2025-09-10T00:52:57,260 Found link https://files.pythonhosted.org/packages/88/d6/9615c977915732da571cbad3ac2e8b7c609adf319e6f8fc8e15226d89fdf/OpenSeesPySubStepping-0.1.1.tar.gz (from https://pypi.org/simple/openseespysubstepping/) (requires-python:>=3.7.9), version: 0.1.1 2025-09-10T00:52:57,261 Skipping link: No binaries permitted for openseespysubstepping: https://files.pythonhosted.org/packages/52/d6/89a46ff1249c3e361299710f1504ea8bef359f23016ab91f210e1fb5dad1/OpenSeesPySubStepping-0.1.1.2-py3-none-any.whl (from https://pypi.org/simple/openseespysubstepping/) (requires-python:>=3.7.9) 2025-09-10T00:52:57,261 Found link https://files.pythonhosted.org/packages/d1/64/9e90a223f42dbb601495627a055b94d30fe29ca3f9c8fc7f08a312423e87/OpenSeesPySubStepping-0.1.1.2.tar.gz (from https://pypi.org/simple/openseespysubstepping/) (requires-python:>=3.7.9), version: 0.1.1.2 2025-09-10T00:52:57,262 Skipping link: No binaries permitted for openseespysubstepping: https://files.pythonhosted.org/packages/4f/37/81249be83bf86a46566ae0d90af003686b4b0ad38a291dc0ec6d5f7f55a7/OpenSeesPySubStepping-0.1.2.0-py3-none-any.whl (from https://pypi.org/simple/openseespysubstepping/) (requires-python:>=3.7.9) 2025-09-10T00:52:57,262 Found link https://files.pythonhosted.org/packages/2a/e5/60599dbb6b22afe25cf7a779e9b80c12e1833b5d6204a833ef8994bf19fa/OpenSeesPySubStepping-0.1.2.0.tar.gz (from https://pypi.org/simple/openseespysubstepping/) (requires-python:>=3.7.9), version: 0.1.2.0 2025-09-10T00:52:57,262 Skipping link: No binaries permitted for openseespysubstepping: https://files.pythonhosted.org/packages/87/1c/34f6ca8530346939c36ea95aeae436face6ed3a027b0f73f5643b423acd4/OpenSeesPySubStepping-0.1.2.1-py3-none-any.whl (from https://pypi.org/simple/openseespysubstepping/) (requires-python:>=3.7.9) 2025-09-10T00:52:57,263 Found link https://files.pythonhosted.org/packages/d7/93/ed249df9eb032e7fb3c851c3f3bdd46664695f2840bb2f266b1e7393bf03/OpenSeesPySubStepping-0.1.2.1.tar.gz (from https://pypi.org/simple/openseespysubstepping/) (requires-python:>=3.7.9), version: 0.1.2.1 2025-09-10T00:52:57,263 Fetching project page and analyzing links: https://www.piwheels.org/simple/openseespysubstepping/ 2025-09-10T00:52:57,264 Getting page https://www.piwheels.org/simple/openseespysubstepping/ 2025-09-10T00:52:57,265 Found index url https://www.piwheels.org/simple/ 2025-09-10T00:52:57,360 Fetched page https://www.piwheels.org/simple/openseespysubstepping/ as text/html 2025-09-10T00:52:57,361 Skipping link: No binaries permitted for openseespysubstepping: https://archive1.piwheels.org/simple/openseespysubstepping/OpenSeesPySubStepping-0.1.1.2-py3-none-any.whl#sha256=c46873dbddfba2102be24786603b1f98a616ba6ac3e680e1cfe20490a35a6d8f (from https://www.piwheels.org/simple/openseespysubstepping/) (requires-python:>=3.7.9) 2025-09-10T00:52:57,361 Skipping link: No binaries permitted for openseespysubstepping: https://archive1.piwheels.org/simple/openseespysubstepping/OpenSeesPySubStepping-0.1.1-py3-none-any.whl#sha256=71fb2a396a28633c28cab8aabff87ed98c2eb54d8128e43023c8746d91a83021 (from https://www.piwheels.org/simple/openseespysubstepping/) (requires-python:>=3.7.9) 2025-09-10T00:52:57,361 Skipping link: No binaries permitted for openseespysubstepping: https://archive1.piwheels.org/simple/openseespysubstepping/OpenSeesPySubStepping-0.1.0-py3-none-any.whl#sha256=f9693e1182ef6ed3fac8fbddaa8cdbc7630d07735311691090b2aa7801ecb472 (from https://www.piwheels.org/simple/openseespysubstepping/) (requires-python:>=3.7.9) 2025-09-10T00:52:57,362 Skipping link: not a file: https://www.piwheels.org/simple/openseespysubstepping/ 2025-09-10T00:52:57,362 Skipping link: not a file: https://pypi.org/simple/openseespysubstepping/ 2025-09-10T00:52:57,386 Given no hashes to check 1 links for project 'openseespysubstepping': discarding no candidates 2025-09-10T00:52:57,387 Collecting openseespysubstepping==0.1.2.0 2025-09-10T00:52:57,388 Created temporary directory: /tmp/pip-unpack-_4ewb1ht 2025-09-10T00:52:57,670 Downloading OpenSeesPySubStepping-0.1.2.0.tar.gz (4.3 kB) 2025-09-10T00:52:57,691 Added openseespysubstepping==0.1.2.0 from https://files.pythonhosted.org/packages/2a/e5/60599dbb6b22afe25cf7a779e9b80c12e1833b5d6204a833ef8994bf19fa/OpenSeesPySubStepping-0.1.2.0.tar.gz to build tracker '/tmp/pip-build-tracker-9vw3ugke' 2025-09-10T00:52:57,693 Running setup.py (path:/tmp/pip-wheel-e1xztmz7/openseespysubstepping_589f6cf2b8574c878de0b4ad0432696c/setup.py) egg_info for package openseespysubstepping 2025-09-10T00:52:57,693 Created temporary directory: /tmp/pip-pip-egg-info-m_xalpvd 2025-09-10T00:52:57,693 Preparing metadata (setup.py): started 2025-09-10T00:52:57,694 Running command python setup.py egg_info 2025-09-10T00:52:58,215 Traceback (most recent call last): 2025-09-10T00:52:58,216 File "", line 2, in 2025-09-10T00:52:58,217 exec(compile(''' 2025-09-10T00:52:58,217 ~~~~^^^^^^^^^^^^ 2025-09-10T00:52:58,217 # This is -- a caller that pip uses to run setup.py 2025-09-10T00:52:58,217 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,217 ...<32 lines>... 2025-09-10T00:52:58,217 exec(compile(setup_py_code, filename, "exec")) 2025-09-10T00:52:58,217 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,217 ''' % ('/tmp/pip-wheel-e1xztmz7/openseespysubstepping_589f6cf2b8574c878de0b4ad0432696c/setup.py',), "", "exec")) 2025-09-10T00:52:58,218 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,218 File "", line 35, in 2025-09-10T00:52:58,218 File "/tmp/pip-wheel-e1xztmz7/openseespysubstepping_589f6cf2b8574c878de0b4ad0432696c/setup.py", line 2, in 2025-09-10T00:52:58,218 from __version__ import _version 2025-09-10T00:52:58,218 ModuleNotFoundError: No module named '__version__' 2025-09-10T00:52:58,303 ERROR: python setup.py egg_info exited with 1 2025-09-10T00:52:58,315 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-10T00:52:58,315 exec(compile('"'"''"'"''"'"' 2025-09-10T00:52:58,315 # This is -- a caller that pip uses to run setup.py 2025-09-10T00:52:58,315 # 2025-09-10T00:52:58,315 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-10T00:52:58,315 # import from `distutils.core` to work with newer packaging standards. 2025-09-10T00:52:58,315 # - It provides a clear error message when setuptools is not installed. 2025-09-10T00:52:58,315 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-10T00:52:58,315 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-10T00:52:58,315 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-10T00:52:58,315 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-10T00:52:58,315 import os, sys, tokenize, traceback 2025-09-10T00:52:58,315 2025-09-10T00:52:58,315 try: 2025-09-10T00:52:58,315 import setuptools 2025-09-10T00:52:58,315 except ImportError: 2025-09-10T00:52:58,315 print( 2025-09-10T00:52:58,315 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-10T00:52:58,315 "the build environment with exception:", 2025-09-10T00:52:58,315 file=sys.stderr, 2025-09-10T00:52:58,315 ) 2025-09-10T00:52:58,315 traceback.print_exc() 2025-09-10T00:52:58,315 sys.exit(1) 2025-09-10T00:52:58,315 2025-09-10T00:52:58,315 __file__ = %r 2025-09-10T00:52:58,315 sys.argv[0] = __file__ 2025-09-10T00:52:58,315 2025-09-10T00:52:58,315 if os.path.exists(__file__): 2025-09-10T00:52:58,315 filename = __file__ 2025-09-10T00:52:58,315 with tokenize.open(__file__) as f: 2025-09-10T00:52:58,315 setup_py_code = f.read() 2025-09-10T00:52:58,315 else: 2025-09-10T00:52:58,315 filename = "" 2025-09-10T00:52:58,315 setup_py_code = "from setuptools import setup; setup()" 2025-09-10T00:52:58,315 2025-09-10T00:52:58,315 exec(compile(setup_py_code, filename, "exec")) 2025-09-10T00:52:58,315 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-e1xztmz7/openseespysubstepping_589f6cf2b8574c878de0b4ad0432696c/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-m_xalpvd[/] 2025-09-10T00:52:58,315 [bold magenta]cwd[/]: /tmp/pip-wheel-e1xztmz7/openseespysubstepping_589f6cf2b8574c878de0b4ad0432696c/ 2025-09-10T00:52:58,315 Preparing metadata (setup.py): finished with status 'error' 2025-09-10T00:52:58,316 ERROR: metadata generation failed 2025-09-10T00:52:58,321 Exception information: 2025-09-10T00:52:58,321 Traceback (most recent call last): 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-10T00:52:58,321 call_subprocess( 2025-09-10T00:52:58,321 ~~~~~~~~~~~~~~~^ 2025-09-10T00:52:58,321 args, 2025-09-10T00:52:58,321 ^^^^^ 2025-09-10T00:52:58,321 ...<2 lines>... 2025-09-10T00:52:58,321 spinner=spinner, 2025-09-10T00:52:58,321 ^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 ) 2025-09-10T00:52:58,321 ^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-10T00:52:58,321 raise error 2025-09-10T00:52:58,321 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-10T00:52:58,321 2025-09-10T00:52:58,321 The above exception was the direct cause of the following exception: 2025-09-10T00:52:58,321 2025-09-10T00:52:58,321 Traceback (most recent call last): 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-10T00:52:58,321 status = _inner_run() 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-10T00:52:58,321 return self.run(options, args) 2025-09-10T00:52:58,321 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-10T00:52:58,321 return func(self, options, args) 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-10T00:52:58,321 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-10T00:52:58,321 result = self._result = resolver.resolve( 2025-09-10T00:52:58,321 ~~~~~~~~~~~~~~~~^ 2025-09-10T00:52:58,321 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-10T00:52:58,321 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 ) 2025-09-10T00:52:58,321 ^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-10T00:52:58,321 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-10T00:52:58,321 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-10T00:52:58,321 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-10T00:52:58,321 if not criterion.candidates: 2025-09-10T00:52:58,321 ^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-10T00:52:58,321 return bool(self._sequence) 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-10T00:52:58,321 self._bool = any(self) 2025-09-10T00:52:58,321 ~~~^^^^^^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-10T00:52:58,321 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-10T00:52:58,321 ^^^^^^^^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-10T00:52:58,321 candidate = func() 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-10T00:52:58,321 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-10T00:52:58,321 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-10T00:52:58,321 link, template, name, version 2025-09-10T00:52:58,321 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 ) 2025-09-10T00:52:58,321 ^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-10T00:52:58,321 self._link_candidate_cache[link] = LinkCandidate( 2025-09-10T00:52:58,321 ~~~~~~~~~~~~~^ 2025-09-10T00:52:58,321 link, 2025-09-10T00:52:58,321 ^^^^^ 2025-09-10T00:52:58,321 ...<3 lines>... 2025-09-10T00:52:58,321 version=version, 2025-09-10T00:52:58,321 ^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 ) 2025-09-10T00:52:58,321 ^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-10T00:52:58,321 super().__init__( 2025-09-10T00:52:58,321 ~~~~~~~~~~~~~~~~^ 2025-09-10T00:52:58,321 link=link, 2025-09-10T00:52:58,321 ^^^^^^^^^^ 2025-09-10T00:52:58,321 ...<4 lines>... 2025-09-10T00:52:58,321 version=version, 2025-09-10T00:52:58,321 ^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 ) 2025-09-10T00:52:58,321 ^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-10T00:52:58,321 self.dist = self._prepare() 2025-09-10T00:52:58,321 ~~~~~~~~~~~~~^^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-10T00:52:58,321 dist = self._prepare_distribution() 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-10T00:52:58,321 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-10T00:52:58,321 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-10T00:52:58,321 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-10T00:52:58,321 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-10T00:52:58,321 dist = _get_prepared_distribution( 2025-09-10T00:52:58,321 req, 2025-09-10T00:52:58,321 ...<3 lines>... 2025-09-10T00:52:58,321 self.check_build_deps, 2025-09-10T00:52:58,321 ) 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-10T00:52:58,321 abstract_dist.prepare_distribution_metadata( 2025-09-10T00:52:58,321 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-10T00:52:58,321 finder, build_isolation, check_build_deps 2025-09-10T00:52:58,321 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 ) 2025-09-10T00:52:58,321 ^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-10T00:52:58,321 self.req.prepare_metadata() 2025-09-10T00:52:58,321 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-10T00:52:58,321 self.metadata_directory = generate_metadata_legacy( 2025-09-10T00:52:58,321 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-10T00:52:58,321 build_env=self.build_env, 2025-09-10T00:52:58,321 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 ...<3 lines>... 2025-09-10T00:52:58,321 details=details, 2025-09-10T00:52:58,321 ^^^^^^^^^^^^^^^^ 2025-09-10T00:52:58,321 ) 2025-09-10T00:52:58,321 ^ 2025-09-10T00:52:58,321 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-10T00:52:58,321 raise MetadataGenerationFailed(package_details=details) from error 2025-09-10T00:52:58,321 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-10T00:52:58,341 Removed openseespysubstepping==0.1.2.0 from https://files.pythonhosted.org/packages/2a/e5/60599dbb6b22afe25cf7a779e9b80c12e1833b5d6204a833ef8994bf19fa/OpenSeesPySubStepping-0.1.2.0.tar.gz from build tracker '/tmp/pip-build-tracker-9vw3ugke' 2025-09-10T00:52:58,342 Removed build tracker: '/tmp/pip-build-tracker-9vw3ugke'