MCPcopy
hub / github.com/feast-dev/feast / _get_online_request_context

Function _get_online_request_context

sdk/python/feast/utils.py:1310–1382  ·  view source on GitHub ↗
(
    registry,
    project,
    features: Union[List[str], "FeatureService"],
    full_feature_names: bool,
)

Source from the content-addressed store, hash-verified

1308
1309
1310def _get_online_request_context(
1311 registry,
1312 project,
1313 features: Union[List[str], "FeatureService"],
1314 full_feature_names: bool,
1315):
1316 from feast.feature_view import DUMMY_ENTITY_NAME
1317
1318 _feature_refs = _get_features(registry, project, features, allow_cache=True)
1319
1320 (
1321 requested_feature_views,
1322 requested_on_demand_feature_views,
1323 ) = _get_feature_views_to_use(
1324 registry=registry,
1325 project=project,
1326 features=features,
1327 allow_cache=True,
1328 hide_dummy_entity=False,
1329 )
1330
1331 (
1332 entity_name_to_join_key_map,
1333 entity_type_map,
1334 join_keys_set,
1335 ) = _get_entity_maps(registry, project, requested_feature_views)
1336
1337 _validate_feature_refs(_feature_refs, full_feature_names)
1338 (
1339 grouped_refs,
1340 grouped_odfv_refs,
1341 ) = _group_feature_refs(
1342 _feature_refs,
1343 requested_feature_views,
1344 requested_on_demand_feature_views,
1345 )
1346
1347 # Build expected result names, including version tag when present so
1348 # multi-version queries (e.g. fv@v1:feat, fv@v2:feat) match the response.
1349 requested_result_row_names = set()
1350 for feat_ref in _feature_refs:
1351 fv_name, version_num, feature_name = _parse_feature_ref(feat_ref)
1352 if full_feature_names:
1353 if version_num is not None:
1354 requested_result_row_names.add(
1355 f"{fv_name}@v{version_num}__{feature_name}"
1356 )
1357 else:
1358 requested_result_row_names.add(f"{fv_name}__{feature_name}")
1359 else:
1360 requested_result_row_names.add(feature_name)
1361
1362 feature_views = list(view for view, _ in grouped_refs)
1363
1364 needed_request_data = get_needed_request_data(grouped_odfv_refs)
1365
1366 entityless_case = DUMMY_ENTITY_NAME in [
1367 entity_name

Callers 1

Calls 7

_get_entity_mapsFunction · 0.85
_validate_feature_refsFunction · 0.85
_group_feature_refsFunction · 0.85
_parse_feature_refFunction · 0.85
get_needed_request_dataFunction · 0.85
_get_featuresFunction · 0.70

Tested by

no test coverage detected