◐ Shell
reader mode source ↗
Skip to content

build: Set a proper build-system protobuf version#4438

Merged
tokoko merged 1 commit into
feast-dev:masterfrom
Atry:build-system-protobuf-version
Aug 23, 2024
Merged

build: Set a proper build-system protobuf version#4438
tokoko merged 1 commit into
feast-dev:masterfrom
Atry:build-system-protobuf-version

Conversation

@Atry

@Atry Atry commented Aug 23, 2024

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

This PR enforces the protobuf version in the build system so that it is compatible with the runtime dependency

Which issue(s) this PR fixes:

Fixes #4437

Misc

The runtime version of protobuf is determined at:

feast/setup.py

Line 46 in 0a48f7b

"protobuf>=4.24.0,<5.0.0",

I have manually tested this PR with the following command

pip install git+https://github.com/Atry/feast.git@build-system-protobuf-version && python -m feast.protos.feast.types.Value_pb2

@Atry Atry changed the title build: force the protobuf version in the build system so that it is compatible with the runtime dependency Aug 23, 2024
@Atry Atry changed the title build: set proper build-system protobuf version Aug 23, 2024
@Atry Atry changed the title build: Set proper build-system protobuf version Aug 23, 2024
…ompatible with the runtime dependency

Signed-off-by: Yang, Bo <bo.yang@protonbase.io>
@Atry Atry force-pushed the build-system-protobuf-version branch from 23e3c9b to 13ae351 Compare August 23, 2024 05:48

@tokoko tokoko left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Hide comment

lgtm, thanks

@tokoko tokoko merged commit a2460d9 into feast-dev:master Aug 23, 2024
cburroughs added a commit to cburroughs/feast that referenced this pull request Aug 30, 2024
Right now if one downloads `feast-0.40.1-py2.py3-none-any.whl` from
PyPi it contains:
```
$ grep 'Protobuf Python Version' feast/protos/feast/registry/RegistryServer_pb2.py
```
Which is outside
```
$ grep 'protobuf<' feast-0.40.1.dist-info/METADATA
Requires-Dist: protobuf<5.0.0,>=4.24.0
```
Leading to runtime errors (feast-dev#4437).  This was mitigated by feast-dev#4438.  This
change tightens this up further by:
 * Deleting the Makefile command that was trying to do this
 unsuccessfully.
 * Aligns the setup/build requirements
 * Sets the version of protobuf to match the *minimum* of the range.
 There is no guarantee that protos generated by `4.X` will work with `4.(X-1)`.

Signed-off-by: Chris Burroughs <chris.burroughs@gmail.com>
cburroughs added a commit to cburroughs/feast that referenced this pull request Aug 30, 2024
Right now if one downloads `feast-0.40.1-py2.py3-none-any.whl` from
PyPi it contains:
```
$ grep 'Protobuf Python Version' feast/protos/feast/registry/RegistryServer_pb2.py
```
Which is outside
```
$ grep 'protobuf<' feast-0.40.1.dist-info/METADATA
Requires-Dist: protobuf<5.0.0,>=4.24.0
```
Leading to runtime errors (feast-dev#4437).  This was mitigated by feast-dev#4438.  This
change tightens this up further by:
 * Deleting the Makefile command that was trying to do this
 unsuccessfully.
 * Aligns the setup/build requirements
 * Sets the version of protobuf to match the *minimum* of the range.
 There is no guarantee that protos generated by `4.X` will work with `4.(X-1)`.

Signed-off-by: Chris Burroughs <chris.burroughs@gmail.com>
tokoko pushed a commit that referenced this pull request Sep 3, 2024
…4472)

build: explicit protobuf build version; consistent build/setup deps

Right now if one downloads `feast-0.40.1-py2.py3-none-any.whl` from
PyPi it contains:
```
$ grep 'Protobuf Python Version' feast/protos/feast/registry/RegistryServer_pb2.py
```
Which is outside
```
$ grep 'protobuf<' feast-0.40.1.dist-info/METADATA
Requires-Dist: protobuf<5.0.0,>=4.24.0
```
Leading to runtime errors (#4437).  This was mitigated by #4438.  This
change tightens this up further by:
 * Deleting the Makefile command that was trying to do this
 unsuccessfully.
 * Aligns the setup/build requirements
 * Sets the version of protobuf to match the *minimum* of the range.
 There is no guarantee that protos generated by `4.X` will work with `4.(X-1)`.

Signed-off-by: Chris Burroughs <chris.burroughs@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ImportError: cannot import name 'runtime_version' from 'google.protobuf'

3 participants