You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One of the stumbling blocks working on PR #658 with the SDKs is that the Python and Golang SDKs directly expose the Serving API to users. This is a problem changes with the Serving protobuf API will propagate to user API changes on the Python and Java client. This makes API compatibility hard to track and maintain. (see @ches's comment about it here)
Problem
Currently the SDKs expose internal Protobuf types directly to users.
For example:
This makes the gRPC API exposed by Feast Serving/Core a user facing API, affecting downstream systems if changes are made to it.
Users prefer to deal with native types instead of Protobuf types. For example, Python users prefer to interact with datetime.timedelta instead of Protobuf's Duration type.
Proposed Solution
Row API (similar to Java SDK’s Row) to be introduced to Python and Go SDKs as an higher level API.
ie Row would be used to abstract away GetOnlineFeaturesResponse etc.
The text was updated successfully, but these errors were encountered:
mrzzy
changed the title
Migrate SDKs to use Native Types
Migrate SDKs to use NativeTypes instead of Protobuf types
Jun 3, 2020
mrzzy
changed the title
Migrate SDKs to use NativeTypes instead of Protobuf types
Migrate SDKs to use Native types instead of Protobuf types
Jun 3, 2020
Background
One of the stumbling blocks working on PR #658 with the SDKs is that the Python and Golang SDKs directly expose the Serving API to users. This is a problem changes with the Serving protobuf API will propagate to user API changes on the Python and Java client. This makes API compatibility hard to track and maintain. (see @ches's comment about it here)
Problem
Currently the SDKs expose internal Protobuf types directly to users.
For example:
feast/sdk/python/feast/client.py
Line 619 in a33883f
feast/sdk/go/client.go
Line 84 in a33883f
This poses a problem as:
datetime.timedelta
instead of Protobuf'sDuration
type.Proposed Solution
GetOnlineFeaturesResponse
etc.The text was updated successfully, but these errors were encountered: