2025-09-09T17:45:27,752 Created temporary directory: /tmp/pip-build-tracker-dbt2vtd9 2025-09-09T17:45:27,752 Initialized build tracking at /tmp/pip-build-tracker-dbt2vtd9 2025-09-09T17:45:27,753 Created build tracker: /tmp/pip-build-tracker-dbt2vtd9 2025-09-09T17:45:27,753 Entered build tracker: /tmp/pip-build-tracker-dbt2vtd9 2025-09-09T17:45:27,753 Created temporary directory: /tmp/pip-wheel-uah5y_ha 2025-09-09T17:45:27,756 Created temporary directory: /tmp/pip-ephem-wheel-cache-v0hx6d02 2025-09-09T17:45:27,813 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-09T17:45:27,815 2 location(s) to search for versions of sense-o-api: 2025-09-09T17:45:27,815 * https://pypi.org/simple/sense-o-api/ 2025-09-09T17:45:27,815 * https://www.piwheels.org/simple/sense-o-api/ 2025-09-09T17:45:27,816 Fetching project page and analyzing links: https://pypi.org/simple/sense-o-api/ 2025-09-09T17:45:27,816 Getting page https://pypi.org/simple/sense-o-api/ 2025-09-09T17:45:27,817 Found index url https://pypi.org/simple/ 2025-09-09T17:45:27,890 Fetched page https://pypi.org/simple/sense-o-api/ as application/vnd.pypi.simple.v1+json 2025-09-09T17:45:27,900 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/46/ca/df7aff072fc4747f96fdc0a712c6cbe9ec74695235285298cfd37e33d192/sense_o_api-1.0-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.7) 2025-09-09T17:45:27,900 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/e8/58/f658de4fe9818e4fcddbe22bde77d4da490008abf913f6a01900d234dc94/sense_o_api-1.0-py3.9.egg (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.7) 2025-09-09T17:45:27,901 Found link https://files.pythonhosted.org/packages/46/da/9cfdf95e1edee612dd7c92a216dbd6576fb269aa552b0a7cfd4ae5715566/sense_o_api-1.0.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.7), version: 1.0 2025-09-09T17:45:27,901 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/c7/9a/d8d87979aeae89c4ce0e531088807e153c642e07496f772bf4e778d0d9ec/sense_o_api-1.1-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.7) 2025-09-09T17:45:27,901 Found link https://files.pythonhosted.org/packages/54/f1/3b76d6efdcd447ed186724a85af36f64b83cfbb5e0446252a1563b372b8f/sense_o_api-1.1.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.7), version: 1.1 2025-09-09T17:45:27,901 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/a4/3e/6f516ab2471822ef06ba7a78afc5cb79145d4542bad255984669d8a3b2e1/sense_o_api-1.2-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.7) 2025-09-09T17:45:27,902 Found link https://files.pythonhosted.org/packages/2e/7d/2ea44db43362923fbdcafef6854c40a6305409974a58b73ce4c7da684b4e/sense_o_api-1.2.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.7), version: 1.2 2025-09-09T17:45:27,902 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/e1/39/702daa8a02a4381a96e2c3895deb940f0baa3825936b4a6f43ab29a5ea32/sense_o_api-1.3-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.7) 2025-09-09T17:45:27,902 Found link https://files.pythonhosted.org/packages/8a/ed/d87be873721c0bfef1d4f6fe1ff93d154c19758f89c029f1404a08e2a7c9/sense_o_api-1.3.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.7), version: 1.3 2025-09-09T17:45:27,902 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/ea/1c/410ff0dd5376895be7fa4f87f6e929ae5d30c75980be6ec8f79312f02267/sense_o_api-1.4-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.7) 2025-09-09T17:45:27,902 Found link https://files.pythonhosted.org/packages/4f/33/b5bd0912ae6280b8c9e36c166a7108d5b8760ec082a3ef34d17cabf16743/sense_o_api-1.4.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.7), version: 1.4 2025-09-09T17:45:27,903 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/48/c6/509551811ba088a971d3d4945ee730caa77d150fdc3458343830299e408e/sense_o_api-1.5-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,903 Found link https://files.pythonhosted.org/packages/c2/90/6ff0906b29b0b59fa9ee21003570b2369fda56fe44d1c00b6a337ec113a8/sense_o_api-1.5.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.5 2025-09-09T17:45:27,903 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/88/8b/8009e7e43d1b616c5ba25130ac22f7c836f284f8315f11c4e75e22837b76/sense_o_api-1.6-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,904 Found link https://files.pythonhosted.org/packages/3d/52/8b111a036062ea718cfe98154c07504fe754aa18f796f6ac8b47a0abdcba/sense_o_api-1.6.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.6 2025-09-09T17:45:27,904 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/31/ef/d5dabe2b5e11143b3410c13545bfbb62e79eafbd3404c3d8255a8db979a4/sense_o_api-1.7-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,904 Found link https://files.pythonhosted.org/packages/52/c0/fe8f14730b2490d0ced897150a6c53b3ec12446b3ce6740826fed66554b4/sense_o_api-1.7.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.7 2025-09-09T17:45:27,904 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/7c/fb/8d0ce504adf3862af56f81fa8a8d7489bf8bf98205d6fa499fc885324d63/sense_o_api-1.8-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,904 Found link https://files.pythonhosted.org/packages/df/fd/0ffb1d19bb0b14dae8f968b1ca1a0194106c5cb7d38c69f188f043f0dc98/sense_o_api-1.8.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.8 2025-09-09T17:45:27,905 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/68/75/782f2879f0a90ea3455950a1c4100cabc92970b663f27e38313348ecd5d1/sense_o_api-1.9-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,905 Found link https://files.pythonhosted.org/packages/06/58/63b7d60a432734fbd20246a6ec1c32ac71c5b23322c46a989ef0a177bd73/sense_o_api-1.9.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.9 2025-09-09T17:45:27,905 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/ff/49/adebb7a856d317cada2646315239e92fb20eba8e0320fb3fbe92577cbce2/sense_o_api-1.10-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,905 Found link https://files.pythonhosted.org/packages/4b/05/e16e0634b6280d7150d083d4b50c9faee12bb669d5e5a4e6276e89909b8c/sense_o_api-1.10.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.10 2025-09-09T17:45:27,905 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/16/e1/847f5a263cd72ac5c62850126d04b85b88cd3271fd985873a037195aa15b/sense_o_api-1.11-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,905 Found link https://files.pythonhosted.org/packages/36/57/d95cb5b59bf4fba88f0a1cffab54892f2c86140bae586c1c161b42f83d4b/sense_o_api-1.11.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.11 2025-09-09T17:45:27,906 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/cd/27/e568d47227576c59f0a1c8c32df2e32b674053629b7ebefef4bddd9c2280/sense_o_api-1.12-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,906 Found link https://files.pythonhosted.org/packages/bf/08/57fbf37928600036173f7709996c1b3e1856bc84c937774eb0786b3d9097/sense_o_api-1.12.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.12 2025-09-09T17:45:27,906 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/84/dc/7fbc0dc32e15a41e303cb91cdba71aa8da5fb318c9f9a0caba2dc29223b5/sense_o_api-1.13-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,906 Found link https://files.pythonhosted.org/packages/ba/54/d4110a1ec7ff27d4f4714333f868f71e36eb6c50c47626a5c4d98150cde6/sense_o_api-1.13.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.13 2025-09-09T17:45:27,906 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/1a/99/f28fd562c0bb780fef352b02696f68ed1fa4983dd2100351ef7b3e2af83e/sense_o_api-1.14-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,907 Found link https://files.pythonhosted.org/packages/20/9b/0825d73f57ed6686990e61f014333b12ba6a0a8b249ab68554f8cb2712e6/sense_o_api-1.14.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.14 2025-09-09T17:45:27,907 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/f1/42/fcc56872a938ee227b6a11f268f84536834f6315ded0c3c1f50c88e56cd3/sense_o_api-1.15-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,907 Found link https://files.pythonhosted.org/packages/84/30/ea94b226c60fc7d38cb885bb4574c06b6d7ffeb37128913fbcc58ea3da7c/sense_o_api-1.15.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.15 2025-09-09T17:45:27,907 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/d0/d8/409fb6621ed91df47051fca9d7d1163810c9c8315aeba944cb377b49ba9b/sense_o_api-1.16-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,907 Found link https://files.pythonhosted.org/packages/de/fb/407b7a3c2053de77d2d5069c331376ca52919c78fcb9007e4d77f97bc7c9/sense_o_api-1.16.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.16 2025-09-09T17:45:27,908 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/17/f8/daa49f46606b756c063db9fb369cee3e8bc68e9c34d80ea0462813177c46/sense_o_api-1.17-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,908 Found link https://files.pythonhosted.org/packages/f9/40/1713a4c8ccaaefcb43fcc2683a6963aa74724e505f1fc8365f4ac509eac8/sense_o_api-1.17.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.17 2025-09-09T17:45:27,908 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/3a/a8/248312b27ed939d667ed536e684690bfb901eb702e2d02a3ad19af141389/sense_o_api-1.18-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,908 Found link https://files.pythonhosted.org/packages/6c/94/af7cb0955fc898cfbda216b46f348d64f94ce853f61fe58d09abc2ae3902/sense_o_api-1.18.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.18 2025-09-09T17:45:27,908 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/1a/45/1f4cc3a090060ba02277851890bb33cd947200d7a66f03b1900b829990b3/sense_o_api-1.19-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,908 Found link https://files.pythonhosted.org/packages/f8/f5/78b7d45372f427f57c18593d3e44d79a2818ce14360e1649144e4bc08547/sense_o_api-1.19.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.19 2025-09-09T17:45:27,909 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/a8/f1/e2e8218cb1c3bcd9c789ea545ae8efd2d0dbfd8f3b2641d4586d0037195b/sense_o_api-1.20-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,909 Found link https://files.pythonhosted.org/packages/fe/ad/6dff80ee1a1121faede9b3df15fdb69f67f2b23e320cd229a9aaa7766ae4/sense_o_api-1.20.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.20 2025-09-09T17:45:27,909 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/a0/c1/27032838273659832f2f82d705a2b8bf3923777415752306c7172eca12ed/sense_o_api-1.21-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,909 Found link https://files.pythonhosted.org/packages/fb/bf/96ef026a527bb5299adf1d3e507e5916b6c4760c93f76a1cc4e5a474676e/sense_o_api-1.21.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.21 2025-09-09T17:45:27,909 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/79/0d/a8fdc6f49da7b5341afef24702a2b0622fc3e5873581692d8ea2d3cbbfd2/sense_o_api-1.22-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,910 Found link https://files.pythonhosted.org/packages/66/c0/ff2eb555435e06dfe69c8ca89a9007a2e197f5d701e9c39e85453725f2c5/sense_o_api-1.22.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.22 2025-09-09T17:45:27,910 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/05/c7/877dfaf4cc5c70e24db40450b2d6f6e7bc3e210f224dc1c217a870b603b9/sense_o_api-1.23-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,910 Found link https://files.pythonhosted.org/packages/21/2c/5648944da4934366f045936d59fa4327144a40ffa213cb8bf870f6796e7c/sense_o_api-1.23.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.23 2025-09-09T17:45:27,910 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/4b/7e/6f60a2d2b9f7e5c31d79bb33b6bdefcb4983743593089089f7d2f23b3faa/sense_o_api-1.24-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,910 Found link https://files.pythonhosted.org/packages/be/32/cc5b086529456dd555938c16fd87ef69b7dd25eb6aaa07bc755fe8907a17/sense_o_api-1.24.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.24 2025-09-09T17:45:27,911 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/6c/36/36990255d9ae8d43e09f52ce7bf337bc369b5f3dfa7c9433e9de73a6d79b/sense_o_api-1.25-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,911 Found link https://files.pythonhosted.org/packages/b9/cc/e49c572402963eb0726cfeba3903fc6c64f7efcf9fc16824a938ba96b8fc/sense_o_api-1.25.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.25 2025-09-09T17:45:27,911 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/5c/85/a95a51c63001284083d9c34e0bd1eed87905bf6ba5137344d5bc6aaee5b0/sense_o_api-1.26-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,911 Found link https://files.pythonhosted.org/packages/92/e0/317c44ec01ab2645bde3b7a4b37e025a1a643a5b1d82d92d06125f8de1ea/sense_o_api-1.26.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.26 2025-09-09T17:45:27,911 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/ad/10/686bbae764b9a0c0d26518203b2d844e1d0077a8d04f535b860b0e541803/sense_o_api-1.27-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,911 Found link https://files.pythonhosted.org/packages/da/93/49307928c0fd5d974dcb0df408ac7349042ca9261fad0bad44e4f29325c0/sense_o_api-1.27.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.27 2025-09-09T17:45:27,912 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/ed/37/db25a7a75c6a959346088398b5ef9cf3d869f087358ea1ec311bc2e06f63/sense_o_api-1.28-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,912 Found link https://files.pythonhosted.org/packages/8c/d2/af31a3b0da19af8199d4fe92c1d94bd94496f30f3f6d0a59bd2e5d73bb82/sense_o_api-1.28.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.28 2025-09-09T17:45:27,912 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/a0/cf/a4102838d692210acf543b4677195c0f65082e1297cd520365898f40ef6b/sense_o_api-1.29-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,912 Found link https://files.pythonhosted.org/packages/1e/13/3ef964f101d096765905d770242146da8e5293482519ab927dae22c43f0e/sense_o_api-1.29.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.29 2025-09-09T17:45:27,912 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/59/a7/7d3405b6ae0656894eeb3b2ea80a979a8738c88cf31fc5cdca870e1109ed/sense_o_api-1.30-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,913 Found link https://files.pythonhosted.org/packages/24/3f/b1b29f38a2b01d349b7a9b30b7cc2f1b9b187d335605b58b91c5c85de7b0/sense_o_api-1.30.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.30 2025-09-09T17:45:27,913 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/e0/fe/3d257660cc310199181baeb5dd8e7088253d299f67e1758e1ca403e3b87c/sense_o_api-1.31-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,913 Found link https://files.pythonhosted.org/packages/f0/e7/3535076a553493e293378b52b064588ed885d9f8e6285d6ab1f2eb193cb9/sense_o_api-1.31.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.31 2025-09-09T17:45:27,913 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/b4/3b/3b5d512c3357d522695d60b99da0a1c901a7feeefc658a06848126309765/sense_o_api-1.32-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,913 Found link https://files.pythonhosted.org/packages/4c/9b/7a618fe66e75664dac0719ae1f3bc75a75b60db16f8e2723e2604c6e1056/sense_o_api-1.32.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.32 2025-09-09T17:45:27,914 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/71/f0/9da5a83c903308b8e3f5dfdaa8ffadae87e6854f14cc550a3c2502d7cd28/sense_o_api-1.33-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,914 Found link https://files.pythonhosted.org/packages/f2/eb/a9181e07f0a8cc71934dce764c8697482634b9fe09744045e5138e99baf4/sense_o_api-1.33.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.33 2025-09-09T17:45:27,914 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/7b/49/3f1983513fd8a473a77ca145b02b733a464c62cc017f965fae82dce66a26/sense_o_api-1.34-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,914 Found link https://files.pythonhosted.org/packages/57/ed/3e70a59b70d72483c3740b8cc03a47d55733813863adc5784dff0e4bf1e6/sense_o_api-1.34.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.34 2025-09-09T17:45:27,914 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/08/74/ef9594529370e83dab9698b2e1c3eb71ff333cd0c219c22ded9ecb70bc02/sense_o_api-1.35-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,914 Found link https://files.pythonhosted.org/packages/40/9c/1b28ca55af5b941ab46c7a975a9ad4dc756d9849f29dce965a405d272750/sense_o_api-1.35.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.35 2025-09-09T17:45:27,915 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/7b/4c/73ae4e1530db7c060ea28fc5497f91bd18bd361f1e99372b81cc22891008/sense_o_api-1.36-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,915 Found link https://files.pythonhosted.org/packages/dc/77/52a9b11c761a9f727ec0f25052d0693806ba88ffcc1c0ab6a5460d4a51c2/sense_o_api-1.36.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.36 2025-09-09T17:45:27,915 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/87/fe/c34305845117e800baae7100d29deeadc0d3d0c7c724e6e50c9aff585ddc/sense_o_api-1.37-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,915 Found link https://files.pythonhosted.org/packages/93/c4/c051415a9d8b7a96399b803a4f50addbfd1f2d1401f1633df624deff6cd5/sense_o_api-1.37.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.37 2025-09-09T17:45:27,915 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/35/a0/e73c0a8715ab0e578a9e4ea065c1743277bb0156124646ecdd2caa6d2b9d/sense_o_api-1.38-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,916 Found link https://files.pythonhosted.org/packages/6a/43/02edb224158cff8279d994f9d2b1ada7bb2b3da96d54ca262aff4d69d8e7/sense_o_api-1.38.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.38 2025-09-09T17:45:27,916 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/7f/4d/77fb108db7965d071237b68849b8190f675aa2a3c39a8aecb7ea014f07db/sense_o_api-1.39-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,916 Found link https://files.pythonhosted.org/packages/5f/53/8f170fa1dc185d63c7eff8e54db18e679df8d2b8569f32e6ae7e07692e73/sense_o_api-1.39.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.39 2025-09-09T17:45:27,916 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/4e/4f/c91ff46623f0f67adcd3dece66caef95fe7d64cb35f74bb6bdd65fa26061/sense_o_api-1.40-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,916 Found link https://files.pythonhosted.org/packages/6d/2a/66015cd838c5ef9a995e3064716344ea083645a06b7cdc0aa0f3cd4e4cff/sense_o_api-1.40.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.40 2025-09-09T17:45:27,917 Skipping link: No binaries permitted for sense-o-api: https://files.pythonhosted.org/packages/0a/c3/9910026bac419bab703ab6fe4caa6033cc69c63cafba808dde05b23e2df7/sense_o_api-1.41-py3-none-any.whl (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:27,917 Found link https://files.pythonhosted.org/packages/44/4e/2511cdad0455c41b4f0061239526dd7587c272ed33daf25f033b5fc6e909/sense_o_api-1.41.tar.gz (from https://pypi.org/simple/sense-o-api/) (requires-python:>=3.6), version: 1.41 2025-09-09T17:45:27,917 Fetching project page and analyzing links: https://www.piwheels.org/simple/sense-o-api/ 2025-09-09T17:45:27,917 Getting page https://www.piwheels.org/simple/sense-o-api/ 2025-09-09T17:45:27,918 Found index url https://www.piwheels.org/simple/ 2025-09-09T17:45:28,006 Fetched page https://www.piwheels.org/simple/sense-o-api/ as text/html 2025-09-09T17:45:28,009 Skipping link: No binaries permitted for sense-o-api: https://archive1.piwheels.org/simple/sense-o-api/sense_o_api-1.41-py3-none-any.whl#sha256=80709f9eed6d124c363d2a63959e488f6cb13da047113a1b25ad1ae5e7b96c4f (from https://www.piwheels.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:28,009 Skipping link: No binaries permitted for sense-o-api: https://archive1.piwheels.org/simple/sense-o-api/sense_o_api-1.40-py3-none-any.whl#sha256=9ef9ff36ea39b5d94f84ca3746e73a32ae7fb79be8f742181c8029180267416b (from https://www.piwheels.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:28,009 Skipping link: No binaries permitted for sense-o-api: https://archive1.piwheels.org/simple/sense-o-api/sense_o_api-1.39-py3-none-any.whl#sha256=2e3db62be5deccffd9f0f588ca6890736382b3944caa0667ceaaac757bcb4422 (from https://www.piwheels.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:28,009 Skipping link: No binaries permitted for sense-o-api: https://archive1.piwheels.org/simple/sense-o-api/sense_o_api-1.38-py3-none-any.whl#sha256=a794a2abe0bd94a6fb60ae59de0af8bf7fe124699d09e4d34e6fa770420f2b67 (from https://www.piwheels.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:28,009 Skipping link: No binaries permitted for sense-o-api: https://archive1.piwheels.org/simple/sense-o-api/sense_o_api-1.37-py3-none-any.whl#sha256=64ad56a92c5c0913446c2da5aa20a227b74f98ad547d60b7fdcf7033f496379d (from https://www.piwheels.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:28,010 Skipping link: No binaries permitted for sense-o-api: https://archive1.piwheels.org/simple/sense-o-api/sense_o_api-1.36-py3-none-any.whl#sha256=d6fe644deb8733e54caae1776c9f028840f03956b4357b245389e7908b399dad (from https://www.piwheels.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:28,010 Skipping link: No binaries permitted for sense-o-api: https://archive1.piwheels.org/simple/sense-o-api/sense_o_api-1.35-py3-none-any.whl#sha256=4b01ecf1acf9ddf5153fff9f27e27a3f4d6f0d954137b3438bd15b728c2ef102 (from https://www.piwheels.org/simple/sense-o-api/) (requires-python:>=3.6) 2025-09-09T17:45:28,010 Skipping link: not a file: https://www.piwheels.org/simple/sense-o-api/ 2025-09-09T17:45:28,010 Skipping link: not a file: https://pypi.org/simple/sense-o-api/ 2025-09-09T17:45:28,037 Given no hashes to check 1 links for project 'sense-o-api': discarding no candidates 2025-09-09T17:45:28,039 Collecting sense-o-api==1.8 2025-09-09T17:45:28,040 Created temporary directory: /tmp/pip-unpack-uc94pc7p 2025-09-09T17:45:28,177 Downloading sense_o_api-1.8.tar.gz (36 kB) 2025-09-09T17:45:28,249 Added sense-o-api==1.8 from https://files.pythonhosted.org/packages/df/fd/0ffb1d19bb0b14dae8f968b1ca1a0194106c5cb7d38c69f188f043f0dc98/sense_o_api-1.8.tar.gz to build tracker '/tmp/pip-build-tracker-dbt2vtd9' 2025-09-09T17:45:28,251 Running setup.py (path:/tmp/pip-wheel-uah5y_ha/sense-o-api_a4c2ee20561b4073b95a897cc64b0625/setup.py) egg_info for package sense-o-api 2025-09-09T17:45:28,251 Created temporary directory: /tmp/pip-pip-egg-info-zvextvsv 2025-09-09T17:45:28,251 Preparing metadata (setup.py): started 2025-09-09T17:45:28,252 Running command python setup.py egg_info 2025-09-09T17:45:28,789 Traceback (most recent call last): 2025-09-09T17:45:28,790 File "", line 2, in 2025-09-09T17:45:28,791 exec(compile(''' 2025-09-09T17:45:28,791 ~~~~^^^^^^^^^^^^ 2025-09-09T17:45:28,791 # This is -- a caller that pip uses to run setup.py 2025-09-09T17:45:28,791 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,791 ...<32 lines>... 2025-09-09T17:45:28,792 exec(compile(setup_py_code, filename, "exec")) 2025-09-09T17:45:28,792 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,792 ''' % ('/tmp/pip-wheel-uah5y_ha/sense-o-api_a4c2ee20561b4073b95a897cc64b0625/setup.py',), "", "exec")) 2025-09-09T17:45:28,793 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,793 File "", line 35, in 2025-09-09T17:45:28,794 File "/tmp/pip-wheel-uah5y_ha/sense-o-api_a4c2ee20561b4073b95a897cc64b0625/setup.py", line 5, in 2025-09-09T17:45:28,794 with open("/Users/xiyang/Work/sense-o-py-client/requirements.txt", "r") as fh: 2025-09-09T17:45:28,794 ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,794 FileNotFoundError: [Errno 2] No such file or directory: '/Users/xiyang/Work/sense-o-py-client/requirements.txt' 2025-09-09T17:45:28,876 ERROR: python setup.py egg_info exited with 1 2025-09-09T17:45:28,889 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-09T17:45:28,889 exec(compile('"'"''"'"''"'"' 2025-09-09T17:45:28,889 # This is -- a caller that pip uses to run setup.py 2025-09-09T17:45:28,889 # 2025-09-09T17:45:28,889 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-09T17:45:28,889 # import from `distutils.core` to work with newer packaging standards. 2025-09-09T17:45:28,889 # - It provides a clear error message when setuptools is not installed. 2025-09-09T17:45:28,889 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-09T17:45:28,889 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-09T17:45:28,889 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-09T17:45:28,889 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-09T17:45:28,889 import os, sys, tokenize, traceback 2025-09-09T17:45:28,889 2025-09-09T17:45:28,889 try: 2025-09-09T17:45:28,889 import setuptools 2025-09-09T17:45:28,889 except ImportError: 2025-09-09T17:45:28,889 print( 2025-09-09T17:45:28,889 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-09T17:45:28,889 "the build environment with exception:", 2025-09-09T17:45:28,889 file=sys.stderr, 2025-09-09T17:45:28,889 ) 2025-09-09T17:45:28,889 traceback.print_exc() 2025-09-09T17:45:28,889 sys.exit(1) 2025-09-09T17:45:28,889 2025-09-09T17:45:28,889 __file__ = %r 2025-09-09T17:45:28,889 sys.argv[0] = __file__ 2025-09-09T17:45:28,889 2025-09-09T17:45:28,889 if os.path.exists(__file__): 2025-09-09T17:45:28,889 filename = __file__ 2025-09-09T17:45:28,889 with tokenize.open(__file__) as f: 2025-09-09T17:45:28,889 setup_py_code = f.read() 2025-09-09T17:45:28,889 else: 2025-09-09T17:45:28,889 filename = "" 2025-09-09T17:45:28,889 setup_py_code = "from setuptools import setup; setup()" 2025-09-09T17:45:28,889 2025-09-09T17:45:28,889 exec(compile(setup_py_code, filename, "exec")) 2025-09-09T17:45:28,889 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-uah5y_ha/sense-o-api_a4c2ee20561b4073b95a897cc64b0625/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-zvextvsv[/] 2025-09-09T17:45:28,889 [bold magenta]cwd[/]: /tmp/pip-wheel-uah5y_ha/sense-o-api_a4c2ee20561b4073b95a897cc64b0625/ 2025-09-09T17:45:28,889 Preparing metadata (setup.py): finished with status 'error' 2025-09-09T17:45:28,890 ERROR: metadata generation failed 2025-09-09T17:45:28,895 Exception information: 2025-09-09T17:45:28,895 Traceback (most recent call last): 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-09T17:45:28,895 call_subprocess( 2025-09-09T17:45:28,895 ~~~~~~~~~~~~~~~^ 2025-09-09T17:45:28,895 args, 2025-09-09T17:45:28,895 ^^^^^ 2025-09-09T17:45:28,895 ...<2 lines>... 2025-09-09T17:45:28,895 spinner=spinner, 2025-09-09T17:45:28,895 ^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 ) 2025-09-09T17:45:28,895 ^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-09T17:45:28,895 raise error 2025-09-09T17:45:28,895 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-09T17:45:28,895 2025-09-09T17:45:28,895 The above exception was the direct cause of the following exception: 2025-09-09T17:45:28,895 2025-09-09T17:45:28,895 Traceback (most recent call last): 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-09T17:45:28,895 status = _inner_run() 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-09T17:45:28,895 return self.run(options, args) 2025-09-09T17:45:28,895 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-09T17:45:28,895 return func(self, options, args) 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-09T17:45:28,895 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-09T17:45:28,895 result = self._result = resolver.resolve( 2025-09-09T17:45:28,895 ~~~~~~~~~~~~~~~~^ 2025-09-09T17:45:28,895 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-09T17:45:28,895 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 ) 2025-09-09T17:45:28,895 ^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-09T17:45:28,895 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-09T17:45:28,895 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-09T17:45:28,895 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-09T17:45:28,895 if not criterion.candidates: 2025-09-09T17:45:28,895 ^^^^^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-09T17:45:28,895 return bool(self._sequence) 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-09T17:45:28,895 self._bool = any(self) 2025-09-09T17:45:28,895 ~~~^^^^^^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-09T17:45:28,895 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-09T17:45:28,895 ^^^^^^^^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-09T17:45:28,895 candidate = func() 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-09T17:45:28,895 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-09T17:45:28,895 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-09T17:45:28,895 link, template, name, version 2025-09-09T17:45:28,895 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 ) 2025-09-09T17:45:28,895 ^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-09T17:45:28,895 self._link_candidate_cache[link] = LinkCandidate( 2025-09-09T17:45:28,895 ~~~~~~~~~~~~~^ 2025-09-09T17:45:28,895 link, 2025-09-09T17:45:28,895 ^^^^^ 2025-09-09T17:45:28,895 ...<3 lines>... 2025-09-09T17:45:28,895 version=version, 2025-09-09T17:45:28,895 ^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 ) 2025-09-09T17:45:28,895 ^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-09T17:45:28,895 super().__init__( 2025-09-09T17:45:28,895 ~~~~~~~~~~~~~~~~^ 2025-09-09T17:45:28,895 link=link, 2025-09-09T17:45:28,895 ^^^^^^^^^^ 2025-09-09T17:45:28,895 ...<4 lines>... 2025-09-09T17:45:28,895 version=version, 2025-09-09T17:45:28,895 ^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 ) 2025-09-09T17:45:28,895 ^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-09T17:45:28,895 self.dist = self._prepare() 2025-09-09T17:45:28,895 ~~~~~~~~~~~~~^^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-09T17:45:28,895 dist = self._prepare_distribution() 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-09T17:45:28,895 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-09T17:45:28,895 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-09T17:45:28,895 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-09T17:45:28,895 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-09T17:45:28,895 dist = _get_prepared_distribution( 2025-09-09T17:45:28,895 req, 2025-09-09T17:45:28,895 ...<3 lines>... 2025-09-09T17:45:28,895 self.check_build_deps, 2025-09-09T17:45:28,895 ) 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-09T17:45:28,895 abstract_dist.prepare_distribution_metadata( 2025-09-09T17:45:28,895 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-09T17:45:28,895 finder, build_isolation, check_build_deps 2025-09-09T17:45:28,895 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 ) 2025-09-09T17:45:28,895 ^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-09T17:45:28,895 self.req.prepare_metadata() 2025-09-09T17:45:28,895 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-09T17:45:28,895 self.metadata_directory = generate_metadata_legacy( 2025-09-09T17:45:28,895 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-09T17:45:28,895 build_env=self.build_env, 2025-09-09T17:45:28,895 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 ...<3 lines>... 2025-09-09T17:45:28,895 details=details, 2025-09-09T17:45:28,895 ^^^^^^^^^^^^^^^^ 2025-09-09T17:45:28,895 ) 2025-09-09T17:45:28,895 ^ 2025-09-09T17:45:28,895 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-09T17:45:28,895 raise MetadataGenerationFailed(package_details=details) from error 2025-09-09T17:45:28,895 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-09T17:45:28,917 Removed sense-o-api==1.8 from https://files.pythonhosted.org/packages/df/fd/0ffb1d19bb0b14dae8f968b1ca1a0194106c5cb7d38c69f188f043f0dc98/sense_o_api-1.8.tar.gz from build tracker '/tmp/pip-build-tracker-dbt2vtd9' 2025-09-09T17:45:28,917 Removed build tracker: '/tmp/pip-build-tracker-dbt2vtd9'