2026-05-19T15:57:22,481 Created temporary directory: /tmp/pip-ephem-wheel-cache-0p6g1rg9 2026-05-19T15:57:22,482 Created temporary directory: /tmp/pip-build-tracker-5sv5nob4 2026-05-19T15:57:22,483 Initialized build tracking at /tmp/pip-build-tracker-5sv5nob4 2026-05-19T15:57:22,484 Created build tracker: /tmp/pip-build-tracker-5sv5nob4 2026-05-19T15:57:22,484 Entered build tracker: /tmp/pip-build-tracker-5sv5nob4 2026-05-19T15:57:22,485 Created temporary directory: /tmp/pip-wheel-vcu6501l 2026-05-19T15:57:22,487 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-05-19T15:57:22,490 Created temporary directory: /tmp/pip-ephem-wheel-cache-51ottrq6 2026-05-19T15:57:22,511 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-05-19T15:57:22,514 2 location(s) to search for versions of betterosi: 2026-05-19T15:57:22,514 * https://pypi.org/simple/betterosi/ 2026-05-19T15:57:22,514 * https://www.piwheels.org/simple/betterosi/ 2026-05-19T15:57:22,515 Fetching project page and analyzing links: https://pypi.org/simple/betterosi/ 2026-05-19T15:57:22,516 Getting page https://pypi.org/simple/betterosi/ 2026-05-19T15:57:22,517 Found index url https://pypi.org/simple 2026-05-19T15:57:22,744 Fetched page https://pypi.org/simple/betterosi/ as application/vnd.pypi.simple.v1+json 2026-05-19T15:57:22,750 Skipping link: No binaries permitted for betterosi: https://files.pythonhosted.org/packages/e9/f5/77188ac07df32a6e7de64abd7db58f40ace4691b7ef8622c380417322fc3/betterosi-0.3.1-py3-none-any.whl (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,751 Found link https://files.pythonhosted.org/packages/5a/59/7f4382030f3edb636c2bb6e4973ea5198f106d31f24184f390beedeffe5b/betterosi-0.3.1.tar.gz (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10), version: 0.3.1 2026-05-19T15:57:22,751 Skipping link: No binaries permitted for betterosi: https://files.pythonhosted.org/packages/07/da/8aba9b0cd3814778b34c8a90afc025d639a9dbac3f1bbce61699d5419e39/betterosi-0.3.2-py3-none-any.whl (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,752 Found link https://files.pythonhosted.org/packages/84/c4/3aa2d81145870a1ac1e64db65d79a941c083b877f5e0c6ad76ef63d3e73c/betterosi-0.3.2.tar.gz (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10), version: 0.3.2 2026-05-19T15:57:22,753 Skipping link: No binaries permitted for betterosi: https://files.pythonhosted.org/packages/73/f4/b998a8e25964140b83828dd8598f0868cbdc970c96bac7fbc6c742b3e251/betterosi-0.3.3-py3-none-any.whl (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,754 Found link https://files.pythonhosted.org/packages/aa/43/a9c96f987a390d40f76d68848f6441b68dd4b6e97f3e9ef9e7cb1c1df5c8/betterosi-0.3.3.tar.gz (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10), version: 0.3.3 2026-05-19T15:57:22,755 Skipping link: No binaries permitted for betterosi: https://files.pythonhosted.org/packages/af/2c/33efe8a245130ce35311aa3d2d02f9c0f5558ede95cbe7bc5db2c4d6e096/betterosi-0.3.4-py3-none-any.whl (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,756 Found link https://files.pythonhosted.org/packages/98/2b/03154f1caab94e9468c270506a2bf304a052d85a821638904c1dc04e97dd/betterosi-0.3.4.tar.gz (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10), version: 0.3.4 2026-05-19T15:57:22,756 Skipping link: No binaries permitted for betterosi: https://files.pythonhosted.org/packages/d9/58/b3b9890efef432a6abce058f2a563f001d8655e9205d30d42e756b053b50/betterosi-0.3.5-py3-none-any.whl (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,757 Found link https://files.pythonhosted.org/packages/1d/3a/c6f86d395cde7c67f2e0035bf767ab58d9558e853c440e233fc4998a927b/betterosi-0.3.5.tar.gz (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10), version: 0.3.5 2026-05-19T15:57:22,758 Skipping link: No binaries permitted for betterosi: https://files.pythonhosted.org/packages/f2/0a/4b7235b1fd19235711061f239047959ba799512ce4b0025743cf6656e6a4/betterosi-0.3.6-py3-none-any.whl (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,759 Found link https://files.pythonhosted.org/packages/ed/66/3c0883215d0d3b93b647d44f3fb24b57362ad40e2316f57d2cf76838cdbe/betterosi-0.3.6.tar.gz (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10), version: 0.3.6 2026-05-19T15:57:22,760 Skipping link: No binaries permitted for betterosi: https://files.pythonhosted.org/packages/b6/35/2a3188131faeced4e5468136f1b12221383c303a79b745afb0977ecd970d/betterosi-0.5.1-py3-none-any.whl (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,760 Found link https://files.pythonhosted.org/packages/92/ad/d08f19bba1cdba71f65a536547d897690ee9feece576eb93182dc64ece67/betterosi-0.5.1.tar.gz (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10), version: 0.5.1 2026-05-19T15:57:22,761 Skipping link: No binaries permitted for betterosi: https://files.pythonhosted.org/packages/0f/93/e203b82ca57512aeadb1da2d4097ce8525398708136a5d3274c0fd49b0bb/betterosi-0.8.1-py3-none-any.whl (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,762 Found link https://files.pythonhosted.org/packages/05/d4/b436b40de1865d860e9a84e3075261256ef3ab405a279619228a0f357fe9/betterosi-0.8.1.tar.gz (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10), version: 0.8.1 2026-05-19T15:57:22,763 Skipping link: No binaries permitted for betterosi: https://files.pythonhosted.org/packages/54/e8/f33ad2916668a0b8bc914aca2629dd0e7c797af1378baa2a6071acc32a07/betterosi-0.8.2-py3-none-any.whl (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,764 Found link https://files.pythonhosted.org/packages/d9/dc/b4bd9bfd228bcb536625d14bbc03e4f08e832212cffb9253ef00115d6fed/betterosi-0.8.2.tar.gz (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10), version: 0.8.2 2026-05-19T15:57:22,764 Skipping link: No binaries permitted for betterosi: https://files.pythonhosted.org/packages/ff/b6/ab709957fe8bf98c450eb677455c04011ad8372308b25a7bd0677c4020d3/betterosi-0.8.3-py3-none-any.whl (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,765 Found link https://files.pythonhosted.org/packages/04/16/0aa46793c747d32c90d2819e93f4054329b514ff1cc7b7eba02a03224e39/betterosi-0.8.3.tar.gz (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10), version: 0.8.3 2026-05-19T15:57:22,766 Skipping link: No binaries permitted for betterosi: https://files.pythonhosted.org/packages/15/3f/8e0f295d041b811942f1f758bfcd93012b294f2b3385b65dc26df2ed582d/betterosi-0.8.4-py3-none-any.whl (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,767 Found link https://files.pythonhosted.org/packages/64/b5/96995b3612fee0b232fe8c58bcaa1fd04d08384b281406af4a7475bdb5e2/betterosi-0.8.4.tar.gz (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10), version: 0.8.4 2026-05-19T15:57:22,767 Skipping link: No binaries permitted for betterosi: https://files.pythonhosted.org/packages/a7/4d/2e07ed73a161970509d34eab579680c5c9745f4a069c04c12924fb4fcf89/betterosi-0.8.5-py3-none-any.whl (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,768 Found link https://files.pythonhosted.org/packages/87/83/201e4f5826378e5ef3d8b7e89d6161433450f253b6995d3102d8f2c920f9/betterosi-0.8.5.tar.gz (from https://pypi.org/simple/betterosi/) (requires-python:>=3.10), version: 0.8.5 2026-05-19T15:57:22,769 Fetching project page and analyzing links: https://www.piwheels.org/simple/betterosi/ 2026-05-19T15:57:22,770 Getting page https://www.piwheels.org/simple/betterosi/ 2026-05-19T15:57:22,771 Found index url https://www.piwheels.org/simple 2026-05-19T15:57:22,939 Fetched page https://www.piwheels.org/simple/betterosi/ as text/html 2026-05-19T15:57:22,942 Skipping link: No binaries permitted for betterosi: https://archive1.piwheels.org/simple/betterosi/betterosi-0.5.1-py3-none-any.whl#sha256=b4d314a8a4787a8f52550abbbc4899316b0f7c7310edbeb5439442d99aa68356 (from https://www.piwheels.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,943 Skipping link: No binaries permitted for betterosi: https://archive1.piwheels.org/simple/betterosi/betterosi-0.3.6-py3-none-any.whl#sha256=3d14d48e6da8c3a6bed87dd75009544c784c78c77a9428c5d1b6fa89cf434d50 (from https://www.piwheels.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,943 Skipping link: No binaries permitted for betterosi: https://archive1.piwheels.org/simple/betterosi/betterosi-0.3.5-py3-none-any.whl#sha256=45f44aebf8ced91f3b2da23b718a998b4b58a7dda1fb0fcc71af89ffa57a1e88 (from https://www.piwheels.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,944 Skipping link: No binaries permitted for betterosi: https://archive1.piwheels.org/simple/betterosi/betterosi-0.3.4-py3-none-any.whl#sha256=754bcfc3ea3a62679d560a61d15e95c23076ae026edf96be2c056e200833b4ef (from https://www.piwheels.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,944 Skipping link: No binaries permitted for betterosi: https://archive1.piwheels.org/simple/betterosi/betterosi-0.3.3-py3-none-any.whl#sha256=144cdc1451626bfc7b805321683618da9647776d6320d6971183c90c0e223324 (from https://www.piwheels.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,945 Skipping link: No binaries permitted for betterosi: https://archive1.piwheels.org/simple/betterosi/betterosi-0.3.2-py3-none-any.whl#sha256=c3e74f26d3efc3e0ccd9ecdd9241d40fc798360cce41b39b271573ca34acdc26 (from https://www.piwheels.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,945 Skipping link: No binaries permitted for betterosi: https://archive1.piwheels.org/simple/betterosi/betterosi-0.3.1-py3-none-any.whl#sha256=96c77d0051ccd0f00ab156319d0090e09686d9c84a4cd325c05c3ae11af38c4b (from https://www.piwheels.org/simple/betterosi/) (requires-python:>=3.10) 2026-05-19T15:57:22,946 Skipping link: not a file: https://www.piwheels.org/simple/betterosi/ 2026-05-19T15:57:22,946 Skipping link: not a file: https://pypi.org/simple/betterosi/ 2026-05-19T15:57:22,966 Given no hashes to check 1 links for project 'betterosi': discarding no candidates 2026-05-19T15:57:22,984 Collecting betterosi==0.8.5 2026-05-19T15:57:22,987 Created temporary directory: /tmp/pip-unpack-ey8rqs_s 2026-05-19T15:57:23,223 Downloading betterosi-0.8.5.tar.gz (594 kB) 2026-05-19T15:57:23,547 Added betterosi==0.8.5 from https://files.pythonhosted.org/packages/87/83/201e4f5826378e5ef3d8b7e89d6161433450f253b6995d3102d8f2c920f9/betterosi-0.8.5.tar.gz to build tracker '/tmp/pip-build-tracker-5sv5nob4' 2026-05-19T15:57:23,556 Created temporary directory: /tmp/pip-build-env-7sfo0nh5 2026-05-19T15:57:23,560 Installing build dependencies: started 2026-05-19T15:57:23,562 Running command pip subprocess to install build dependencies 2026-05-19T15:57:24,740 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2026-05-19T15:57:25,150 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-05-19T15:57:25,173 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-05-19T15:57:25,720 Collecting hatchling 2026-05-19T15:57:25,721 Obtaining dependency information for hatchling from https://www.piwheels.org/simple/hatchling/hatchling-1.29.0-py3-none-any.whl.metadata 2026-05-19T15:57:25,735 Using cached https://www.piwheels.org/simple/hatchling/hatchling-1.29.0-py3-none-any.whl.metadata (3.8 kB) 2026-05-19T15:57:25,884 Collecting hatch-build-scripts 2026-05-19T15:57:25,885 Obtaining dependency information for hatch-build-scripts from https://archive1.piwheels.org/simple/hatch-build-scripts/hatch_build_scripts-1.0.0-py3-none-any.whl.metadata 2026-05-19T15:57:26,107 Using cached https://archive1.piwheels.org/simple/hatch-build-scripts/hatch_build_scripts-1.0.0-py3-none-any.whl.metadata (5.3 kB) 2026-05-19T15:57:26,117 Discarding https://archive1.piwheels.org/simple/hatch-build-scripts/hatch_build_scripts-1.0.0-py3-none-any.whl#sha256=22a13deee7213646b13351ed05fe9e47f036565d87d8f23d90d8980a63adb71a (from https://www.piwheels.org/simple/hatch-build-scripts/) (requires-python:<4,>=3.10): Requested hatch-build-scripts from https://archive1.piwheels.org/simple/hatch-build-scripts/hatch_build_scripts-1.0.0-py3-none-any.whl#sha256=22a13deee7213646b13351ed05fe9e47f036565d87d8f23d90d8980a63adb71a has inconsistent Name: expected 'hatch-build-scripts', but metadata has 'hatch_build_scripts' 2026-05-19T15:57:26,140 Using cached hatch_build_scripts-1.0.0-py3-none-any.whl (6.5 kB) 2026-05-19T15:57:26,334 Collecting betterproto2_compiler 2026-05-19T15:57:26,335 Obtaining dependency information for betterproto2_compiler from https://www.piwheels.org/simple/betterproto2-compiler/betterproto2_compiler-0.10.1-py3-none-any.whl.metadata 2026-05-19T15:57:26,344 Downloading https://www.piwheels.org/simple/betterproto2-compiler/betterproto2_compiler-0.10.1-py3-none-any.whl.metadata (694 bytes) 2026-05-19T15:57:29,731 Collecting ruff 2026-05-19T15:57:29,972 Using cached ruff-0.15.13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (10.5 MB) 2026-05-19T15:57:35,245 Collecting grpcio-tools 2026-05-19T15:57:35,246 Obtaining dependency information for grpcio-tools from https://www.piwheels.org/simple/grpcio-tools/grpcio_tools-1.80.0-cp311-cp311-linux_armv7l.whl.metadata 2026-05-19T15:57:35,259 Downloading https://www.piwheels.org/simple/grpcio-tools/grpcio_tools-1.80.0-cp311-cp311-linux_armv7l.whl.metadata (5.3 kB) 2026-05-19T15:57:35,455 Collecting packaging>=24.2 2026-05-19T15:57:35,456 Obtaining dependency information for packaging>=24.2 from https://www.piwheels.org/simple/packaging/packaging-26.2-py3-none-any.whl.metadata 2026-05-19T15:57:35,469 Using cached https://www.piwheels.org/simple/packaging/packaging-26.2-py3-none-any.whl.metadata (3.5 kB) 2026-05-19T15:57:35,590 Collecting pathspec>=0.10.1 2026-05-19T15:57:35,591 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-05-19T15:57:35,605 Using cached https://www.piwheels.org/simple/pathspec/pathspec-1.1.1-py3-none-any.whl.metadata (14 kB) 2026-05-19T15:57:35,728 Collecting pluggy>=1.0.0 2026-05-19T15:57:35,729 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-05-19T15:57:35,746 Using cached https://www.piwheels.org/simple/pluggy/pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) 2026-05-19T15:57:35,996 Collecting trove-classifiers 2026-05-19T15:57:35,997 Obtaining dependency information for trove-classifiers from https://www.piwheels.org/simple/trove-classifiers/trove_classifiers-2026.5.7.17-py3-none-any.whl.metadata 2026-05-19T15:57:36,011 Using cached https://www.piwheels.org/simple/trove-classifiers/trove_classifiers-2026.5.7.17-py3-none-any.whl.metadata (2.3 kB) 2026-05-19T15:57:36,144 Collecting betterproto2~=0.10.0 2026-05-19T15:57:36,145 Obtaining dependency information for betterproto2~=0.10.0 from https://archive1.piwheels.org/simple/betterproto2/betterproto2-0.10.0-py3-none-any.whl.metadata 2026-05-19T15:57:36,391 Downloading https://archive1.piwheels.org/simple/betterproto2/betterproto2-0.10.0-py3-none-any.whl.metadata (1.1 kB) 2026-05-19T15:57:36,681 Collecting jinja2>=3.0.3 2026-05-19T15:57:36,682 Obtaining dependency information for jinja2>=3.0.3 from https://www.piwheels.org/simple/jinja2/jinja2-3.1.6-py3-none-any.whl.metadata 2026-05-19T15:57:36,696 Using cached https://www.piwheels.org/simple/jinja2/jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB) 2026-05-19T15:57:36,704 Discarding https://www.piwheels.org/simple/jinja2/jinja2-3.1.6-py3-none-any.whl#sha256=fe8571fbbd1ff453eb75ea114f68611e5b3e5b8b018397eeb70573daa35d45ea (from https://www.piwheels.org/simple/jinja2/) (requires-python:>=3.7): Requested jinja2>=3.0.3 from https://www.piwheels.org/simple/jinja2/jinja2-3.1.6-py3-none-any.whl#sha256=fe8571fbbd1ff453eb75ea114f68611e5b3e5b8b018397eeb70573daa35d45ea (from betterproto2_compiler) has inconsistent Name: expected 'jinja2', but metadata has 'Jinja2' 2026-05-19T15:57:36,727 Using cached jinja2-3.1.6-py3-none-any.whl (134 kB) 2026-05-19T15:57:36,889 Collecting typing-extensions<5,>=4.7.1 2026-05-19T15:57:36,890 Obtaining dependency information for typing-extensions<5,>=4.7.1 from https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.15.0-py3-none-any.whl.metadata 2026-05-19T15:57:36,903 Using cached https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB) 2026-05-19T15:57:36,911 Discarding https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.15.0-py3-none-any.whl#sha256=f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548 (from https://www.piwheels.org/simple/typing-extensions/) (requires-python:>=3.9): Requested typing-extensions<5,>=4.7.1 from https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.15.0-py3-none-any.whl#sha256=f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548 (from betterproto2_compiler) has inconsistent Name: expected 'typing-extensions', but metadata has 'typing_extensions' 2026-05-19T15:57:36,934 Using cached typing_extensions-4.15.0-py3-none-any.whl (44 kB) 2026-05-19T15:57:38,520 Collecting protobuf<7.0.0,>=6.31.1 2026-05-19T15:57:38,532 Using cached protobuf-6.33.6-py3-none-any.whl (170 kB) 2026-05-19T15:57:43,215 Collecting grpcio>=1.80.0 2026-05-19T15:57:43,382 Using cached grpcio-1.80.0-cp311-cp311-linux_armv7l.whl (6.1 MB) 2026-05-19T15:57:45,071 Collecting setuptools>=77.0.1 2026-05-19T15:57:45,072 Obtaining dependency information for setuptools>=77.0.1 from https://www.piwheels.org/simple/setuptools/setuptools-82.0.1-py3-none-any.whl.metadata 2026-05-19T15:57:45,084 Using cached https://www.piwheels.org/simple/setuptools/setuptools-82.0.1-py3-none-any.whl.metadata (6.5 kB) 2026-05-19T15:57:45,238 Collecting python-dateutil>=2.9.0.post0 2026-05-19T15:57:45,239 Obtaining dependency information for python-dateutil>=2.9.0.post0 from https://www.piwheels.org/simple/python-dateutil/python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata 2026-05-19T15:57:45,254 Using cached https://www.piwheels.org/simple/python-dateutil/python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB) 2026-05-19T15:57:45,835 Collecting MarkupSafe>=2.0 2026-05-19T15:57:45,836 Obtaining dependency information for MarkupSafe>=2.0 from https://www.piwheels.org/simple/markupsafe/markupsafe-3.0.3-cp311-cp311-linux_armv7l.whl.metadata 2026-05-19T15:57:45,850 Using cached https://www.piwheels.org/simple/markupsafe/markupsafe-3.0.3-cp311-cp311-linux_armv7l.whl.metadata (2.7 kB) 2026-05-19T15:57:46,032 Collecting six>=1.5 2026-05-19T15:57:46,033 Obtaining dependency information for six>=1.5 from https://www.piwheels.org/simple/six/six-1.17.0-py2.py3-none-any.whl.metadata 2026-05-19T15:57:46,047 Using cached https://www.piwheels.org/simple/six/six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB) 2026-05-19T15:57:46,258 Using cached https://www.piwheels.org/simple/hatchling/hatchling-1.29.0-py3-none-any.whl (76 kB) 2026-05-19T15:57:46,272 Downloading https://www.piwheels.org/simple/betterproto2-compiler/betterproto2_compiler-0.10.1-py3-none-any.whl (66 kB) 2026-05-19T15:57:46,290 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.9/66.9 kB 5.9 MB/s eta 0:00:00 2026-05-19T15:57:46,304 Downloading https://www.piwheels.org/simple/grpcio-tools/grpcio_tools-1.80.0-cp311-cp311-linux_armv7l.whl (75.3 MB) 2026-05-19T15:57:51,496 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 75.3/75.3 MB 4.8 MB/s eta 0:00:00 2026-05-19T15:57:51,725 Downloading https://archive1.piwheels.org/simple/betterproto2/betterproto2-0.10.0-py3-none-any.whl (19 kB) 2026-05-19T15:57:51,929 Using cached https://www.piwheels.org/simple/packaging/packaging-26.2-py3-none-any.whl (100 kB) 2026-05-19T15:57:51,955 Using cached https://www.piwheels.org/simple/pathspec/pathspec-1.1.1-py3-none-any.whl (57 kB) 2026-05-19T15:57:51,972 Using cached https://www.piwheels.org/simple/pluggy/pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-05-19T15:57:51,988 Using cached https://www.piwheels.org/simple/trove-classifiers/trove_classifiers-2026.5.7.17-py3-none-any.whl (14 kB) 2026-05-19T15:57:52,004 Using cached https://www.piwheels.org/simple/markupsafe/markupsafe-3.0.3-cp311-cp311-linux_armv7l.whl (21 kB) 2026-05-19T15:57:52,113 Using cached https://www.piwheels.org/simple/python-dateutil/python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) 2026-05-19T15:57:52,133 Using cached https://www.piwheels.org/simple/six/six-1.17.0-py2.py3-none-any.whl (11 kB) 2026-05-19T15:57:52,215 Using cached https://www.piwheels.org/simple/setuptools/setuptools-82.0.1-py3-none-any.whl (1.0 MB) 2026-05-19T15:57:52,256 Using cached https://www.piwheels.org/simple/hatchling/hatchling-1.29.0-py3-none-any.whl (76 kB) 2026-05-19T15:57:52,280 Using cached https://www.piwheels.org/simple/betterproto2-compiler/betterproto2_compiler-0.10.1-py3-none-any.whl (66 kB) 2026-05-19T15:57:57,602 Using cached https://www.piwheels.org/simple/grpcio-tools/grpcio_tools-1.80.0-cp311-cp311-linux_armv7l.whl (75.3 MB) 2026-05-19T15:58:00,277 Using cached https://archive1.piwheels.org/simple/betterproto2/betterproto2-0.10.0-py3-none-any.whl (19 kB) 2026-05-19T15:58:00,477 Using cached https://www.piwheels.org/simple/packaging/packaging-26.2-py3-none-any.whl (100 kB) 2026-05-19T15:58:00,500 Using cached https://www.piwheels.org/simple/pathspec/pathspec-1.1.1-py3-none-any.whl (57 kB) 2026-05-19T15:58:00,521 Using cached https://www.piwheels.org/simple/pluggy/pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-05-19T15:58:00,541 Using cached https://www.piwheels.org/simple/trove-classifiers/trove_classifiers-2026.5.7.17-py3-none-any.whl (14 kB) 2026-05-19T15:58:00,560 Using cached https://www.piwheels.org/simple/markupsafe/markupsafe-3.0.3-cp311-cp311-linux_armv7l.whl (21 kB) 2026-05-19T15:58:00,590 Using cached https://www.piwheels.org/simple/python-dateutil/python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) 2026-05-19T15:58:00,614 Using cached https://www.piwheels.org/simple/six/six-1.17.0-py2.py3-none-any.whl (11 kB) 2026-05-19T15:58:00,711 Using cached https://www.piwheels.org/simple/setuptools/setuptools-82.0.1-py3-none-any.whl (1.0 MB) 2026-05-19T15:58:03,553 Installing collected packages: trove-classifiers, typing-extensions, six, setuptools, ruff, protobuf, pluggy, pathspec, packaging, MarkupSafe, python-dateutil, jinja2, hatchling, grpcio, hatch-build-scripts, grpcio-tools, betterproto2, betterproto2_compiler 2026-05-19T15:58:03,589 Creating /tmp/pip-build-env-7sfo0nh5/overlay/local/bin 2026-05-19T15:58:03,591 changing mode of /tmp/pip-build-env-7sfo0nh5/overlay/local/bin/trove-classifiers to 755 2026-05-19T15:58:09,706 changing mode of /tmp/pip-build-env-7sfo0nh5/overlay/local/bin/hatchling to 755 2026-05-19T15:58:14,372 changing mode of /tmp/pip-build-env-7sfo0nh5/overlay/local/bin/python-grpc-tools-protoc to 755 2026-05-19T15:58:14,690 changing mode of /tmp/pip-build-env-7sfo0nh5/overlay/local/bin/protoc-gen-python_betterproto2 to 755 2026-05-19T15:58:14,952 Successfully installed MarkupSafe-3.0.3 betterproto2-0.10.0 betterproto2_compiler-0.10.1 grpcio-1.80.0 grpcio-tools-1.80.0 hatch-build-scripts-1.0.0 hatchling-1.29.0 jinja2-3.1.6 packaging-26.2 pathspec-1.1.1 pluggy-1.6.0 protobuf-6.33.6 python-dateutil-2.9.0.post0 ruff-0.15.13 setuptools-82.0.1 six-1.17.0 trove-classifiers-2026.5.7.17 typing-extensions-4.15.0 2026-05-19T15:58:16,133 Installing build dependencies: finished with status 'done' 2026-05-19T15:58:16,141 Getting requirements to build wheel: started 2026-05-19T15:58:16,147 Running command Getting requirements to build wheel 2026-05-19T15:58:16,722 Getting requirements to build wheel: finished with status 'done' 2026-05-19T15:58:16,726 Created temporary directory: /tmp/pip-modern-metadata-icbav70x 2026-05-19T15:58:16,728 Preparing metadata (pyproject.toml): started 2026-05-19T15:58:16,729 Running command Preparing metadata (pyproject.toml) 2026-05-19T15:58:17,303 /bin/sh: 1: python: not found 2026-05-19T15:58:17,303 Traceback (most recent call last): 2026-05-19T15:58:17,304 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in 2026-05-19T15:58:17,304 main() 2026-05-19T15:58:17,305 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main 2026-05-19T15:58:17,305 json_out['return_val'] = hook(**hook_input['kwargs']) 2026-05-19T15:58:17,306 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,306 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 152, in prepare_metadata_for_build_wheel 2026-05-19T15:58:17,307 whl_basename = backend.build_wheel(metadata_directory, config_settings) 2026-05-19T15:58:17,307 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,308 File "/tmp/pip-build-env-7sfo0nh5/overlay/local/lib/python3.11/dist-packages/hatchling/build.py", line 58, in build_wheel 2026-05-19T15:58:17,309 return os.path.basename(next(builder.build(directory=wheel_directory, versions=["standard"]))) 2026-05-19T15:58:17,309 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,310 File "/tmp/pip-build-env-7sfo0nh5/overlay/local/lib/python3.11/dist-packages/hatchling/builders/plugin/interface.py", line 149, in build 2026-05-19T15:58:17,311 build_hook.initialize(version, build_data) 2026-05-19T15:58:17,312 File "/tmp/pip-build-env-7sfo0nh5/overlay/local/lib/python3.11/dist-packages/hatch_build_scripts/plugin.py", line 60, in initialize 2026-05-19T15:58:17,313 run(cmd, cwd=str(work_dir), check=True, shell=True) # noqa: S602 2026-05-19T15:58:17,314 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,314 File "/usr/lib/python3.11/subprocess.py", line 571, in run 2026-05-19T15:58:17,315 raise CalledProcessError(retcode, process.args, 2026-05-19T15:58:17,316 subprocess.CalledProcessError: Command 'python gen_protos.py' returned non-zero exit status 127. 2026-05-19T15:58:17,390 ERROR: [present-rich] Preparing metadata (pyproject.toml) exited with 1 2026-05-19T15:58:17,403 [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/tmpc941k_qz[/] 2026-05-19T15:58:17,404 [bold magenta]cwd[/]: /tmp/pip-wheel-vcu6501l/betterosi_c9a520b0f7f447d2922b241a8eeb23ee 2026-05-19T15:58:17,404 Preparing metadata (pyproject.toml): finished with status 'error' 2026-05-19T15:58:17,407 ERROR: [present-rich] metadata generation failed 2026-05-19T15:58:17,412 Exception information: 2026-05-19T15:58:17,412 Traceback (most recent call last): 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata 2026-05-19T15:58:17,412 distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir) 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/utils/misc.py", line 746, in prepare_metadata_for_build_wheel 2026-05-19T15:58:17,412 return super().prepare_metadata_for_build_wheel( 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel 2026-05-19T15:58:17,412 return self._call_hook('prepare_metadata_for_build_wheel', { 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_impl.py", line 311, in _call_hook 2026-05-19T15:58:17,412 self._subprocess_runner( 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 252, in runner 2026-05-19T15:58:17,412 call_subprocess( 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess 2026-05-19T15:58:17,412 raise error 2026-05-19T15:58:17,412 pip._internal.exceptions.InstallationSubprocessError: Preparing metadata (pyproject.toml) exited with 1 2026-05-19T15:58:17,412 2026-05-19T15:58:17,412 The above exception was the direct cause of the following exception: 2026-05-19T15:58:17,412 2026-05-19T15:58:17,412 Traceback (most recent call last): 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 160, in exc_logging_wrapper 2026-05-19T15:58:17,412 status = run_func(*args) 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 247, in wrapper 2026-05-19T15:58:17,412 return func(self, options, args) 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 170, in run 2026-05-19T15:58:17,412 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve 2026-05-19T15:58:17,412 result = self._result = resolver.resolve( 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 481, in resolve 2026-05-19T15:58:17,412 state = resolution.resolve(requirements, max_rounds=max_rounds) 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 348, in resolve 2026-05-19T15:58:17,412 self._add_to_criteria(self.state.criteria, r, parent=None) 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 172, in _add_to_criteria 2026-05-19T15:58:17,412 if not criterion.candidates: 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 151, in __bool__ 2026-05-19T15:58:17,412 return bool(self._sequence) 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__ 2026-05-19T15:58:17,412 return any(self) 2026-05-19T15:58:17,412 ^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in 2026-05-19T15:58:17,412 return (c for c in iterator if id(c) not in self._incompatible_ids) 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built 2026-05-19T15:58:17,412 candidate = func() 2026-05-19T15:58:17,412 ^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link 2026-05-19T15:58:17,412 self._link_candidate_cache[link] = LinkCandidate( 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 297, in __init__ 2026-05-19T15:58:17,412 super().__init__( 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 162, in __init__ 2026-05-19T15:58:17,412 self.dist = self._prepare() 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 231, in _prepare 2026-05-19T15:58:17,412 dist = self._prepare_distribution() 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 308, in _prepare_distribution 2026-05-19T15:58:17,412 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 491, in prepare_linked_requirement 2026-05-19T15:58:17,412 return self._prepare_linked_requirement(req, parallel_builds) 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 577, in _prepare_linked_requirement 2026-05-19T15:58:17,412 dist = _get_prepared_distribution( 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution 2026-05-19T15:58:17,412 abstract_dist.prepare_distribution_metadata( 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 61, in prepare_distribution_metadata 2026-05-19T15:58:17,412 self.req.prepare_metadata() 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 539, in prepare_metadata 2026-05-19T15:58:17,412 self.metadata_directory = generate_metadata( 2026-05-19T15:58:17,412 ^^^^^^^^^^^^^^^^^^ 2026-05-19T15:58:17,412 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata.py", line 37, in generate_metadata 2026-05-19T15:58:17,412 raise MetadataGenerationFailed(package_details=details) from error 2026-05-19T15:58:17,412 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2026-05-19T15:58:17,429 Removed betterosi==0.8.5 from https://files.pythonhosted.org/packages/87/83/201e4f5826378e5ef3d8b7e89d6161433450f253b6995d3102d8f2c920f9/betterosi-0.8.5.tar.gz from build tracker '/tmp/pip-build-tracker-5sv5nob4' 2026-05-19T15:58:17,430 Removed build tracker: '/tmp/pip-build-tracker-5sv5nob4'