2026-04-28T18:21:18,464 Created temporary directory: /tmp/pip-ephem-wheel-cache-_aoibe_i 2026-04-28T18:21:18,465 Created temporary directory: /tmp/pip-build-tracker-asjc50mf 2026-04-28T18:21:18,466 Initialized build tracking at /tmp/pip-build-tracker-asjc50mf 2026-04-28T18:21:18,466 Created build tracker: /tmp/pip-build-tracker-asjc50mf 2026-04-28T18:21:18,467 Entered build tracker: /tmp/pip-build-tracker-asjc50mf 2026-04-28T18:21:18,468 Created temporary directory: /tmp/pip-wheel-bfjgqfuo 2026-04-28T18:21:18,471 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-04-28T18:21:18,473 Created temporary directory: /tmp/pip-ephem-wheel-cache-06aocaw1 2026-04-28T18:21:18,494 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-04-28T18:21:18,498 2 location(s) to search for versions of keycardai-mcp: 2026-04-28T18:21:18,498 * https://pypi.org/simple/keycardai-mcp/ 2026-04-28T18:21:18,498 * https://www.piwheels.org/simple/keycardai-mcp/ 2026-04-28T18:21:18,498 Fetching project page and analyzing links: https://pypi.org/simple/keycardai-mcp/ 2026-04-28T18:21:18,499 Getting page https://pypi.org/simple/keycardai-mcp/ 2026-04-28T18:21:18,501 Found index url https://pypi.org/simple 2026-04-28T18:21:18,730 Fetched page https://pypi.org/simple/keycardai-mcp/ as application/vnd.pypi.simple.v1+json 2026-04-28T18:21:18,740 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/0d/49/8fd4d2039c6ab8866ad71223ac996645647088dbaba59aa819e97b96d502/keycardai_mcp-0.1.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,741 Found link https://files.pythonhosted.org/packages/16/1f/4f46df7d60cf730a76c607a33ff357aaea9de105d6f22c276edf1b4a2247/keycardai_mcp-0.1.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.1.0 2026-04-28T18:21:18,742 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/ff/4e/2836ce6f49b208480c9e18c3b54a5991e927f8257e88ed23486ab730742c/keycardai_mcp-0.3.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,743 Found link https://files.pythonhosted.org/packages/4d/81/3ba4687f5410cabe9055111e01c95065e16007ba322ead17c7d012b2055a/keycardai_mcp-0.3.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.3.0 2026-04-28T18:21:18,743 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/6a/7e/fb5e14fea86519e915e9f49c845b706c00d766458c196f54262f4b1a0e1b/keycardai_mcp-0.3.1-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,745 Found link https://files.pythonhosted.org/packages/f5/88/fcbf3e5796e885b650fe76bcd1d6e77260ed3faaa73b6ba67442264e79d0/keycardai_mcp-0.3.1.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.3.1 2026-04-28T18:21:18,745 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/fe/57/faaa62a8657537df89e7a87ec3e01ca8855f04fffbb4aee31844225839c4/keycardai_mcp-0.4.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,746 Found link https://files.pythonhosted.org/packages/6b/6b/203199f4cb593445ca1c891467352cdcba1b83b80abf2b5c6d08d09726be/keycardai_mcp-0.4.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.4.0 2026-04-28T18:21:18,747 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/18/ae/d904a5d16a70f7347800f891448c91650cdc2303c71fd453ec9c6b0eb027/keycardai_mcp-0.4.1-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,748 Found link https://files.pythonhosted.org/packages/fd/f2/f6b72345e139c225d34b1ad8f77f2c298c6b67996693855f6a6886b567cd/keycardai_mcp-0.4.1.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.4.1 2026-04-28T18:21:18,749 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/25/b2/2d5a73c5530bb8db853d5e3486aa552917de2b40ea2a1358f2da27cfa231/keycardai_mcp-0.5.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,750 Found link https://files.pythonhosted.org/packages/b8/c3/cbee5ae4de2130579d7b50600d274c5af8aaa60babd928ff61006a5141ed/keycardai_mcp-0.5.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.5.0 2026-04-28T18:21:18,751 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/f0/42/f45fd47460f8f5db637f2a8550bf00a0e3ce500da8186af1a1c60bff8884/keycardai_mcp-0.5.1-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,752 Found link https://files.pythonhosted.org/packages/d1/de/7b8744087bb143e706e037c30716fa803463716898d44550bee1004f6036/keycardai_mcp-0.5.1.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.5.1 2026-04-28T18:21:18,752 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/30/ae/132300b00036b2be8ff34d5e2e0e4c4f7282dfa218ace1e1dc5924eaa99b/keycardai_mcp-0.7.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,753 Found link https://files.pythonhosted.org/packages/22/7c/bd5bec78b6ed60d0b34b4c2b6144841bfb30a8d921ffdb054834f99b1fc1/keycardai_mcp-0.7.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.7.0 2026-04-28T18:21:18,754 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/0d/6d/2fc7e8b18f139942be2a7d4626bc7f4d96f878b79e44799ab2bdeaf25e7a/keycardai_mcp-0.8.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,754 Found link https://files.pythonhosted.org/packages/59/e9/a1a2a25328746df8a3ae2122df7b8bf3f72beb6767a063b52412acfee987/keycardai_mcp-0.8.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.8.0 2026-04-28T18:21:18,755 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/cb/c1/c740a2e09e9c7fb80b0007a4adc952674b3ddf7ecafddd540e98267c8cb2/keycardai_mcp-0.8.1-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,756 Found link https://files.pythonhosted.org/packages/12/99/e5a2c4b37b8ed86f7c6ddb8e54cd6ac02acc721061783934e07b59e6655c/keycardai_mcp-0.8.1.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.8.1 2026-04-28T18:21:18,757 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/45/0f/93cbf92fa777abee9c42f0b5f1711f92c5bae81330870e82b97491966190/keycardai_mcp-0.9.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,758 Found link https://files.pythonhosted.org/packages/ca/10/5fbc9bd0b078e8930be3e2e67d395e6395eb30b261befea9ed68d8f5f8c1/keycardai_mcp-0.9.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.9.0 2026-04-28T18:21:18,758 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/5f/fd/d101e63acc211701845412e18858c492bf52d13f86065422636490847292/keycardai_mcp-0.10.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,759 Found link https://files.pythonhosted.org/packages/1b/ac/83d9301d7ce01edad936fa057a59810006084ee72739e137de1c7a5fd33f/keycardai_mcp-0.10.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.10.0 2026-04-28T18:21:18,760 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/05/2b/ca5fbbc64da0f00a17aa8030d3b65427b2e603a54111c53bcc094cc4b3ed/keycardai_mcp-0.11.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,761 Found link https://files.pythonhosted.org/packages/e9/24/1c17b42f319de8d2d2854d22b20f071430218f11a1bb2e7b1cd9e65e1d43/keycardai_mcp-0.11.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.11.0 2026-04-28T18:21:18,762 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/5f/92/e180f22509d73f4f960bb8175f7ae59146ce61b792b066bdb49501c6ebb6/keycardai_mcp-0.12.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,762 Found link https://files.pythonhosted.org/packages/06/eb/7a7df6c567b6c91d7c0915ea49adca1f7f6519483f18c85967c8a70cab59/keycardai_mcp-0.12.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.12.0 2026-04-28T18:21:18,763 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/a8/a4/a412af14660662a4fb0381e1f4bacc81c9f48c694f29b2c1f3545e37db94/keycardai_mcp-0.13.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,764 Found link https://files.pythonhosted.org/packages/db/69/746f5bcdc432908a8b871c3a59aee6cf314c969e22d6860fa5d13fb2214f/keycardai_mcp-0.13.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.13.0 2026-04-28T18:21:18,764 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/3a/39/c12751f4c4e669c210687986e2089f5734fdc2fddffb88e13d769d74ab8b/keycardai_mcp-0.14.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,765 Found link https://files.pythonhosted.org/packages/78/67/aebbaf5e28c86a05a70775ad9da00cb455420f2473f0120fa000b2eff0d5/keycardai_mcp-0.14.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.14.0 2026-04-28T18:21:18,766 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/26/33/fe91e447d259162484904532d11dcc9e2ff05308ee394e2d876578a4c9ca/keycardai_mcp-0.15.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,767 Found link https://files.pythonhosted.org/packages/fb/27/31fb748c863718c3a302da7e185861a3e9cc85dabd40cc88a0a607af226d/keycardai_mcp-0.15.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.15.0 2026-04-28T18:21:18,768 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/8d/68/9b97436cf05eade59d8f763558153039db0e658de60772d11c16de772dd7/keycardai_mcp-0.16.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,768 Found link https://files.pythonhosted.org/packages/36/1c/5a61462b4293316dffcc0812b8068d81f42dd6e7763bac728bf788d74da5/keycardai_mcp-0.16.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.16.0 2026-04-28T18:21:18,769 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/9d/db/41d24679d536c1ea08e61256ee8d18b14ef33a148c29220f8094cfbe5646/keycardai_mcp-0.17.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,770 Found link https://files.pythonhosted.org/packages/89/12/11df1f79b83d03267fa1a312494c2a7900d048bf9bb7f4405d83794dba25/keycardai_mcp-0.17.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.17.0 2026-04-28T18:21:18,771 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/35/5d/0c00b316021c9c9196b58bf102d3527ed41ffb5391f9062e2ae3b533327f/keycardai_mcp-0.18.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,772 Found link https://files.pythonhosted.org/packages/5d/8d/db8092bb89f80c7445ba0c7e0df2b03b1840767ee2a11d8cdedda774b3e1/keycardai_mcp-0.18.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.18.0 2026-04-28T18:21:18,773 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/e2/d0/09b5f2e51df0cec537d7e15f013313645d3df17e7e8c22c764f016bc222a/keycardai_mcp-0.20.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,774 Found link https://files.pythonhosted.org/packages/aa/64/5444354437957c90e1ba18cc36492238b2d744d975319fc3cbd2791f0df4/keycardai_mcp-0.20.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.20.0 2026-04-28T18:21:18,774 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/e9/5b/83e55fec33e730081d4a973f3805e6289bfb5e432101670690863f588496/keycardai_mcp-0.20.1-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,775 Found link https://files.pythonhosted.org/packages/03/2d/c671090e1318d04bcf51335f53838394ebd17c234977fa57d89509194e92/keycardai_mcp-0.20.1.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.20.1 2026-04-28T18:21:18,775 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/a9/85/a4e596651d45167c02e570292f33434883a358eb4008a665357ad0676187/keycardai_mcp-0.21.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,777 Found link https://files.pythonhosted.org/packages/25/26/857cac57788079e2a85d96d5435346ca173fb5a46eba2643153cb1aea2bf/keycardai_mcp-0.21.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.21.0 2026-04-28T18:21:18,778 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/67/b3/fbbcbecdae55d3cf889dd00fd1c4ced531064904d39a69219a9dc6e2b118/keycardai_mcp-0.22.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,779 Found link https://files.pythonhosted.org/packages/0a/8d/8dc93c84caf11fecdcce03ead9cac8a5915f4e434e41f3bf4f135f23c5e0/keycardai_mcp-0.22.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.22.0 2026-04-28T18:21:18,779 Skipping link: No binaries permitted for keycardai-mcp: https://files.pythonhosted.org/packages/79/4d/92f20fa95d2c4ca7d6aa3791052918c85b6069a730af1bf96a503cd2459d/keycardai_mcp-0.23.0-py3-none-any.whl (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,781 Found link https://files.pythonhosted.org/packages/52/1b/cb356969595981f9f3721707aecdb7d5d9f9347a347bf54f0d2d333019e3/keycardai_mcp-0.23.0.tar.gz (from https://pypi.org/simple/keycardai-mcp/) (requires-python:>=3.10), version: 0.23.0 2026-04-28T18:21:18,781 Fetching project page and analyzing links: https://www.piwheels.org/simple/keycardai-mcp/ 2026-04-28T18:21:18,782 Getting page https://www.piwheels.org/simple/keycardai-mcp/ 2026-04-28T18:21:18,783 Found index url https://www.piwheels.org/simple 2026-04-28T18:21:18,956 Fetched page https://www.piwheels.org/simple/keycardai-mcp/ as text/html 2026-04-28T18:21:18,964 Skipping link: No binaries permitted for keycardai-mcp: https://www.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.22.0-py3-none-any.whl#sha256=2cd524d7d4e11e9c50100be042332fe7b83d20e97b8a828c02b934d78122d918 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,965 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.21.0-py3-none-any.whl#sha256=6e1027117acaa67ce80095e41127e8dd1e1263758641c4f2798c62356024ccf9 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,965 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.20.1-py3-none-any.whl#sha256=285e78cd3976e88e58ec0be2aa82769a76b700d7e275562fff91c3c6ab9ed593 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,966 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.20.0-py3-none-any.whl#sha256=03080c30ec78b64d1cbc00baaa9b0bf029cb94d1619eda57106ad452eb7d400b (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,967 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.18.0-py3-none-any.whl#sha256=a89d6e4f2f374dc2d158c9ae5daec5df4d37980f48e37fb704d507813692c345 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,967 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.17.0-py3-none-any.whl#sha256=10a1a64d577f8815c81e259bebfdaf4cf5794e5e0aef9e3c07d70c132d4fc271 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,968 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.16.0-py3-none-any.whl#sha256=f377ca0ca019289d0844b56840e73953405eea4f9d71a49f60c172f4d6a3eda5 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,968 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.15.0-py3-none-any.whl#sha256=2b652f6bdef1e7fd36114ea388630fe84f713f306940bd7be07dd4f1d0fa0167 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,969 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.14.0-py3-none-any.whl#sha256=66a46c884fe0fff41c16de5e0e0647702bf1d7f585256657514a7903b73d00f3 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,969 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.13.0-py3-none-any.whl#sha256=554b5ab33e5ba9b7329f00844baca4ea68d6302e286c287280d2fdbea8a6b58d (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,970 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.12.0-py3-none-any.whl#sha256=970f375594566acc8a09727819d5162f4b13e948b7ea16d8eb42519b81bef605 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,970 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.11.0-py3-none-any.whl#sha256=fb61fc7dede16661e51bf88790e4e0261f337d39611210b1305a0fe9cb24ddea (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,971 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.10.0-py3-none-any.whl#sha256=71c90d120e5272ea17239e07ed2e6dedb42149cb567c06473c4f2ac160d369e3 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,972 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.9.0-py3-none-any.whl#sha256=b89cebc3fa2bc308b2a5212a992b254e27268ed5b94965d07560a04bbfd5a56f (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,972 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.8.1-py3-none-any.whl#sha256=260a8009fbef6fef8745281bb1a6b410a32662f9292206ccdfade0dce7681cdc (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,973 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.8.0-py3-none-any.whl#sha256=0a19108c6a0c35fa18627ceb0846e5845a6cf9c74b5f80882cc7797d3647cf98 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,974 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.7.0-py3-none-any.whl#sha256=d1f956a8e8d222fa673fe379737277656f154de37667ce0abcc7d31a1f867e77 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,974 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.5.1-py3-none-any.whl#sha256=cae956daa6b2f44bba3bfe93852619fccce863e528650dc6ff5e60d8c97ba776 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,974 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.5.0-py3-none-any.whl#sha256=5f73525f63088ee0e0a1a3f00e843ef8f96aa26c818f12dde10c4b8c30392a8a (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,975 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.4.1-py3-none-any.whl#sha256=76684b4b66a122920aec9abb46ce0602b69aa8cca20a33261f67989b038848fd (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,975 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.4.0-py3-none-any.whl#sha256=cda4b02cf89916514e2cfd752fcadf81857b1d6c73cc647891a73dae08725fd1 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,976 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.3.1-py3-none-any.whl#sha256=1797eb76082d4d3b82fadacab39b36f00dc59bfd20b3bafd3582cfa4df9f76e4 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,977 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.3.0-py3-none-any.whl#sha256=9b4593ccd6fe8d3a63f611485e1a34e3a6e504b03527c519d8165517a4aaef90 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,977 Skipping link: No binaries permitted for keycardai-mcp: https://archive1.piwheels.org/simple/keycardai-mcp/keycardai_mcp-0.1.0-py3-none-any.whl#sha256=2782de30c5a58e207c996df98d9b66ac06ec203e53a38fd34f6d0547d926f216 (from https://www.piwheels.org/simple/keycardai-mcp/) (requires-python:>=3.10) 2026-04-28T18:21:18,978 Skipping link: not a file: https://www.piwheels.org/simple/keycardai-mcp/ 2026-04-28T18:21:18,978 Skipping link: not a file: https://pypi.org/simple/keycardai-mcp/ 2026-04-28T18:21:19,002 Given no hashes to check 1 links for project 'keycardai-mcp': discarding no candidates 2026-04-28T18:21:19,021 Collecting keycardai-mcp==0.23.0 2026-04-28T18:21:19,023 Created temporary directory: /tmp/pip-unpack-41sspzpg 2026-04-28T18:21:19,272 Downloading keycardai_mcp-0.23.0.tar.gz (203 kB) 2026-04-28T18:21:19,643 Added keycardai-mcp==0.23.0 from https://files.pythonhosted.org/packages/52/1b/cb356969595981f9f3721707aecdb7d5d9f9347a347bf54f0d2d333019e3/keycardai_mcp-0.23.0.tar.gz to build tracker '/tmp/pip-build-tracker-asjc50mf' 2026-04-28T18:21:19,650 Created temporary directory: /tmp/pip-build-env-ppsob4ny 2026-04-28T18:21:19,655 Installing build dependencies: started 2026-04-28T18:21:19,656 Running command pip subprocess to install build dependencies 2026-04-28T18:21:20,792 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2026-04-28T18:21:21,276 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-04-28T18:21:21,300 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-04-28T18:21:21,840 Collecting hatchling 2026-04-28T18:21:21,860 Using cached https://www.piwheels.org/simple/hatchling/hatchling-1.29.0-py3-none-any.whl (76 kB) 2026-04-28T18:21:21,983 Collecting uv-dynamic-versioning 2026-04-28T18:21:22,003 Using cached https://www.piwheels.org/simple/uv-dynamic-versioning/uv_dynamic_versioning-0.14.0-py3-none-any.whl (12 kB) 2026-04-28T18:21:22,196 Collecting packaging>=24.2 2026-04-28T18:21:22,213 Using cached https://www.piwheels.org/simple/packaging/packaging-26.2-py3-none-any.whl (100 kB) 2026-04-28T18:21:22,340 Collecting pathspec>=0.10.1 2026-04-28T18:21:22,357 Using cached https://www.piwheels.org/simple/pathspec/pathspec-1.1.1-py3-none-any.whl (57 kB) 2026-04-28T18:21:22,484 Collecting pluggy>=1.0.0 2026-04-28T18:21:22,499 Using cached https://www.piwheels.org/simple/pluggy/pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-04-28T18:21:22,752 Collecting trove-classifiers 2026-04-28T18:21:22,768 Using cached https://www.piwheels.org/simple/trove-classifiers/trove_classifiers-2026.4.28.13-py3-none-any.whl (14 kB) 2026-04-28T18:21:22,975 Collecting dunamai~=1.26 2026-04-28T18:21:22,990 Using cached https://www.piwheels.org/simple/dunamai/dunamai-1.26.1-py3-none-any.whl (27 kB) 2026-04-28T18:21:23,174 Collecting jinja2~=3.0 2026-04-28T18:21:23,196 Using cached https://www.piwheels.org/simple/jinja2/jinja2-3.1.6-py3-none-any.whl (134 kB) 2026-04-28T18:21:23,416 Collecting tomlkit~=0.13 2026-04-28T18:21:23,440 Using cached https://www.piwheels.org/simple/tomlkit/tomlkit-0.14.0-py3-none-any.whl (39 kB) 2026-04-28T18:21:24,003 Collecting MarkupSafe>=2.0 2026-04-28T18:21:24,025 Using cached https://www.piwheels.org/simple/markupsafe/markupsafe-3.0.3-cp311-cp311-linux_armv7l.whl (21 kB) 2026-04-28T18:21:26,765 Installing collected packages: trove-classifiers, tomlkit, pluggy, pathspec, packaging, MarkupSafe, jinja2, hatchling, dunamai, uv-dynamic-versioning 2026-04-28T18:21:26,802 Creating /tmp/pip-build-env-ppsob4ny/overlay/local/bin 2026-04-28T18:21:26,805 changing mode of /tmp/pip-build-env-ppsob4ny/overlay/local/bin/trove-classifiers to 755 2026-04-28T18:21:28,418 changing mode of /tmp/pip-build-env-ppsob4ny/overlay/local/bin/hatchling to 755 2026-04-28T18:21:28,500 changing mode of /tmp/pip-build-env-ppsob4ny/overlay/local/bin/dunamai to 755 2026-04-28T18:21:28,576 changing mode of /tmp/pip-build-env-ppsob4ny/overlay/local/bin/uv-dynamic-versioning to 755 2026-04-28T18:21:28,667 Successfully installed MarkupSafe-3.0.3 dunamai-1.26.1 hatchling-1.29.0 jinja2-3.1.6 packaging-26.2 pathspec-1.1.1 pluggy-1.6.0 tomlkit-0.14.0 trove-classifiers-2026.4.28.13 uv-dynamic-versioning-0.14.0 2026-04-28T18:21:28,954 Installing build dependencies: finished with status 'done' 2026-04-28T18:21:28,961 Getting requirements to build wheel: started 2026-04-28T18:21:28,962 Running command Getting requirements to build wheel 2026-04-28T18:21:29,330 Getting requirements to build wheel: finished with status 'done' 2026-04-28T18:21:29,333 Created temporary directory: /tmp/pip-modern-metadata-oe563ic1 2026-04-28T18:21:29,335 Preparing metadata (pyproject.toml): started 2026-04-28T18:21:29,337 Running command Preparing metadata (pyproject.toml) 2026-04-28T18:21:30,014 Preparing metadata (pyproject.toml): finished with status 'done' 2026-04-28T18:21:30,021 Source in /tmp/pip-wheel-bfjgqfuo/keycardai-mcp_54e3a4a965fa41eeb7465fd2efb3bc7d has version 0.23.0, which satisfies requirement keycardai-mcp==0.23.0 from https://files.pythonhosted.org/packages/52/1b/cb356969595981f9f3721707aecdb7d5d9f9347a347bf54f0d2d333019e3/keycardai_mcp-0.23.0.tar.gz 2026-04-28T18:21:30,022 Removed keycardai-mcp==0.23.0 from https://files.pythonhosted.org/packages/52/1b/cb356969595981f9f3721707aecdb7d5d9f9347a347bf54f0d2d333019e3/keycardai_mcp-0.23.0.tar.gz from build tracker '/tmp/pip-build-tracker-asjc50mf' 2026-04-28T18:21:30,031 Created temporary directory: /tmp/pip-unpack-pmx_1nss 2026-04-28T18:21:30,031 Building wheels for collected packages: keycardai-mcp 2026-04-28T18:21:30,036 Created temporary directory: /tmp/pip-wheel-uqj5l6uh 2026-04-28T18:21:30,037 Destination directory: /tmp/pip-wheel-uqj5l6uh 2026-04-28T18:21:30,039 Building wheel for keycardai-mcp (pyproject.toml): started 2026-04-28T18:21:30,040 Running command Building wheel for keycardai-mcp (pyproject.toml) 2026-04-28T18:21:30,176 Building wheel for keycardai-mcp (pyproject.toml): finished with status 'done' 2026-04-28T18:21:30,181 Created wheel for keycardai-mcp: filename=keycardai_mcp-0.23.0-py3-none-any.whl size=136908 sha256=d726a63816320e3b7bcd71a0aa81fe07976d2a8071673412292b28ee6a4dec73 2026-04-28T18:21:30,183 Stored in directory: /tmp/pip-ephem-wheel-cache-06aocaw1/wheels/97/ea/06/e8bcddcfb31b810ae03dc77fd093d358d438cd3254baa54397 2026-04-28T18:21:30,199 Successfully built keycardai-mcp 2026-04-28T18:21:30,206 Removed build tracker: '/tmp/pip-build-tracker-asjc50mf'