[SK-636] chore(deps): align grpcio + grpcio-status to >=1.81.0#168
[SK-636] chore(deps): align grpcio + grpcio-status to >=1.81.0#168dhawani wants to merge 2 commits into
Conversation
grpcio had no upper cap and was resolving to 1.81.0 in practice. grpcio-status was capped at <1.67, causing a version mismatch that could break rpc_status.from_call() error handling at runtime. - grpcio: >=1.64.1 → >=1.81.0 - grpcio-status: >=1.64,<1.67 → >=1.81.0,<2.0 https://linear.app/scalekit/issue/SK-636
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughUpdated gRPC dependency version constraints in ChangesgRPC Dependency Updates
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
setup.py (1)
13-13: ⚡ Quick winConsider adding an upper bound to grpcio for consistency.
grpcio-statushas an upper bound of<2.0to prevent future incompatibilities, butgrpciohas no upper bound. If grpcio releases a 2.x version with breaking changes, it could become incompatible with grpcio-status 1.x, recreating the version mismatch issue this PR aims to fix.🔄 Proposed fix to align upper bounds
- "grpcio>=1.81.0", + "grpcio>=1.81.0,<2.0",Also applies to: 21-21
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@setup.py` at line 13, The dependency line listing "grpcio>=1.81.0" should include an upper bound to match grpcio-status and avoid future incompatibilities; update the requirement for the grpcio package (the string currently "grpcio>=1.81.0") to include a <2.0 upper bound (e.g., change it to require grpcio>=1.81.0,<2.0) so both grpcio and grpcio-status share compatible major-version constraints.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@setup.py`:
- Line 13: The dependency line listing "grpcio>=1.81.0" should include an upper
bound to match grpcio-status and avoid future incompatibilities; update the
requirement for the grpcio package (the string currently "grpcio>=1.81.0") to
include a <2.0 upper bound (e.g., change it to require grpcio>=1.81.0,<2.0) so
both grpcio and grpcio-status share compatible major-version constraints.
Aligns grpcio upper bound with grpcio-status (<2.0) so a future grpcio 2.x major release cannot cause a version mismatch with grpcio-status 1.x at install time.
Summary
Aligns
grpcioandgrpcio-statusto the same version floor (>=1.81.0) to eliminate a runtime version mismatch.Linear: https://linear.app/scalekit/issue/SK-636
Changes
grpcio>=1.64.1>=1.81.0grpcio-status>=1.64,<1.67>=1.81.0,<2.0<1.67cap was blocking 1.67–1.81.0, causing a mismatch with grpcioWhy this matters
grpciohad no upper cap and pip was installing 1.81.0.grpcio-statuswas capped at<1.67, so pip installed 1.66.x — a known-bad combination whererpc_status.from_call()can returnNoneinstead of a Status object, crashing the exception handler inscalekit/common/exceptions.py:95.The
<2.0safety cap ongrpcio-statusprevents accidentally jumping to a future incompatible major version.Test Results
pip install -e .resolves cleanly.pip checkreports no broken requirements.Generated by Claude Code
Summary by CodeRabbit