Initialize a Feast feature repository with feast init and configure feature_store.yaml with your offline store (e.g., file or BigQuery), online store (e.g., Redis or SQLite), and registry location.
Define FeatureView objects in Python files within the repository, specifying the data source, entity, and feature columns with their types.
Apply the feature definitions to the registry with feast apply run from the repository directory.
Materialize features from the offline store to the online store for a time range: feast materialize START_DATETIME END_DATETIME, or use feast materialize-incremental END_DATETIME for ongoing pipelines.
In your application, instantiate a FeatureStore, then call store.get_online_features(features=['VIEW_NAME:FEATURE'], entity_rows=[{'ENTITY_KEY': value}]) to retrieve low-latency features.
Verify retrieved feature values and timestamps to ensure materialization completed successfully and the online store is not serving stale data.
Known gotchas
Materialization reads from the offline store using event timestamps; if your data source lacks a recent event_timestamp, materialize will find no new rows and the online store will remain empty.
The feast apply command updates only the registry metadata; it does not write any feature data to the online store—materialization is a separate explicit step.
Online retrieval requires that entity keys match exactly (including type) what was used during materialization; a type mismatch (int vs string) returns empty results without an error.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp