Conversation
datapilot imports only `ClientSession`, `StdioServerParameters` and `stdio_client`, all of which mcp 2.x still exports from the same paths. Capping at mcp<2 blocks dependents (altimate-backend) from installing packages that need mcp 2.
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (1 files)
Incremental review covered changes since Previous Review Summary (commit e7f9d3c)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit e7f9d3c)Status: No Issues Found | Recommendation: Merge Files Reviewed (1 files)
Review was static and read-only. MCP imports and client call sites were inspected; MCP 2.x runtime compatibility and dependency resolution were not tested because code execution was prohibited. Reviewed by gpt-sol-latest · Input: 0 · Output: 0 · Cached: 0 |
Both are used through their stable APIs (`pyperclip.copy`, `load_dotenv`); the tilde pins blocked dependents from installing packages that need pyperclip 1.9 and python-dotenv 1.1.
|
altimate-backend has deferred the FastMCP 4 upgrade that needed this (AltimateAI/altimate-backend#6946 reverted it), so nothing depends on this PR right now. The relaxed caps are still correct for datapilot on their own; merging whenever convenient unblocks that upgrade later. |
Why
setup.pycapsmcp<2.0.0,pyperclip<1.9andpython-dotenv<1.1. datapilot imports onlyClientSession,StdioServerParametersandmcp.client.stdio.stdio_client(src/datapilot/core/mcp_utils/mcp.py), and mcp 2.2.0 exports all three from the same paths. pyperclip and python-dotenv are used throughpyperclip.copyandload_dotenv, which newer releases keep. The caps blockaltimate-backendfrom installing FastMCP 4, which needs mcp 2, pyperclip 1.9 and python-dotenv 1.1.Change
mcp>=1.9.0,<2.0.0becomesmcp>=1.9.0,<3.0.0pyperclip~=1.8.2becomespyperclip>=1.8.2,<2.0python-dotenv~=1.0.0becomespython-dotenv>=1.0.0,<2.0No code change.
Release
altimate-backend PR AltimateAI/altimate-backend#6946 depends on this through a git reference to this branch until a release carrying it is on PyPI; after that release it switches to the version.