Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
udpate proto
Signed-off-by: hao-xu5 <hxu44@apple.com>
  • Loading branch information
hao-xu5 committed Sep 26, 2025
commit 8d8dcde3e25276849d02bc81c4533beb7bfd3052
5 changes: 5 additions & 0 deletions protos/feast/core/OnDemandFeatureView.proto
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import "feast/core/FeatureViewProjection.proto";
import "feast/core/Feature.proto";
import "feast/core/DataSource.proto";
import "feast/core/Transformation.proto";
import "feast/core/Aggregation.proto";

message OnDemandFeatureView {
// User-specified specifications of this feature view.
Expand Down Expand Up @@ -70,6 +71,10 @@ message OnDemandFeatureViewSpec {
// List of specifications for each entity defined as part of this feature view.
repeated FeatureSpecV2 entity_columns = 14;
bool singleton = 15;

// Aggregation definitions
repeated Aggregation aggregations = 16;

}

message OnDemandFeatureViewMeta {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ class FeatureServiceSpec(google.protobuf.message.Message):
"""Name of Feast project that this Feature Service belongs to."""
@property
def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.FeatureViewProjection_pb2.FeatureViewProjection]:
"""Represents a projection that's to be applied on top of the FeatureView.
"""Represents a projection that's to be applied on top of the FeatureView.
Contains data such as the features to use from a FeatureView.
"""
@property
Expand Down
35 changes: 18 additions & 17 deletions sdk/python/feast/protos/feast/core/OnDemandFeatureView_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ limitations under the License.
"""
import builtins
import collections.abc
import feast.core.Aggregation_pb2
import feast.core.DataSource_pb2
import feast.core.FeatureViewProjection_pb2
import feast.core.FeatureView_pb2
Expand Down Expand Up @@ -108,6 +109,7 @@ class OnDemandFeatureViewSpec(google.protobuf.message.Message):
ENTITIES_FIELD_NUMBER: builtins.int
ENTITY_COLUMNS_FIELD_NUMBER: builtins.int
SINGLETON_FIELD_NUMBER: builtins.int
AGGREGATIONS_FIELD_NUMBER: builtins.int
name: builtins.str
"""Name of the feature view. Must be unique. Not updated."""
project: builtins.str
Expand Down Expand Up @@ -139,6 +141,9 @@ class OnDemandFeatureViewSpec(google.protobuf.message.Message):
def entity_columns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.Feature_pb2.FeatureSpecV2]:
"""List of specifications for each entity defined as part of this feature view."""
singleton: builtins.bool
@property
def aggregations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.Aggregation_pb2.Aggregation]:
"""Aggregation definitions"""
def __init__(
self,
*,
Expand All @@ -156,9 +161,10 @@ class OnDemandFeatureViewSpec(google.protobuf.message.Message):
entities: collections.abc.Iterable[builtins.str] | None = ...,
entity_columns: collections.abc.Iterable[feast.core.Feature_pb2.FeatureSpecV2] | None = ...,
singleton: builtins.bool = ...,
aggregations: collections.abc.Iterable[feast.core.Aggregation_pb2.Aggregation] | None = ...,
) -> None: ...
def HasField(self, field_name: typing_extensions.Literal["feature_transformation", b"feature_transformation", "user_defined_function", b"user_defined_function"]) -> builtins.bool: ...
def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "entities", b"entities", "entity_columns", b"entity_columns", "feature_transformation", b"feature_transformation", "features", b"features", "mode", b"mode", "name", b"name", "owner", b"owner", "project", b"project", "singleton", b"singleton", "sources", b"sources", "tags", b"tags", "user_defined_function", b"user_defined_function", "write_to_online_store", b"write_to_online_store"]) -> None: ...
def ClearField(self, field_name: typing_extensions.Literal["aggregations", b"aggregations", "description", b"description", "entities", b"entities", "entity_columns", b"entity_columns", "feature_transformation", b"feature_transformation", "features", b"features", "mode", b"mode", "name", b"name", "owner", b"owner", "project", b"project", "singleton", b"singleton", "sources", b"sources", "tags", b"tags", "user_defined_function", b"user_defined_function", "write_to_online_store", b"write_to_online_store"]) -> None: ...

global___OnDemandFeatureViewSpec = OnDemandFeatureViewSpec

Expand Down
Loading