2025-09-09T20:54:38,749 Created temporary directory: /tmp/pip-build-tracker-f0bvarff 2025-09-09T20:54:38,749 Initialized build tracking at /tmp/pip-build-tracker-f0bvarff 2025-09-09T20:54:38,750 Created build tracker: /tmp/pip-build-tracker-f0bvarff 2025-09-09T20:54:38,750 Entered build tracker: /tmp/pip-build-tracker-f0bvarff 2025-09-09T20:54:38,750 Created temporary directory: /tmp/pip-wheel-k00vktbm 2025-09-09T20:54:38,753 Created temporary directory: /tmp/pip-ephem-wheel-cache-k8v710_n 2025-09-09T20:54:38,812 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-09T20:54:38,814 2 location(s) to search for versions of ahrs: 2025-09-09T20:54:38,814 * https://pypi.org/simple/ahrs/ 2025-09-09T20:54:38,814 * https://www.piwheels.org/simple/ahrs/ 2025-09-09T20:54:38,815 Fetching project page and analyzing links: https://pypi.org/simple/ahrs/ 2025-09-09T20:54:38,815 Getting page https://pypi.org/simple/ahrs/ 2025-09-09T20:54:38,816 Found index url https://pypi.org/simple/ 2025-09-09T20:54:38,887 Fetched page https://pypi.org/simple/ahrs/ as application/vnd.pypi.simple.v1+json 2025-09-09T20:54:38,889 Skipping link: No binaries permitted for ahrs: https://files.pythonhosted.org/packages/c4/1b/804a5a4ddd6bd4dc6aee613e87fac4fee3534487324eb3524a6d8bc43f9e/AHRS-0.1.2.post2-py3-none-any.whl (from https://pypi.org/simple/ahrs/) 2025-09-09T20:54:38,889 Found link https://files.pythonhosted.org/packages/9e/b0/194559fea5b5f60164bf9352bf2bfa20b22d224a91977a788995c4fa4923/AHRS-0.1.2.post2.tar.gz (from https://pypi.org/simple/ahrs/), version: 0.1.2.post2 2025-09-09T20:54:38,889 Skipping link: No binaries permitted for ahrs: https://files.pythonhosted.org/packages/fe/00/6f1e6d5a54a73def322a3c5996e12869b4aa9948c788482a68ec7c18a67e/AHRS-0.1.2.post3-py3-none-any.whl (from https://pypi.org/simple/ahrs/) 2025-09-09T20:54:38,890 Found link https://files.pythonhosted.org/packages/37/fd/41a29f8f491b0b87634a874715f56f6bdaa49202e1701e1c588bbf6129dd/AHRS-0.1.2.post3.tar.gz (from https://pypi.org/simple/ahrs/), version: 0.1.2.post3 2025-09-09T20:54:38,890 Skipping link: No binaries permitted for ahrs: https://files.pythonhosted.org/packages/c6/53/6ee76fcc9dc72496487a000f93f15d00f14389c2d5fdfb0f53284b05d6dc/AHRS-0.2.0.post0-py3-none-any.whl (from https://pypi.org/simple/ahrs/) 2025-09-09T20:54:38,890 Found link https://files.pythonhosted.org/packages/15/cc/1cebbd3359046e1a4f4da81feabf1ba1969822c4d47b310ed7285704ca64/AHRS-0.2.0.post0.tar.gz (from https://pypi.org/simple/ahrs/), version: 0.2.0.post0 2025-09-09T20:54:38,890 Skipping link: No binaries permitted for ahrs: https://files.pythonhosted.org/packages/51/34/01fb6b2d188e2943cfa47fad111efda65648e096e20dc06bb4943f8ccb91/AHRS-0.2.2-py3-none-any.whl (from https://pypi.org/simple/ahrs/) 2025-09-09T20:54:38,890 Found link https://files.pythonhosted.org/packages/1d/f5/bbe37faf28aad3786869957402ec74fe4ea31bdfc1a6051335eda4e38ac8/AHRS-0.2.2.tar.gz (from https://pypi.org/simple/ahrs/), version: 0.2.2 2025-09-09T20:54:38,891 Skipping link: No binaries permitted for ahrs: https://files.pythonhosted.org/packages/b1/50/5b7ff33bc6c3b35ae8d1c9b03af0f2a8bb6b9f85c2d35b6e9680667e724d/AHRS-0.3.0-py3-none-any.whl (from https://pypi.org/simple/ahrs/) 2025-09-09T20:54:38,891 Found link https://files.pythonhosted.org/packages/21/2f/191b12f4232261bf58e4ac3ba89961c84659ff3a66e8a38b33f7144a1300/AHRS-0.3.0.tar.gz (from https://pypi.org/simple/ahrs/), version: 0.3.0 2025-09-09T20:54:38,891 Skipping link: No binaries permitted for ahrs: https://files.pythonhosted.org/packages/a1/2c/953d3cb547673bab4e88a4699c59de16053600345166a926d2f58ee4b179/AHRS-0.3.1-py3-none-any.whl (from https://pypi.org/simple/ahrs/) 2025-09-09T20:54:38,891 Found link https://files.pythonhosted.org/packages/66/56/7fc17b6c330eff8986e01dfd3744154ffa45cf4ccd45fd779dc6e2713ec1/AHRS-0.3.1.tar.gz (from https://pypi.org/simple/ahrs/), version: 0.3.1 2025-09-09T20:54:38,891 Fetching project page and analyzing links: https://www.piwheels.org/simple/ahrs/ 2025-09-09T20:54:38,892 Getting page https://www.piwheels.org/simple/ahrs/ 2025-09-09T20:54:38,893 Found index url https://www.piwheels.org/simple/ 2025-09-09T20:54:38,984 Fetched page https://www.piwheels.org/simple/ahrs/ as text/html 2025-09-09T20:54:38,986 Skipping link: No binaries permitted for ahrs: https://archive1.piwheels.org/simple/ahrs/AHRS-0.3.0-py3-none-any.whl#sha256=a9420a7625d331c2ff7e789b34238ab8157955f1c95454b5ffd47e66780c7056 (from https://www.piwheels.org/simple/ahrs/) 2025-09-09T20:54:38,987 Skipping link: No binaries permitted for ahrs: https://archive1.piwheels.org/simple/ahrs/AHRS-0.2.2-py3-none-any.whl#sha256=9cffcd3872d6583f887ec418711b751b64ef5f121166c905d5f45952887dc15d (from https://www.piwheels.org/simple/ahrs/) 2025-09-09T20:54:38,987 Skipping link: No binaries permitted for ahrs: https://archive1.piwheels.org/simple/ahrs/AHRS-0.2.0.post0-py3-none-any.whl#sha256=d02eca3158df1941f72af28201cadfc2eeb4fbdcd7a3f79ad07bac971cc6b8fc (from https://www.piwheels.org/simple/ahrs/) 2025-09-09T20:54:38,987 Skipping link: No binaries permitted for ahrs: https://archive1.piwheels.org/simple/ahrs/AHRS-0.1.2.post3-py3-none-any.whl#sha256=71ea83dafdceb72f6affe897e5e9a04d16c94a1106e16cb15365f8ba40f00afb (from https://www.piwheels.org/simple/ahrs/) 2025-09-09T20:54:38,987 Skipping link: No binaries permitted for ahrs: https://archive1.piwheels.org/simple/ahrs/AHRS-0.1.2.post2-py3-none-any.whl#sha256=bdb698c0f1ec0334a5fb96616aae55627b14805addc1741e6b7e33924d5556f8 (from https://www.piwheels.org/simple/ahrs/) 2025-09-09T20:54:38,988 Skipping link: not a file: https://www.piwheels.org/simple/ahrs/ 2025-09-09T20:54:38,988 Skipping link: not a file: https://pypi.org/simple/ahrs/ 2025-09-09T20:54:39,014 Given no hashes to check 1 links for project 'ahrs': discarding no candidates 2025-09-09T20:54:39,015 Collecting ahrs==0.3.1 2025-09-09T20:54:39,017 Created temporary directory: /tmp/pip-unpack-rw6zotrz 2025-09-09T20:54:39,160 Downloading AHRS-0.3.1.tar.gz (170 kB) 2025-09-09T20:54:39,238 Added ahrs==0.3.1 from https://files.pythonhosted.org/packages/66/56/7fc17b6c330eff8986e01dfd3744154ffa45cf4ccd45fd779dc6e2713ec1/AHRS-0.3.1.tar.gz to build tracker '/tmp/pip-build-tracker-f0bvarff' 2025-09-09T20:54:39,239 Running setup.py (path:/tmp/pip-wheel-k00vktbm/ahrs_2d1178618d324f668308b8696ec150cc/setup.py) egg_info for package ahrs 2025-09-09T20:54:39,239 Created temporary directory: /tmp/pip-pip-egg-info-_p3sia1s 2025-09-09T20:54:39,240 Preparing metadata (setup.py): started 2025-09-09T20:54:39,240 Running command python setup.py egg_info 2025-09-09T20:54:39,778 Traceback (most recent call last): 2025-09-09T20:54:39,780 File "", line 2, in 2025-09-09T20:54:39,780 exec(compile(''' 2025-09-09T20:54:39,780 ~~~~^^^^^^^^^^^^ 2025-09-09T20:54:39,780 # This is -- a caller that pip uses to run setup.py 2025-09-09T20:54:39,780 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,780 ...<32 lines>... 2025-09-09T20:54:39,780 exec(compile(setup_py_code, filename, "exec")) 2025-09-09T20:54:39,780 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,781 ''' % ('/tmp/pip-wheel-k00vktbm/ahrs_2d1178618d324f668308b8696ec150cc/setup.py',), "", "exec")) 2025-09-09T20:54:39,781 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,781 File "", line 35, in 2025-09-09T20:54:39,781 File "/tmp/pip-wheel-k00vktbm/ahrs_2d1178618d324f668308b8696ec150cc/setup.py", line 22, in 2025-09-09T20:54:39,781 from tools.versioning import get_version 2025-09-09T20:54:39,781 ModuleNotFoundError: No module named 'tools' 2025-09-09T20:54:39,865 ERROR: python setup.py egg_info exited with 1 2025-09-09T20:54:39,878 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-09T20:54:39,878 exec(compile('"'"''"'"''"'"' 2025-09-09T20:54:39,878 # This is -- a caller that pip uses to run setup.py 2025-09-09T20:54:39,878 # 2025-09-09T20:54:39,878 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-09T20:54:39,878 # import from `distutils.core` to work with newer packaging standards. 2025-09-09T20:54:39,878 # - It provides a clear error message when setuptools is not installed. 2025-09-09T20:54:39,878 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-09T20:54:39,878 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-09T20:54:39,878 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-09T20:54:39,878 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-09T20:54:39,878 import os, sys, tokenize, traceback 2025-09-09T20:54:39,878 2025-09-09T20:54:39,878 try: 2025-09-09T20:54:39,878 import setuptools 2025-09-09T20:54:39,878 except ImportError: 2025-09-09T20:54:39,878 print( 2025-09-09T20:54:39,878 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-09T20:54:39,878 "the build environment with exception:", 2025-09-09T20:54:39,878 file=sys.stderr, 2025-09-09T20:54:39,878 ) 2025-09-09T20:54:39,878 traceback.print_exc() 2025-09-09T20:54:39,878 sys.exit(1) 2025-09-09T20:54:39,878 2025-09-09T20:54:39,878 __file__ = %r 2025-09-09T20:54:39,878 sys.argv[0] = __file__ 2025-09-09T20:54:39,878 2025-09-09T20:54:39,878 if os.path.exists(__file__): 2025-09-09T20:54:39,878 filename = __file__ 2025-09-09T20:54:39,878 with tokenize.open(__file__) as f: 2025-09-09T20:54:39,878 setup_py_code = f.read() 2025-09-09T20:54:39,878 else: 2025-09-09T20:54:39,878 filename = "" 2025-09-09T20:54:39,878 setup_py_code = "from setuptools import setup; setup()" 2025-09-09T20:54:39,878 2025-09-09T20:54:39,878 exec(compile(setup_py_code, filename, "exec")) 2025-09-09T20:54:39,878 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-k00vktbm/ahrs_2d1178618d324f668308b8696ec150cc/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-_p3sia1s[/] 2025-09-09T20:54:39,878 [bold magenta]cwd[/]: /tmp/pip-wheel-k00vktbm/ahrs_2d1178618d324f668308b8696ec150cc/ 2025-09-09T20:54:39,878 Preparing metadata (setup.py): finished with status 'error' 2025-09-09T20:54:39,879 ERROR: metadata generation failed 2025-09-09T20:54:39,886 Exception information: 2025-09-09T20:54:39,886 Traceback (most recent call last): 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-09T20:54:39,886 call_subprocess( 2025-09-09T20:54:39,886 ~~~~~~~~~~~~~~~^ 2025-09-09T20:54:39,886 args, 2025-09-09T20:54:39,886 ^^^^^ 2025-09-09T20:54:39,886 ...<2 lines>... 2025-09-09T20:54:39,886 spinner=spinner, 2025-09-09T20:54:39,886 ^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 ) 2025-09-09T20:54:39,886 ^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-09T20:54:39,886 raise error 2025-09-09T20:54:39,886 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-09T20:54:39,886 2025-09-09T20:54:39,886 The above exception was the direct cause of the following exception: 2025-09-09T20:54:39,886 2025-09-09T20:54:39,886 Traceback (most recent call last): 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-09T20:54:39,886 status = _inner_run() 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-09T20:54:39,886 return self.run(options, args) 2025-09-09T20:54:39,886 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-09T20:54:39,886 return func(self, options, args) 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-09T20:54:39,886 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-09T20:54:39,886 result = self._result = resolver.resolve( 2025-09-09T20:54:39,886 ~~~~~~~~~~~~~~~~^ 2025-09-09T20:54:39,886 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-09T20:54:39,886 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 ) 2025-09-09T20:54:39,886 ^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-09T20:54:39,886 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-09T20:54:39,886 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-09T20:54:39,886 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-09T20:54:39,886 if not criterion.candidates: 2025-09-09T20:54:39,886 ^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-09T20:54:39,886 return bool(self._sequence) 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-09T20:54:39,886 self._bool = any(self) 2025-09-09T20:54:39,886 ~~~^^^^^^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-09T20:54:39,886 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-09T20:54:39,886 ^^^^^^^^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-09T20:54:39,886 candidate = func() 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-09T20:54:39,886 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-09T20:54:39,886 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-09T20:54:39,886 link, template, name, version 2025-09-09T20:54:39,886 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 ) 2025-09-09T20:54:39,886 ^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-09T20:54:39,886 self._link_candidate_cache[link] = LinkCandidate( 2025-09-09T20:54:39,886 ~~~~~~~~~~~~~^ 2025-09-09T20:54:39,886 link, 2025-09-09T20:54:39,886 ^^^^^ 2025-09-09T20:54:39,886 ...<3 lines>... 2025-09-09T20:54:39,886 version=version, 2025-09-09T20:54:39,886 ^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 ) 2025-09-09T20:54:39,886 ^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-09T20:54:39,886 super().__init__( 2025-09-09T20:54:39,886 ~~~~~~~~~~~~~~~~^ 2025-09-09T20:54:39,886 link=link, 2025-09-09T20:54:39,886 ^^^^^^^^^^ 2025-09-09T20:54:39,886 ...<4 lines>... 2025-09-09T20:54:39,886 version=version, 2025-09-09T20:54:39,886 ^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 ) 2025-09-09T20:54:39,886 ^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-09T20:54:39,886 self.dist = self._prepare() 2025-09-09T20:54:39,886 ~~~~~~~~~~~~~^^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-09T20:54:39,886 dist = self._prepare_distribution() 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-09T20:54:39,886 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-09T20:54:39,886 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-09T20:54:39,886 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-09T20:54:39,886 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-09T20:54:39,886 dist = _get_prepared_distribution( 2025-09-09T20:54:39,886 req, 2025-09-09T20:54:39,886 ...<3 lines>... 2025-09-09T20:54:39,886 self.check_build_deps, 2025-09-09T20:54:39,886 ) 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-09T20:54:39,886 abstract_dist.prepare_distribution_metadata( 2025-09-09T20:54:39,886 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-09T20:54:39,886 finder, build_isolation, check_build_deps 2025-09-09T20:54:39,886 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 ) 2025-09-09T20:54:39,886 ^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-09T20:54:39,886 self.req.prepare_metadata() 2025-09-09T20:54:39,886 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-09T20:54:39,886 self.metadata_directory = generate_metadata_legacy( 2025-09-09T20:54:39,886 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-09T20:54:39,886 build_env=self.build_env, 2025-09-09T20:54:39,886 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 ...<3 lines>... 2025-09-09T20:54:39,886 details=details, 2025-09-09T20:54:39,886 ^^^^^^^^^^^^^^^^ 2025-09-09T20:54:39,886 ) 2025-09-09T20:54:39,886 ^ 2025-09-09T20:54:39,886 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-09T20:54:39,886 raise MetadataGenerationFailed(package_details=details) from error 2025-09-09T20:54:39,886 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-09T20:54:39,908 Removed ahrs==0.3.1 from https://files.pythonhosted.org/packages/66/56/7fc17b6c330eff8986e01dfd3744154ffa45cf4ccd45fd779dc6e2713ec1/AHRS-0.3.1.tar.gz from build tracker '/tmp/pip-build-tracker-f0bvarff' 2025-09-09T20:54:39,908 Removed build tracker: '/tmp/pip-build-tracker-f0bvarff'