Skip to content

[SK-636] chore(deps): align grpcio + grpcio-status to >=1.81.0#168

Open
dhawani wants to merge 2 commits into
mainfrom
claude/vibrant-cray-w7v11x
Open

[SK-636] chore(deps): align grpcio + grpcio-status to >=1.81.0#168
dhawani wants to merge 2 commits into
mainfrom
claude/vibrant-cray-w7v11x

Conversation

@dhawani

@dhawani dhawani commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Aligns grpcio and grpcio-status to the same version floor (>=1.81.0) to eliminate a runtime version mismatch.

Linear: https://linear.app/scalekit/issue/SK-636

Changes

Package From To Notes
grpcio >=1.64.1 >=1.81.0 Bump lower bound to match grpcio-status; was already resolving to 1.81.0 in practice
grpcio-status >=1.64,<1.67 >=1.81.0,<2.0 Critical: <1.67 cap was blocking 1.67–1.81.0, causing a mismatch with grpcio

Why this matters

grpcio had no upper cap and pip was installing 1.81.0. grpcio-status was capped at <1.67, so pip installed 1.66.x — a known-bad combination where rpc_status.from_call() can return None instead of a Status object, crashing the exception handler in scalekit/common/exceptions.py:95.

The <2.0 safety cap on grpcio-status prevents accidentally jumping to a future incompatible major version.

Test Results

pip install -e . resolves cleanly. pip check reports no broken requirements.


Generated by Claude Code

Summary by CodeRabbit

  • Chores
    • Raised minimum version requirements for gRPC-related dependencies to align with current stable releases and long-term support, including widening the accepted range for the status package to newer stable releases. This helps ensure compatibility, improved stability, and security with recent gRPC updates.

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
@dhawani dhawani requested a review from Avinash-Kamath as a code owner June 11, 2026 13:24
@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c006ac77-1559-4904-ac68-28ea4507c15a

📥 Commits

Reviewing files that changed from the base of the PR and between ebc6628 and 73e4926.

📒 Files selected for processing (1)
  • setup.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • setup.py

Walkthrough

Updated gRPC dependency version constraints in setup.py install_requires: grpcio minimum raised to 1.81.0, and grpcio-status expanded from a narrow 1.64–1.67 range to 1.81.0–1.x.

Changes

gRPC Dependency Updates

Layer / File(s) Summary
gRPC dependency version pins
setup.py
Updated grpcio minimum from 1.64.1 to 1.81.0 and changed grpcio-status from a pinned 1.64–1.67 range to 1.81.0–1.x, aligning both packages to the same minimum version boundary.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 Dependencies now align so fine,
gRPC versions now match in line,
From 1.64 bounds we made our leap,
To 1.81 heights we now shall keep,
Stability and features, a worthy climb!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically summarizes the main change: aligning grpcio and grpcio-status dependencies to version >=1.81.0, which directly matches the file changes in setup.py.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/vibrant-cray-w7v11x

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
setup.py (1)

13-13: ⚡ Quick win

Consider adding an upper bound to grpcio for consistency.

grpcio-status has an upper bound of <2.0 to prevent future incompatibilities, but grpcio has 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.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3a0a3425-114f-454b-8904-331cfb7ff9e2

📥 Commits

Reviewing files that changed from the base of the PR and between b01b7ee and ebc6628.

📒 Files selected for processing (1)
  • setup.py

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants