fix(deps): make python-multipart a base dependency for gaia-mcp#1380
fix(deps): make python-multipart a base dependency for gaia-mcp#1380kovtcharov-amd wants to merge 1 commit into
Conversation
`gaia.mcp.mcp_bridge` imports `python_multipart` at module top level, and `gaia-mcp` is a base console_script — but python-multipart was only declared in the `api`/`ui` extras. So `pip install amd-gaia` (and `[mcp]`) shipped a `gaia-mcp` that crashed on launch with `ModuleNotFoundError: python_multipart`. This is what the v0.20.0 post-publish smoke test caught. Move python-multipart into base install_requires, and add a packaging regression test: if a base console_script's module imports a third-party package at load time, that dist must be a base dependency, not extras-only.
Review: fix(deps): make python-multipart a base dependency for gaia-mcpSummaryCorrect, minimal, and well-targeted fix for a real packaging bug. Issues🟢 Minor — regression test is dist-specific, not a general invariant ( 🟢 Minor — Strengths
VerdictApprove — ships a working |
The v0.20.0 post-publish smoke test caught a real packaging bug: on a clean
pip install amd-gaia, thegaia-mcpcommand crashes immediately withModuleNotFoundError: No module named 'python_multipart'.gaia.mcp.mcp_bridgeimportspython_multipartat module load, andgaia-mcpis a base console_script — butpython-multipartwas declared only in theapi/uiextras (not even in[mcp]). So every base install (andpip install amd-gaia[mcp]) shipped a brokengaia-mcp.Fix: move
python-multipart>=0.0.9into baseinstall_requires. After this,pip install amd-gaia→gaia-mcp --helpworks, and the post-publish smoke test passes.Also adds a packaging regression test: if a base console_script's module imports a third-party package at top level, that dist must be a base dependency (not extras-only) — encoding the invariant this bug violated.
Test plan
pytest tests/unit/test_packaging.py— passes; newTestBaseDependenciesguard includedgaia-mcp --helpwithoutModuleNotFoundError