2026-05-02T22:22:45,425 Created temporary directory: /tmp/pip-ephem-wheel-cache-b3uzde9f 2026-05-02T22:22:45,427 Created temporary directory: /tmp/pip-build-tracker-46n84ja3 2026-05-02T22:22:45,428 Initialized build tracking at /tmp/pip-build-tracker-46n84ja3 2026-05-02T22:22:45,428 Created build tracker: /tmp/pip-build-tracker-46n84ja3 2026-05-02T22:22:45,429 Entered build tracker: /tmp/pip-build-tracker-46n84ja3 2026-05-02T22:22:45,430 Created temporary directory: /tmp/pip-wheel-wzb85sw8 2026-05-02T22:22:45,433 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-02T22:22:45,435 Created temporary directory: /tmp/pip-ephem-wheel-cache-7cjq60pm 2026-05-02T22:22:45,457 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-05-02T22:22:45,461 2 location(s) to search for versions of canvas-mcp: 2026-05-02T22:22:45,461 * https://pypi.org/simple/canvas-mcp/ 2026-05-02T22:22:45,461 * https://www.piwheels.org/simple/canvas-mcp/ 2026-05-02T22:22:45,462 Fetching project page and analyzing links: https://pypi.org/simple/canvas-mcp/ 2026-05-02T22:22:45,463 Getting page https://pypi.org/simple/canvas-mcp/ 2026-05-02T22:22:45,464 Found index url https://pypi.org/simple 2026-05-02T22:22:45,687 Fetched page https://pypi.org/simple/canvas-mcp/ as application/vnd.pypi.simple.v1+json 2026-05-02T22:22:45,692 Skipping link: No binaries permitted for canvas-mcp: https://files.pythonhosted.org/packages/8c/5d/d8a192a93f28196428e9eb6b3494e27c2a05cc8ae2e5098919dd3426e3d7/canvas_mcp-1.0.0-py3-none-any.whl (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,693 Found link https://files.pythonhosted.org/packages/95/83/4b093b9b3ddc8333c5a270c3e36521883b9e7e279ee26c3d40caa0dc9ad9/canvas_mcp-1.0.0.tar.gz (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10), version: 1.0.0 2026-05-02T22:22:45,694 Skipping link: No binaries permitted for canvas-mcp: https://files.pythonhosted.org/packages/d9/49/e85b1af8380fc41bf5e8dc4e522e3707812d72b9249ea53b27f97e2ecc67/canvas_mcp-1.0.1-py3-none-any.whl (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,695 Found link https://files.pythonhosted.org/packages/4c/d8/4b2a81e1caeacca26a2dc9f1dfb5079f8447989a229c7dc485fe3182253b/canvas_mcp-1.0.1.tar.gz (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10), version: 1.0.1 2026-05-02T22:22:45,696 Skipping link: No binaries permitted for canvas-mcp: https://files.pythonhosted.org/packages/7a/90/2d278b9697dbf85bd8cdcac17caf3541a493c9a5c8ca2f21415317dbc0ee/canvas_mcp-1.0.2-py3-none-any.whl (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,697 Found link https://files.pythonhosted.org/packages/5a/5f/9eae66f31ebfee96db53d31fe0fa5c214d948a51616ef966653e1ca2d744/canvas_mcp-1.0.2.tar.gz (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10), version: 1.0.2 2026-05-02T22:22:45,698 Skipping link: No binaries permitted for canvas-mcp: https://files.pythonhosted.org/packages/e7/85/ec2cf2fe57d705df870b860061a38a04aeb3059b7ce64f9a0f50e21f4a7d/canvas_mcp-1.0.3-py3-none-any.whl (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,699 Found link https://files.pythonhosted.org/packages/88/68/7d54ac1e2c58bbfa1e05aad183929025299a22d9a46ebab7f13fe43988a9/canvas_mcp-1.0.3.tar.gz (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10), version: 1.0.3 2026-05-02T22:22:45,700 Skipping link: No binaries permitted for canvas-mcp: https://files.pythonhosted.org/packages/77/92/9e3ebda8183979dc6afb059caeb38aa035bcba445c4f1db53914dac0940d/canvas_mcp-1.0.4-py3-none-any.whl (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,701 Found link https://files.pythonhosted.org/packages/dc/b5/7b62d7cffdc72537590ab1579af2b0ef74d9517425311e925955b5ccd8ea/canvas_mcp-1.0.4.tar.gz (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10), version: 1.0.4 2026-05-02T22:22:45,701 Skipping link: No binaries permitted for canvas-mcp: https://files.pythonhosted.org/packages/50/9e/4a2ea0c8bc6f4e7f42d6651775cacdea843bf3e847d7a4f417fcbdbb7b87/canvas_mcp-1.0.5-py3-none-any.whl (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,702 Found link https://files.pythonhosted.org/packages/98/a3/6bdb2212a849646da39b1fe33eb3a5fb3d56594f4782c897e4fd3bca0085/canvas_mcp-1.0.5.tar.gz (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10), version: 1.0.5 2026-05-02T22:22:45,703 Skipping link: No binaries permitted for canvas-mcp: https://files.pythonhosted.org/packages/63/9b/a49240668e6fd27948ed308fe3e49f9b4be30b36ede98b366a8d9d08fa16/canvas_mcp-1.0.6-py3-none-any.whl (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,704 Found link https://files.pythonhosted.org/packages/a1/87/13c039b959bd6c4b57db1ba41411afe9d070bbcf0013227d5e782742fc41/canvas_mcp-1.0.6.tar.gz (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10), version: 1.0.6 2026-05-02T22:22:45,704 Skipping link: No binaries permitted for canvas-mcp: https://files.pythonhosted.org/packages/12/ee/a84350730d513e7e02983f963b4f2c6386ed1b13a64e9474c3082179a224/canvas_mcp-1.0.7-py3-none-any.whl (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,705 Found link https://files.pythonhosted.org/packages/32/26/661b771ab02bb1256bf4397b60831cb0c3addbd650a63d75a8bf935bdfde/canvas_mcp-1.0.7.tar.gz (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10), version: 1.0.7 2026-05-02T22:22:45,706 Skipping link: No binaries permitted for canvas-mcp: https://files.pythonhosted.org/packages/59/22/1948e9495e4e03280a7eeca0e1376f70e1b907cd339590392f64640eac1b/canvas_mcp-1.0.8-py3-none-any.whl (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,707 Found link https://files.pythonhosted.org/packages/ec/f6/3cc63cd4ee9e3c83780cc49c04b1584f794bafaa1bd1d76d14c04e9fa62f/canvas_mcp-1.0.8.tar.gz (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10), version: 1.0.8 2026-05-02T22:22:45,707 Skipping link: No binaries permitted for canvas-mcp: https://files.pythonhosted.org/packages/09/eb/b329e78ee6e8f838c219e5f4dff02439173b74baad4651e8fe0b32255cf7/canvas_mcp-1.1.0-py3-none-any.whl (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,708 Found link https://files.pythonhosted.org/packages/2b/58/44d33b33ce3d8bbe88faf01e5004dbf6455a6cde6baf2af3b3dee6d9e8f8/canvas_mcp-1.1.0.tar.gz (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10), version: 1.1.0 2026-05-02T22:22:45,709 Skipping link: No binaries permitted for canvas-mcp: https://files.pythonhosted.org/packages/1a/fa/0cd457aba8abc58cf26f5782d8f3e211f57beda04cbbd4041a67aaf83bb6/canvas_mcp-1.2.0-py3-none-any.whl (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,710 Found link https://files.pythonhosted.org/packages/43/fb/68493da20add23b10a95dbf1278f1c4be7740192e8c9cedbfb8bc24c55a6/canvas_mcp-1.2.0.tar.gz (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10), version: 1.2.0 2026-05-02T22:22:45,711 Skipping link: No binaries permitted for canvas-mcp: https://files.pythonhosted.org/packages/69/55/4eb3c33a96266087280a029c82b009f1c121d0d35f9302d6827ada6e734c/canvas_mcp-1.3.0-py3-none-any.whl (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,712 Found link https://files.pythonhosted.org/packages/d5/cf/1c94477986528b5deabc1e92372b9d27cd6398ae3bbbdd219f27ca916122/canvas_mcp-1.3.0.tar.gz (from https://pypi.org/simple/canvas-mcp/) (requires-python:>=3.10), version: 1.3.0 2026-05-02T22:22:45,713 Fetching project page and analyzing links: https://www.piwheels.org/simple/canvas-mcp/ 2026-05-02T22:22:45,713 Getting page https://www.piwheels.org/simple/canvas-mcp/ 2026-05-02T22:22:45,715 Found index url https://www.piwheels.org/simple 2026-05-02T22:22:45,922 Fetched page https://www.piwheels.org/simple/canvas-mcp/ as text/html 2026-05-02T22:22:45,926 Skipping link: No binaries permitted for canvas-mcp: https://archive1.piwheels.org/simple/canvas-mcp/canvas_mcp-1.2.0-py3-none-any.whl#sha256=e16c45ff366e40fc9943a7dcac872db6cc42b7b6a1d057011e15546cb51e44a5 (from https://www.piwheels.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,927 Skipping link: No binaries permitted for canvas-mcp: https://archive1.piwheels.org/simple/canvas-mcp/canvas_mcp-1.1.0-py3-none-any.whl#sha256=377d51b04859f7975acf6656bbd4b54df51b1df9924af48b576526f46aea4836 (from https://www.piwheels.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,927 Skipping link: No binaries permitted for canvas-mcp: https://archive1.piwheels.org/simple/canvas-mcp/canvas_mcp-1.0.8-py3-none-any.whl#sha256=f40e10070f3e11ad128787601244c917442652108d58fca13a4354a544911272 (from https://www.piwheels.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,928 Skipping link: No binaries permitted for canvas-mcp: https://archive1.piwheels.org/simple/canvas-mcp/canvas_mcp-1.0.7-py3-none-any.whl#sha256=dabf4f9506d0b59f7879a809b4ca73678da8205c365cbde241e6370a92abb148 (from https://www.piwheels.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,928 Skipping link: No binaries permitted for canvas-mcp: https://archive1.piwheels.org/simple/canvas-mcp/canvas_mcp-1.0.6-py3-none-any.whl#sha256=849e6b5df8d4d2030fb3010b78e39d6e1f42c7a6e4c409eb3c2eaa39ef7b70df (from https://www.piwheels.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,929 Skipping link: No binaries permitted for canvas-mcp: https://archive1.piwheels.org/simple/canvas-mcp/canvas_mcp-1.0.5-py3-none-any.whl#sha256=aaf1a61d419372df09e8b913e38c664168ccefa4ecedb7ca49c798830688822c (from https://www.piwheels.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,929 Skipping link: No binaries permitted for canvas-mcp: https://archive1.piwheels.org/simple/canvas-mcp/canvas_mcp-1.0.4-py3-none-any.whl#sha256=7eb570cce7f1b44e18cfbe2e92324c1f2035509edc507e6f19257e5bad4e9137 (from https://www.piwheels.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,930 Skipping link: No binaries permitted for canvas-mcp: https://archive1.piwheels.org/simple/canvas-mcp/canvas_mcp-1.0.3-py3-none-any.whl#sha256=b7b7ceffd7213747f8b2770d9e59919fcea30ea2f04fe2e96edb74bed65c6426 (from https://www.piwheels.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,930 Skipping link: No binaries permitted for canvas-mcp: https://archive1.piwheels.org/simple/canvas-mcp/canvas_mcp-1.0.2-py3-none-any.whl#sha256=c795b6cf0f39c55fd828f76a0287b1f1fe878c62298e4fe234f014cb0c2e2926 (from https://www.piwheels.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,931 Skipping link: No binaries permitted for canvas-mcp: https://archive1.piwheels.org/simple/canvas-mcp/canvas_mcp-1.0.1-py3-none-any.whl#sha256=7baec6673ffa4671d87473937c3430672f876d1a659cd3080a4e18a227451a58 (from https://www.piwheels.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,932 Skipping link: No binaries permitted for canvas-mcp: https://archive1.piwheels.org/simple/canvas-mcp/canvas_mcp-1.0.0-py3-none-any.whl#sha256=1d2e203bf9933ab554bba4468eb94fb9a5da714d563d6d9df7bd3db40d7ec598 (from https://www.piwheels.org/simple/canvas-mcp/) (requires-python:>=3.10) 2026-05-02T22:22:45,932 Skipping link: not a file: https://www.piwheels.org/simple/canvas-mcp/ 2026-05-02T22:22:45,933 Skipping link: not a file: https://pypi.org/simple/canvas-mcp/ 2026-05-02T22:22:45,954 Given no hashes to check 1 links for project 'canvas-mcp': discarding no candidates 2026-05-02T22:22:45,974 Collecting canvas-mcp==1.3.0 2026-05-02T22:22:45,976 Created temporary directory: /tmp/pip-unpack-99ujn9my 2026-05-02T22:22:46,209 Downloading canvas_mcp-1.3.0.tar.gz (897 kB) 2026-05-02T22:22:46,709 Added canvas-mcp==1.3.0 from https://files.pythonhosted.org/packages/d5/cf/1c94477986528b5deabc1e92372b9d27cd6398ae3bbbdd219f27ca916122/canvas_mcp-1.3.0.tar.gz to build tracker '/tmp/pip-build-tracker-46n84ja3' 2026-05-02T22:22:46,715 Created temporary directory: /tmp/pip-build-env-bfkwj21z 2026-05-02T22:22:46,719 Installing build dependencies: started 2026-05-02T22:22:46,720 Running command pip subprocess to install build dependencies 2026-05-02T22:22:47,875 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2026-05-02T22:22:48,335 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-02T22:22:48,359 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-05-02T22:22:48,928 Collecting hatchling 2026-05-02T22:22:48,948 Using cached https://www.piwheels.org/simple/hatchling/hatchling-1.29.0-py3-none-any.whl (76 kB) 2026-05-02T22:22:49,155 Collecting packaging>=24.2 2026-05-02T22:22:49,183 Using cached https://www.piwheels.org/simple/packaging/packaging-26.2-py3-none-any.whl (100 kB) 2026-05-02T22:22:49,312 Collecting pathspec>=0.10.1 2026-05-02T22:22:49,330 Using cached https://www.piwheels.org/simple/pathspec/pathspec-1.1.1-py3-none-any.whl (57 kB) 2026-05-02T22:22:49,456 Collecting pluggy>=1.0.0 2026-05-02T22:22:49,477 Using cached https://www.piwheels.org/simple/pluggy/pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-05-02T22:22:49,766 Collecting trove-classifiers 2026-05-02T22:22:49,789 Using cached https://www.piwheels.org/simple/trove-classifiers/trove_classifiers-2026.4.28.13-py3-none-any.whl (14 kB) 2026-05-02T22:22:52,490 Installing collected packages: trove-classifiers, pluggy, pathspec, packaging, hatchling 2026-05-02T22:22:52,524 Creating /tmp/pip-build-env-bfkwj21z/overlay/local/bin 2026-05-02T22:22:52,527 changing mode of /tmp/pip-build-env-bfkwj21z/overlay/local/bin/trove-classifiers to 755 2026-05-02T22:22:53,544 changing mode of /tmp/pip-build-env-bfkwj21z/overlay/local/bin/hatchling to 755 2026-05-02T22:22:53,583 Successfully installed hatchling-1.29.0 packaging-26.2 pathspec-1.1.1 pluggy-1.6.0 trove-classifiers-2026.4.28.13 2026-05-02T22:22:53,833 Installing build dependencies: finished with status 'done' 2026-05-02T22:22:53,839 Getting requirements to build wheel: started 2026-05-02T22:22:53,841 Running command Getting requirements to build wheel 2026-05-02T22:22:54,193 Getting requirements to build wheel: finished with status 'done' 2026-05-02T22:22:54,196 Created temporary directory: /tmp/pip-modern-metadata-53pggwox 2026-05-02T22:22:54,199 Preparing metadata (pyproject.toml): started 2026-05-02T22:22:54,200 Running command Preparing metadata (pyproject.toml) 2026-05-02T22:22:54,839 Preparing metadata (pyproject.toml): finished with status 'done' 2026-05-02T22:22:54,846 Source in /tmp/pip-wheel-wzb85sw8/canvas-mcp_242f14d732584d339600ce0a0c03c05e has version 1.3.0, which satisfies requirement canvas-mcp==1.3.0 from https://files.pythonhosted.org/packages/d5/cf/1c94477986528b5deabc1e92372b9d27cd6398ae3bbbdd219f27ca916122/canvas_mcp-1.3.0.tar.gz 2026-05-02T22:22:54,847 Removed canvas-mcp==1.3.0 from https://files.pythonhosted.org/packages/d5/cf/1c94477986528b5deabc1e92372b9d27cd6398ae3bbbdd219f27ca916122/canvas_mcp-1.3.0.tar.gz from build tracker '/tmp/pip-build-tracker-46n84ja3' 2026-05-02T22:22:54,857 Created temporary directory: /tmp/pip-unpack-s1crs52e 2026-05-02T22:22:54,857 Building wheels for collected packages: canvas-mcp 2026-05-02T22:22:54,862 Created temporary directory: /tmp/pip-wheel-0ikqpwgn 2026-05-02T22:22:54,862 Destination directory: /tmp/pip-wheel-0ikqpwgn 2026-05-02T22:22:54,864 Building wheel for canvas-mcp (pyproject.toml): started 2026-05-02T22:22:54,866 Running command Building wheel for canvas-mcp (pyproject.toml) 2026-05-02T22:22:54,999 Building wheel for canvas-mcp (pyproject.toml): finished with status 'done' 2026-05-02T22:22:55,004 Created wheel for canvas-mcp: filename=canvas_mcp-1.3.0-py3-none-any.whl size=157430 sha256=c703b2e98cc5dd1d23b1173d17875e156fabfc1a0ba7fcd292802e9690a85899 2026-05-02T22:22:55,005 Stored in directory: /tmp/pip-ephem-wheel-cache-7cjq60pm/wheels/99/5a/99/c71cae7316a24d558ed012af1be742fa3a51f072c8f3c14549 2026-05-02T22:22:55,023 Successfully built canvas-mcp 2026-05-02T22:22:55,030 Removed build tracker: '/tmp/pip-build-tracker-46n84ja3'