Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: upgrade protobuf to 5.x.x #210

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

rishhavv
Copy link

@rishhavv rishhavv commented Feb 3, 2025

Fixes #204

Update protobuf dependency to support version 5.x

Description

This PR updates the protobuf dependency in pyproject.toml from ">=3.20,<5.0" to "^5.26.1". This change allows pynumaflow to leverage the latest features and improvements available in protobuf 5.x.

Changes Made

  • Updated protobuf dependency constraint in pyproject.toml from ">=3.20,<5.0" to "^5.26.1"

Benefits

  • Access to performance improvements and bug fixes introduced in protobuf 5.x
  • Better compatibility with modern dependency requirements
  • Ensures pynumaflow stays up-to-date with the latest stable protobuf release

Testing

  • Verified compatibility by running the existing test suite
  • No breaking changes or performance regressions observed
  • All functionality remains intact with the updated dependency

Related Issue

Closes #[issue_number]

Checklist

  • Updated dependency in pyproject.toml
  • Tested with protobuf 5.26.1
  • All tests passing
  • No breaking changes identified
  • Tested with UDFs
  • Tested with examples in the repo

Signed-off-by: rishhavv <rishav.katoch17300@gmail.com>
@rishhavv
Copy link
Author

rishhavv commented Feb 3, 2025

Fixes issue number #204

@kohlisid
Copy link
Contributor

kohlisid commented Feb 3, 2025

Hey @rishhavv
Thanks for testing this out!
Did you get a chance to test a numaflow deployment running with this updated UDF?

Copy link

codecov bot commented Feb 3, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 94.13%. Comparing base (e6e336d) to head (79a9c8c).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #210      +/-   ##
==========================================
- Coverage   94.17%   94.13%   -0.05%     
==========================================
  Files          55       55              
  Lines        2317     2317              
  Branches      119      119              
==========================================
- Hits         2182     2181       -1     
- Misses         98       99       +1     
  Partials       37       37              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@@ -26,7 +26,7 @@ grpcio = "^1.48.1"
grpcio-tools = "^1.48.1"
google-cloud = "^0.34.0"
google-api-core = "^2.11.0"
protobuf = ">=3.20,<5.0"
protobuf = "^5.26.1"
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
protobuf = "^5.26.1"
protobuf = ">=3.20,<6.0"

let's not hardcode to 5.26.1, rather put some bound values? will the above work?

Copy link
Member

Choose a reason for hiding this comment

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

@vigith this does not mean it is hard-coded. This means that it will take any version >=5.26.1 and <6.0
Nevertheless, I would recommend having a stricter constraint.

Suggested change
protobuf = "^5.26.1"
protobuf = "~5.26.1"

which translates to >=5.26.1 and <5.27

Copy link
Member

@vigith vigith Feb 3, 2025

Choose a reason for hiding this comment

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

let's put >=3.20,<5.27 then? earlier we were saying we support only a lower bound of >3.20, is it not longer valid?

Copy link
Member

Choose a reason for hiding this comment

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

Sure, but assuming that things would still work with previous versions of protobuf (<5.0) that we support.

Copy link
Member

Choose a reason for hiding this comment

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

since protobuf follows semantic versioning, I am assuming that they won't break anything till they reach 6.0. Now the question is, is 3.x and 4.x still compatible with 5.x, if not we have to bound ourselves to strictly 5.x.

Since our tests were working with earlier version, i am gonna assume that we are good with 3.x and 4.x.

@kohlisid could you please verify these "assumptions"? 🙂

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.

Update protobuf Dependency to Support Version >=5.0
4 participants