feast.diff package

Submodules

feast.diff.infra_diff module

class feast.diff.infra_diff.InfraDiff[source]

Bases: object

infra_object_diffs: List[feast.diff.infra_diff.InfraObjectDiff]
to_string()[source]
update()[source]

Apply the infrastructure changes specified in this object.

class feast.diff.infra_diff.InfraObjectDiff(*args, **kwds)[source]

Bases: Generic[feast.diff.infra_diff.InfraObjectProto]

current_infra_object: feast.diff.infra_diff.InfraObjectProto
infra_object_property_diffs: List[feast.diff.property_diff.PropertyDiff]
infra_object_type: str
name: str
new_infra_object: feast.diff.infra_diff.InfraObjectProto
transition_type: feast.diff.property_diff.TransitionType
feast.diff.infra_diff.diff_between(current: feast.diff.infra_diff.InfraObjectProto, new: feast.diff.infra_diff.InfraObjectProto, infra_object_type: str) feast.diff.infra_diff.InfraObjectDiff[source]
feast.diff.infra_diff.diff_infra_protos(current_infra_proto: feast.core.InfraObject_pb2.Infra, new_infra_proto: feast.core.InfraObject_pb2.Infra) feast.diff.infra_diff.InfraDiff[source]
feast.diff.infra_diff.get_infra_object_protos_by_type(infra_proto: feast.core.InfraObject_pb2.Infra, infra_object_class_type: str) List[feast.diff.infra_diff.InfraObjectProto][source]
feast.diff.infra_diff.tag_infra_proto_objects_for_keep_delete_add(existing_objs: Iterable[feast.diff.infra_diff.InfraObjectProto], desired_objs: Iterable[feast.diff.infra_diff.InfraObjectProto]) Tuple[Iterable[feast.diff.infra_diff.InfraObjectProto], Iterable[feast.diff.infra_diff.InfraObjectProto], Iterable[feast.diff.infra_diff.InfraObjectProto]][source]

feast.diff.property_diff module

class feast.diff.property_diff.PropertyDiff(property_name: str, val_existing: str, val_declared: str)[source]

Bases: object

property_name: str
val_declared: str
val_existing: str
class feast.diff.property_diff.TransitionType(value)[source]

Bases: enum.Enum

An enumeration.

CREATE = 1
DELETE = 2
UNCHANGED = 4
UNKNOWN = 0
UPDATE = 3

feast.diff.registry_diff module

class feast.diff.registry_diff.FeastObjectDiff(name: str, feast_object_type: feast.registry.FeastObjectType, current_feast_object: Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference, NoneType], new_feast_object: Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference, NoneType], feast_object_property_diffs: List[feast.diff.property_diff.PropertyDiff], transition_type: feast.diff.property_diff.TransitionType)[source]

Bases: object

current_feast_object: Optional[Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference]]
feast_object_property_diffs: List[feast.diff.property_diff.PropertyDiff]
feast_object_type: feast.registry.FeastObjectType
name: str
new_feast_object: Optional[Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference]]
transition_type: feast.diff.property_diff.TransitionType
class feast.diff.registry_diff.RegistryDiff[source]

Bases: object

add_feast_object_diff(feast_object_diff: feast.diff.registry_diff.FeastObjectDiff)[source]
feast_object_diffs: List[feast.diff.registry_diff.FeastObjectDiff]
to_string()[source]
feast.diff.registry_diff.apply_diff_to_registry(registry: feast.registry.BaseRegistry, registry_diff: feast.diff.registry_diff.RegistryDiff, project: str, commit: bool = True)[source]

Applies the given diff to the given Feast project in the registry.

Parameters
  • registry – The registry to be updated.

  • registry_diff – The diff to apply.

  • project – Feast project to be updated.

  • commit – Whether the change should be persisted immediately

feast.diff.registry_diff.diff_between(registry: feast.registry.BaseRegistry, current_project: str, desired_repo_contents: feast.repo_contents.RepoContents) feast.diff.registry_diff.RegistryDiff[source]

Returns the difference between the current and desired repo states.

Parameters
  • registry – The registry storing the current repo state.

  • current_project – The Feast project for which the diff is being computed.

  • desired_repo_contents – The desired repo state.

feast.diff.registry_diff.diff_registry_objects(current: Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference], new: Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference], object_type: feast.registry.FeastObjectType) feast.diff.registry_diff.FeastObjectDiff[source]
feast.diff.registry_diff.extract_objects_for_keep_delete_update_add(registry: feast.registry.BaseRegistry, current_project: str, desired_repo_contents: feast.repo_contents.RepoContents) Tuple[Dict[feast.registry.FeastObjectType, Set[Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference]]], Dict[feast.registry.FeastObjectType, Set[Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference]]], Dict[feast.registry.FeastObjectType, Set[Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference]]], Dict[feast.registry.FeastObjectType, Set[Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference]]]][source]

Returns the objects in the registry that must be modified to achieve the desired repo state.

Parameters
  • registry – The registry storing the current repo state.

  • current_project – The Feast project whose objects should be compared.

  • desired_repo_contents – The desired repo state.

feast.diff.registry_diff.tag_objects_for_keep_delete_update_add(existing_objs: Iterable[Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference]], desired_objs: Iterable[Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference]]) Tuple[Set[Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference]], Set[Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference]], Set[Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference]], Set[Union[feast.feature_view.FeatureView, feast.on_demand_feature_view.OnDemandFeatureView, feast.request_feature_view.RequestFeatureView, feast.entity.Entity, feast.feature_service.FeatureService, feast.data_source.DataSource, feast.saved_dataset.ValidationReference]]][source]

Module contents