Feature Store
Feature Store client.
Access it as client.feature_store on a Strongly client, or the same path on AsyncStrongly with await. All methods exist on both with identical signatures.
Methods
All methods
apply
apply(store_id: str, *, entities: Sequence[Mapping[str, Any]] | None = None, views: Sequence[Mapping[str, Any]] | None = None, services: Sequence[Mapping[str, Any]] | None = None) -> dict[str, Any]
Register/update entities, views and services (applied in dependency order).
Each view's change says what the apply did: created (its first
version), identical, additive (updated in place) or breaking
(a new version).
An on-demand view's transformCode defines transform(df): a pandas
DataFrame of its source views' features and request fields in, a DataFrame
with the view's features out (same rows). Applying it deploys its sandboxed
transform workflow; any change to it is a new version.
deprecate_view
deprecate_view(store_id: str, view: str, version: int) -> dict[str, Any]
Deprecate a version of a view (e.g. the older one after a breaking change).
A deprecated version is read-only and hidden from discovery; it is kept, and the feature services pinned to it still resolve it.
get_historical_features
get_historical_features(store_id: str, feature_service: str, entity_rows: Sequence[Mapping[str, Any]] | None = None, *, entity_s3_uri: str | None = None, entity_format: str | None = None) -> dict[str, Any]
Generate leak-free point-in-time training data.
Supply the entity/label frame exactly one way: inline entity_rows, or entity_s3_uri
(an s3:// URI or bare key of a Parquet/CSV frame, the bulk path for training-scale label
sets). Returns the response including a presigned snapshotUrl (Parquet) the caller
reads directly.
get_online_features
get_online_features(store_id: str, feature_service: str, entity_rows: Sequence[Mapping[str, Any]], *, max_staleness_seconds: int | None = None) -> dict[str, Any]
Resolve the latest online feature values for a feature service.
get_store
get_store(store_id: str) -> dict[str, Any]
Get a feature store with its entities, views (all versions), services.
list_stores
list_stores(*, limit: int | None = None) -> SyncPaginator[FeatureStoreRecord]
List the feature stores the caller can use, a page at a time as you iterate.
materialize
materialize(store_id: str, view: str) -> dict[str, Any]
Run the incremental offline -> online materialization for a view.
A batch view with a source table pulls the source's new rows into its
history first (ingested in the result; None without a source).
push
push(store_id: str, view: str, events: Sequence[Mapping[str, Any]]) -> dict[str, Any]
Push real-time events to a STREAM aggregation view.
Each event carries the entity join keys, an event_timestamp, and the aggregation source
column(s); events are folded into the view's windowed online + offline tiles. This is the
real-time path (use write for the batch/offline history path).
write
write(store_id: str, view: str, rows: Sequence[Mapping[str, Any]]) -> dict[str, Any]
Ingest feature rows into a view's offline history.