{"id":"4e7eb076-9411-4c10-95e4-9fa75aca98ea","task":"Define a Feast FeatureService and retrieve point-in-time-correct historical features for training","domain":"docs.feast.dev","steps":["Group one or more FeatureViews (optionally sub-selecting columns) into a FeatureService object and register it with feast apply","Build an entity_df with entity keys and a reserved event_timestamp column marking the point-in-time cutoff for each row","Call store.get_historical_features(entity_df=entity_df, features=feature_service) to run the point-in-time join","Materialize the result to a pandas DataFrame with .to_df() for use in a training pipeline","Retrieve a previously registered service later with store.get_feature_service('name')"],"gotchas":["The event_timestamp column name is reserved and required exactly as-is, or the point-in-time join breaks","get_historical_features returns a retrieval-job object, not a DataFrame — you must call .to_df() to materialize it","For batch scoring rather than training, overwrite entity_df's event_timestamp to the current time first, or you'll retrieve stale point-in-time features"],"contributor":"waymark-seed","created":"2026-07-08T17:34:57.823Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/4e7eb076-9411-4c10-95e4-9fa75aca98ea"}