2026-10-02T10:57:20,539 Created temporary directory: /tmp/pip-ephem-wheel-cache-4n472hzf 2026-10-02T10:57:20,541 Created temporary directory: /tmp/pip-build-tracker-2ey3efw9 2026-10-02T10:57:20,542 Initialized build tracking at /tmp/pip-build-tracker-2ey3efw9 2026-10-02T10:57:20,542 Created build tracker: /tmp/pip-build-tracker-2ey3efw9 2026-10-02T10:57:20,543 Entered build tracker: /tmp/pip-build-tracker-2ey3efw9 2026-10-02T10:57:20,543 Created temporary directory: /tmp/pip-wheel-iqh7w2jz 2026-10-02T10:57:20,546 DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453 2026-10-02T10:57:20,549 Created temporary directory: /tmp/pip-ephem-wheel-cache-gbm47azi 2026-10-02T10:57:20,573 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-10-02T10:57:20,576 2 location(s) to search for versions of tinkerscope: 2026-10-02T10:57:20,576 * https://pypi.org/simple/tinkerscope/ 2026-10-02T10:57:20,576 * https://www.piwheels.org/simple/tinkerscope/ 2026-10-02T10:57:20,577 Fetching project page and analyzing links: https://pypi.org/simple/tinkerscope/ 2026-10-02T10:57:20,578 Getting page https://pypi.org/simple/tinkerscope/ 2026-10-02T10:57:20,579 Found index url https://pypi.org/simple 2026-10-02T10:57:20,954 Fetched page https://pypi.org/simple/tinkerscope/ as application/vnd.pypi.simple.v1+json 2026-10-02T10:57:20,956 Skipping link: No binaries permitted for tinkerscope: https://files.pythonhosted.org/packages/bf/23/bf5119b31b434afc62ef4c6dae31d2484e4faabd231c306a8daba7ba7c19/tinkerscope-1.0.0-py3-none-any.whl (from https://pypi.org/simple/tinkerscope/) (requires-python:>=3.11) 2026-10-02T10:57:20,957 Found link https://files.pythonhosted.org/packages/84/ed/5f75c33014a32d19f69fefe6766941c564efd8636ffc6c93389bbc52780e/tinkerscope-1.0.0.tar.gz (from https://pypi.org/simple/tinkerscope/) (requires-python:>=3.11), version: 1.0.0 2026-10-02T10:57:20,958 Skipping link: No binaries permitted for tinkerscope: https://files.pythonhosted.org/packages/a3/e5/ab33c39d6e4481bed3333472fde50ffcaea5846a52150ab5049a5e39f349/tinkerscope-1.1.0a1-py3-none-any.whl (from https://pypi.org/simple/tinkerscope/) (requires-python:>=3.11) 2026-10-02T10:57:20,959 Found link https://files.pythonhosted.org/packages/51/f6/a5b5195257106f30abcd451eba1470a6fc6fead35108a728ae2a3b01bac1/tinkerscope-1.1.0a1.tar.gz (from https://pypi.org/simple/tinkerscope/) (requires-python:>=3.11), version: 1.1.0a1 2026-10-02T10:57:20,959 Skipping link: No binaries permitted for tinkerscope: https://files.pythonhosted.org/packages/f4/46/7abacd8373050cc6dc3fe8ec54a985cf8d81a585449f056241e014547454/tinkerscope-1.2.0-py3-none-any.whl (from https://pypi.org/simple/tinkerscope/) (requires-python:>=3.11) 2026-10-02T10:57:20,960 Found link https://files.pythonhosted.org/packages/49/6f/dde6fc4ed585ac0c7a3d70a97d9c0d161724f75be34db5ede27b1cdf943b/tinkerscope-1.2.0.tar.gz (from https://pypi.org/simple/tinkerscope/) (requires-python:>=3.11), version: 1.2.0 2026-10-02T10:57:20,961 Skipping link: No binaries permitted for tinkerscope: https://files.pythonhosted.org/packages/ed/63/a515ad55cf9aee9d7c898a45d7060eebb3874910f9239f6a9b1386696f6c/tinkerscope-1.3.0-py3-none-any.whl (from https://pypi.org/simple/tinkerscope/) (requires-python:>=3.11) 2026-10-02T10:57:20,962 Found link https://files.pythonhosted.org/packages/89/0b/d1198501ffe57e504116159c2c69cf521ff0ff24db534dfdf7aa049fdd62/tinkerscope-1.3.0.tar.gz (from https://pypi.org/simple/tinkerscope/) (requires-python:>=3.11), version: 1.3.0 2026-10-02T10:57:20,963 Fetching project page and analyzing links: https://www.piwheels.org/simple/tinkerscope/ 2026-10-02T10:57:20,964 Getting page https://www.piwheels.org/simple/tinkerscope/ 2026-10-02T10:57:20,965 Found index url https://www.piwheels.org/simple 2026-10-02T10:57:21,156 Fetched page https://www.piwheels.org/simple/tinkerscope/ as text/html 2026-10-02T10:57:21,158 Skipping link: not a file: https://www.piwheels.org/simple/tinkerscope/ 2026-10-02T10:57:21,158 Skipping link: not a file: https://pypi.org/simple/tinkerscope/ 2026-10-02T10:57:21,177 Given no hashes to check 1 links for project 'tinkerscope': discarding no candidates 2026-10-02T10:57:21,195 Collecting tinkerscope==1.3.0 2026-10-02T10:57:21,198 Created temporary directory: /tmp/pip-unpack-nvm6k6y4 2026-10-02T10:57:21,348 Downloading tinkerscope-1.3.0.tar.gz (598 kB) 2026-10-02T10:57:21,840 Added tinkerscope==1.3.0 from https://files.pythonhosted.org/packages/89/0b/d1198501ffe57e504116159c2c69cf521ff0ff24db534dfdf7aa049fdd62/tinkerscope-1.3.0.tar.gz to build tracker '/tmp/pip-build-tracker-2ey3efw9' 2026-10-02T10:57:21,846 Created temporary directory: /tmp/pip-build-env-x1c51d2v 2026-10-02T10:57:21,850 Installing build dependencies: started 2026-10-02T10:57:21,851 Running command pip subprocess to install build dependencies 2026-10-02T10:57:22,982 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2026-10-02T10:57:23,447 DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453 2026-10-02T10:57:23,470 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-10-02T10:57:24,040 Collecting hatchling 2026-10-02T10:57:24,041 Obtaining dependency information for hatchling from https://www.piwheels.org/simple/hatchling/hatchling-1.32.4-py3-none-any.whl.metadata 2026-10-02T10:57:24,058 Using cached https://www.piwheels.org/simple/hatchling/hatchling-1.32.4-py3-none-any.whl.metadata (3.9 kB) 2026-10-02T10:57:24,270 Collecting packaging>=24.2 2026-10-02T10:57:24,271 Obtaining dependency information for packaging>=24.2 from https://www.piwheels.org/simple/packaging/packaging-26.3-py3-none-any.whl.metadata 2026-10-02T10:57:24,284 Using cached https://www.piwheels.org/simple/packaging/packaging-26.3-py3-none-any.whl.metadata (3.6 kB) 2026-10-02T10:57:24,406 Collecting pathspec>=0.10.1 2026-10-02T10:57:24,407 Obtaining dependency information for pathspec>=0.10.1 from https://www.piwheels.org/simple/pathspec/pathspec-1.1.1-py3-none-any.whl.metadata 2026-10-02T10:57:24,420 Using cached https://www.piwheels.org/simple/pathspec/pathspec-1.1.1-py3-none-any.whl.metadata (14 kB) 2026-10-02T10:57:24,543 Collecting pluggy>=1.0.0 2026-10-02T10:57:24,544 Obtaining dependency information for pluggy>=1.0.0 from https://www.piwheels.org/simple/pluggy/pluggy-1.6.0-py3-none-any.whl.metadata 2026-10-02T10:57:24,557 Using cached https://www.piwheels.org/simple/pluggy/pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) 2026-10-02T10:57:24,781 Collecting tomlkit>=0.11.1 2026-10-02T10:57:24,782 Obtaining dependency information for tomlkit>=0.11.1 from https://www.piwheels.org/simple/tomlkit/tomlkit-0.15.1-py3-none-any.whl.metadata 2026-10-02T10:57:24,795 Using cached https://www.piwheels.org/simple/tomlkit/tomlkit-0.15.1-py3-none-any.whl.metadata (3.3 kB) 2026-10-02T10:57:25,061 Collecting trove-classifiers 2026-10-02T10:57:25,062 Obtaining dependency information for trove-classifiers from https://www.piwheels.org/simple/trove-classifiers/trove_classifiers-2026.9.21.13-py3-none-any.whl.metadata 2026-10-02T10:57:25,075 Using cached https://www.piwheels.org/simple/trove-classifiers/trove_classifiers-2026.9.21.13-py3-none-any.whl.metadata (2.4 kB) 2026-10-02T10:57:25,141 Using cached https://www.piwheels.org/simple/hatchling/hatchling-1.32.4-py3-none-any.whl (78 kB) 2026-10-02T10:57:25,167 Using cached https://www.piwheels.org/simple/packaging/packaging-26.3-py3-none-any.whl (129 kB) 2026-10-02T10:57:25,186 Using cached https://www.piwheels.org/simple/pathspec/pathspec-1.1.1-py3-none-any.whl (57 kB) 2026-10-02T10:57:25,202 Using cached https://www.piwheels.org/simple/pluggy/pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-10-02T10:57:25,217 Using cached https://www.piwheels.org/simple/tomlkit/tomlkit-0.15.1-py3-none-any.whl (49 kB) 2026-10-02T10:57:25,232 Using cached https://www.piwheels.org/simple/trove-classifiers/trove_classifiers-2026.9.21.13-py3-none-any.whl (14 kB) 2026-10-02T10:57:25,251 Using cached https://www.piwheels.org/simple/hatchling/hatchling-1.32.4-py3-none-any.whl (78 kB) 2026-10-02T10:57:25,283 Using cached https://www.piwheels.org/simple/packaging/packaging-26.3-py3-none-any.whl (129 kB) 2026-10-02T10:57:25,309 Using cached https://www.piwheels.org/simple/pathspec/pathspec-1.1.1-py3-none-any.whl (57 kB) 2026-10-02T10:57:25,332 Using cached https://www.piwheels.org/simple/pluggy/pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-10-02T10:57:25,352 Using cached https://www.piwheels.org/simple/tomlkit/tomlkit-0.15.1-py3-none-any.whl (49 kB) 2026-10-02T10:57:25,374 Using cached https://www.piwheels.org/simple/trove-classifiers/trove_classifiers-2026.9.21.13-py3-none-any.whl (14 kB) 2026-10-02T10:57:28,045 Installing collected packages: trove-classifiers, tomlkit, pluggy, pathspec, packaging, hatchling 2026-10-02T10:57:28,080 Creating /tmp/pip-build-env-x1c51d2v/overlay/local/bin 2026-10-02T10:57:28,082 changing mode of /tmp/pip-build-env-x1c51d2v/overlay/local/bin/trove-classifiers to 755 2026-10-02T10:57:29,304 changing mode of /tmp/pip-build-env-x1c51d2v/overlay/local/bin/hatchling to 755 2026-10-02T10:57:29,347 Successfully installed hatchling-1.32.4 packaging-26.3 pathspec-1.1.1 pluggy-1.6.0 tomlkit-0.15.1 trove-classifiers-2026.9.21.13 2026-10-02T10:57:29,610 Installing build dependencies: finished with status 'done' 2026-10-02T10:57:29,617 Getting requirements to build wheel: started 2026-10-02T10:57:29,618 Running command Getting requirements to build wheel 2026-10-02T10:57:30,006 Getting requirements to build wheel: finished with status 'done' 2026-10-02T10:57:30,009 Created temporary directory: /tmp/pip-modern-metadata-isl4qp0s 2026-10-02T10:57:30,012 Preparing metadata (pyproject.toml): started 2026-10-02T10:57:30,013 Running command Preparing metadata (pyproject.toml) 2026-10-02T10:57:30,458 Traceback (most recent call last): 2026-10-02T10:57:30,458 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in 2026-10-02T10:57:30,459 main() 2026-10-02T10:57:30,459 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main 2026-10-02T10:57:30,460 json_out['return_val'] = hook(**hook_input['kwargs']) 2026-10-02T10:57:30,461 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,461 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 152, in prepare_metadata_for_build_wheel 2026-10-02T10:57:30,462 whl_basename = backend.build_wheel(metadata_directory, config_settings) 2026-10-02T10:57:30,462 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,463 File "/tmp/pip-build-env-x1c51d2v/overlay/local/lib/python3.11/dist-packages/hatchling/build.py", line 58, in build_wheel 2026-10-02T10:57:30,464 return os.path.basename(next(builder.build(directory=wheel_directory, versions=["standard"]))) 2026-10-02T10:57:30,465 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,465 File "/tmp/pip-build-env-x1c51d2v/overlay/local/lib/python3.11/dist-packages/hatchling/builders/plugin/interface.py", line 158, in build 2026-10-02T10:57:30,466 build_hook.initialize(version, build_data) 2026-10-02T10:57:30,467 File "/tmp/pip-wheel-iqh7w2jz/tinkerscope_50419ba51e8b4fd2a33af5effba2752c/hatch_build.py", line 51, in initialize 2026-10-02T10:57:30,468 raise RuntimeError( 2026-10-02T10:57:30,469 RuntimeError: npm is required to build the tinkerscope wheel (it compiles the web UI). Install node, or set TINKERSCOPE_SKIP_WEB_BUILD=1 to reuse a previous build. 2026-10-02T10:57:30,519 ERROR: [present-rich] Preparing metadata (pyproject.toml) exited with 1 2026-10-02T10:57:30,532 [bold magenta]full command[/]: [blue]/usr/bin/python3 /usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp3zmdybnn[/] 2026-10-02T10:57:30,532 [bold magenta]cwd[/]: /tmp/pip-wheel-iqh7w2jz/tinkerscope_50419ba51e8b4fd2a33af5effba2752c 2026-10-02T10:57:30,533 Preparing metadata (pyproject.toml): finished with status 'error' 2026-10-02T10:57:30,535 ERROR: [present-rich] metadata generation failed 2026-10-02T10:57:30,540 Exception information: 2026-10-02T10:57:30,540 Traceback (most recent call last): 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata 2026-10-02T10:57:30,540 distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir) 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/utils/misc.py", line 746, in prepare_metadata_for_build_wheel 2026-10-02T10:57:30,540 return super().prepare_metadata_for_build_wheel( 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel 2026-10-02T10:57:30,540 return self._call_hook('prepare_metadata_for_build_wheel', { 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_impl.py", line 311, in _call_hook 2026-10-02T10:57:30,540 self._subprocess_runner( 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 252, in runner 2026-10-02T10:57:30,540 call_subprocess( 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess 2026-10-02T10:57:30,540 raise error 2026-10-02T10:57:30,540 pip._internal.exceptions.InstallationSubprocessError: Preparing metadata (pyproject.toml) exited with 1 2026-10-02T10:57:30,540 2026-10-02T10:57:30,540 The above exception was the direct cause of the following exception: 2026-10-02T10:57:30,540 2026-10-02T10:57:30,540 Traceback (most recent call last): 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 160, in exc_logging_wrapper 2026-10-02T10:57:30,540 status = run_func(*args) 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 247, in wrapper 2026-10-02T10:57:30,540 return func(self, options, args) 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 170, in run 2026-10-02T10:57:30,540 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve 2026-10-02T10:57:30,540 result = self._result = resolver.resolve( 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 481, in resolve 2026-10-02T10:57:30,540 state = resolution.resolve(requirements, max_rounds=max_rounds) 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 348, in resolve 2026-10-02T10:57:30,540 self._add_to_criteria(self.state.criteria, r, parent=None) 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 172, in _add_to_criteria 2026-10-02T10:57:30,540 if not criterion.candidates: 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 151, in __bool__ 2026-10-02T10:57:30,540 return bool(self._sequence) 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__ 2026-10-02T10:57:30,540 return any(self) 2026-10-02T10:57:30,540 ^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in 2026-10-02T10:57:30,540 return (c for c in iterator if id(c) not in self._incompatible_ids) 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built 2026-10-02T10:57:30,540 candidate = func() 2026-10-02T10:57:30,540 ^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link 2026-10-02T10:57:30,540 self._link_candidate_cache[link] = LinkCandidate( 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 297, in __init__ 2026-10-02T10:57:30,540 super().__init__( 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 162, in __init__ 2026-10-02T10:57:30,540 self.dist = self._prepare() 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 231, in _prepare 2026-10-02T10:57:30,540 dist = self._prepare_distribution() 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 308, in _prepare_distribution 2026-10-02T10:57:30,540 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 491, in prepare_linked_requirement 2026-10-02T10:57:30,540 return self._prepare_linked_requirement(req, parallel_builds) 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 577, in _prepare_linked_requirement 2026-10-02T10:57:30,540 dist = _get_prepared_distribution( 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution 2026-10-02T10:57:30,540 abstract_dist.prepare_distribution_metadata( 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 61, in prepare_distribution_metadata 2026-10-02T10:57:30,540 self.req.prepare_metadata() 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 539, in prepare_metadata 2026-10-02T10:57:30,540 self.metadata_directory = generate_metadata( 2026-10-02T10:57:30,540 ^^^^^^^^^^^^^^^^^^ 2026-10-02T10:57:30,540 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata.py", line 37, in generate_metadata 2026-10-02T10:57:30,540 raise MetadataGenerationFailed(package_details=details) from error 2026-10-02T10:57:30,540 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2026-10-02T10:57:30,556 Removed tinkerscope==1.3.0 from https://files.pythonhosted.org/packages/89/0b/d1198501ffe57e504116159c2c69cf521ff0ff24db534dfdf7aa049fdd62/tinkerscope-1.3.0.tar.gz from build tracker '/tmp/pip-build-tracker-2ey3efw9' 2026-10-02T10:57:30,557 Removed build tracker: '/tmp/pip-build-tracker-2ey3efw9'