




























Does this actually successfully run the test suite on an actual Arch machine with multiple CPU cores? This package has been failing to pass the test part for a very long time now.
@everyone I’m working towards making this package automatically updated by GitHub CI, this is my repository used to maintain my packages. Every package before it’s updated should be successfully builded in clean environment (ensured by CI). So if you encounter any errors, just clean the cache and try again. Everyone is welcomed to help improve packaging by making issue or improve the CI by pull request (I’m new to CI, in fact I wrote it using AI, I think it still need improvement, I would be happy if anyone put his experience to help improve the CI).
@lightdot i was too lazy to write something up myself. if it works it works.
Latest Version fails to install. See comment from @laurent_waro
[ 07:33:19 ] [130] $ yay -S python-mcp
AUR Dependency (1): python-mcp-1.27.1-1
AUR Make Dependency (1): python-uv-dynamic-versioning-0.14.0-1
Sync Check Dependency (4): python-pytest-xdist-3.8.0-3, python-pytest-examples-0.0.18-2, python-inline-snapshot-0.32.6-1, python-dirty-equals-0.11.0-2
Sync Dependency (1): python-dunamai-1.26.1-1
Sync Make Dependency (1): python-hatchling-1.29.0-1
:: PKGBUILD up to date, skipping download: python-uv-dynamic-versioning
:: (0/1) Failed to download PKGBUILD: python-mcp
-> error fetching python-mcp: error: The following untracked working tree files would be overwritten by merge:
1834.patch
Please move or remove them before you merge.
Aborting
context: exit status 1
@steho, LLM slop in the comments, seriously?
Update pkgver to 1.27.1 + PKGBUILD fixes needed for Python 3.14 Tested and working with Python 3.14.4. Four changes are needed to build 1.27.1 correctly.
Version bump Update pkgver to 1.27.1, released upstream on 2026-05-08.
Remove the 1834.patch PR #1834 (https://github.com/modelcontextprotocol/python-sdk/pull/1834) (Python 3.14 compatibility) was merged upstream on 2026-01-07, well before v1.27.1 was tagged. It no longer needs to be applied and should be removed from both source= and sha256sums=. Keeping it will likely cause a patch failure against the updated tree.
Simplify prepare() With the patch removed, prepare() reduces to just a git clean: prepare() { cd "$srcdir"/$_name git clean -fdx } The sed line that bumped the test timeout was only needed alongside the patch and can be dropped.
Fix the SHA256 for the git source The first entry in sha256sums is a hardcoded hash for a git+ VCS source. This should/could be SKIP: source=("$_name::git+$url.git#tag=v$pkgver") sha256sums=('SKIP')
Note on test_command_execution Even with the above fixes, tests/client/test_config.py::test_command_execution will fail on Python 3.14. This test spawns uv run --frozen --with mcp[cli] mcp run, which creates an isolated venv and tries to compile pydantic-core==2.33.2 from source. That version of pydantic-core uses PyO3 v0.24.1, which only supports up to Python 3.13. The remaining 1070 tests pass cleanly. Building with --nocheck or adding --ignore=tests/client/test_config.py to the pytest invocation in check() is a reasonable workaround until pydantic-core ships a version with PyO3 support for Python 3.14.
Hi, error in test when installing the package.
==================================================================================== FAILURES ==================================================================================== ___________ test_command_execution ___________ [gw1] linux -- Python 3.14.4 /home/laurenth/.cache/yay/python-mcp/src/mcp/test-env/bin/python
mock_config_path = PosixPath('/tmp/pytest-of-laurenth/pytest-0/popen-gw1/test_command_execution0/Claude')
def test_command_execution(mock_config_path: Path):
"""Test that the generated command can actually be executed."""
# Setup
server_name = "test_server"
file_spec = "test_server.py:app"
# Update config
success = update_claude_config(file_spec=file_spec, server_name=server_name)
assert success
# Read the generated config
config_file = mock_config_path / "claude_desktop_config.json"
config = json.loads(config_file.read_text())
# Get the command and args
server_config = config["mcpServers"][server_name]
command = server_config["command"]
args = server_config["args"]
test_args = [command] + args + ["--help"]
result = subprocess.run(test_args, capture_output=True, text=True, timeout=60, check=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/client/test_config.py:47:
/usr/lib/python3.14/subprocess.py:557: in run stdout, stderr = process.communicate(input, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1221: in communicate stdout, stderr = self._communicate(input, endtime, timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:2154: in _communicate self._check_timeout(endtime, orig_timeout, stdout, stderr)
self = <Popen: returncode: -9 args: ['/usr/bin/uv', 'run', '--frozen', '--with', 'm...>, endtime = 831.025588304, orig_timeout = 60, stdout_seq = [] stderr_seq = [b'Using CPython 3.14.4 interpreter at: /usr/bin/python3\n', b'Creating virtual environment at: .venv\n', b' Buildin...cp\n', b' Building selectolax==0.3.29\n', b' Built mcp @ file:///home/laurenth/.cache/yay/python-mcp/src/mcp\n'] skip_check_and_raise = False
def _check_timeout(self, endtime, orig_timeout, stdout_seq, stderr_seq,
skip_check_and_raise=False):
"""Convenience for checking if a timeout has expired."""
if endtime is None:
return
if skip_check_and_raise or _time() > endtime:
raise TimeoutExpired( self.args, orig_timeout, output=b''.join(stdout_seq) if stdout_seq else None, stderr=b''.join(stderr_seq) if stderr_seq else None)E subprocess.TimeoutExpired: Command '['/usr/bin/uv', 'run', '--frozen', '--with', 'mcp[cli]', 'mcp', 'run', '/home/laurenth/.cache/yay/python-mcp/src/mcp/test_server.py:app', '--help']' timed out after 60 seconds
/usr/lib/python3.14/subprocess.py:1268: TimeoutExpired ============================================================================ short test summary info ============================================================================= FAILED tests/client/test_config.py::test_command_execution - subprocess.TimeoutExpired: Command '['/usr/bin/uv', 'run', '--frozen', '--with', 'mcp[cli]', 'mcp', 'run', '/home/laurenth/.cache/yay/python-mcp/src/mcp/test_server.py:app', '--help']' timed out after 60 seconds ======================================================= 1 failed, 1091 passed, 95 skipped, 1 xfailed in 528.10s (0:08:48) ========================================================
@namaek2 @olko The package build fine for me I think you just need to remove the yay cache.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。
The fix (2 changes in check())