MCPcopy Index your code
hub / github.com/feast-dev/feast / GetFeature

Method GetFeature

sdk/python/feast/registry_server.py:1298–1345  ·  view source on GitHub ↗

Get a single feature by project, feature_view, and name.

(self, request: RegistryServer_pb2.GetFeatureRequest, context)

Source from the content-addressed store, hash-verified

1296 )
1297
1298 def GetFeature(self, request: RegistryServer_pb2.GetFeatureRequest, context):
1299 """
1300 Get a single feature by project, feature_view, and name.
1301 """
1302 from feast.labeling.label_view import LabelView
1303
1304 allow_cache = getattr(request, "allow_cache", True)
1305 feature_views = self.proxied_registry.list_all_feature_views(
1306 project=request.project,
1307 allow_cache=allow_cache,
1308 )
1309 permitted_fvs = permitted_resources(
1310 resources=cast(list[FeastObject], feature_views),
1311 actions=AuthzedAction.DESCRIBE,
1312 )
1313 for fv in permitted_fvs:
1314 fv_name = getattr(fv, "name", None)
1315 for feature in getattr(fv, "features", []):
1316 if fv_name == request.feature_view and feature.name == request.name:
1317 owner = ""
1318 created_timestamp = None
1319 last_updated_timestamp = None
1320
1321 if hasattr(fv, "spec") and hasattr(fv.spec, "owner"):
1322 owner = getattr(fv.spec, "owner", "")
1323
1324 if hasattr(fv, "meta"):
1325 if hasattr(fv.meta, "created_timestamp"):
1326 created_timestamp = fv.meta.created_timestamp
1327 if hasattr(fv.meta, "last_updated_timestamp"):
1328 last_updated_timestamp = fv.meta.last_updated_timestamp
1329
1330 return Feature(
1331 name=feature.name,
1332 feature_view=fv_name if fv_name is not None else "",
1333 type=str(feature.dtype)
1334 if hasattr(feature, "dtype")
1335 else str(feature.valueType),
1336 description=getattr(feature, "description", ""),
1337 owner=owner,
1338 created_timestamp=created_timestamp,
1339 last_updated_timestamp=last_updated_timestamp,
1340 tags=getattr(feature, "tags", {}),
1341 kind="label" if isinstance(fv, LabelView) else "feature",
1342 )
1343 raise FeastObjectNotFoundException(
1344 f"Feature {request.name} not found in feature view {request.feature_view} in project {request.project}"
1345 )
1346
1347
1348def start_server(

Callers

nothing calls this directly

Calls 4

permitted_resourcesFunction · 0.90
FeatureClass · 0.70

Tested by

no test coverage detected