Feast 0.10 has just been released! Check it out →

Feast 0.10 has just been released! Check it out →

Serve your features in production

Feast is an open-source feature store. It is the fastest path to operationalizing analytic data for model training and online inference.

Teams contributing to Feast

Feast in four steps

Step 1

Set up a feature store

$ pip install feast

$ feast  init

$ feast apply

Step 2

Generate point-in-time correct training datasets from your offline features

store = FeatureStore()

order_df = pd.from_csv('orders_df');

training_data = store.get_historical_features(
    entity_df = orders_df,
    feature_refs = [
        "driver_stats:conv_rate",
        "driver_stats:avg_daily_trips",
        "customer_profile:current_balance",
        "customer_profile:avg_passenger_count",
        "customer_profile:lifetime_trip_count",
    ],
)

model.fit(training_data)

Step 3

Load your features into an online store

$ feast materialize-incremental

Step 4

Read your features at low latency

features = store.get_online_features(
    feature_refs = [
        "driver_stats:conv_rate",
        "driver_stats:avg_daily_trips",
        "customer_profile:current_balance",
        "customer_profile:avg_passenger_count",
        "customer_profile:lifetime_trip_count",
    ],
    entity_rows = [{
        "driver_id" : "MvIDnSG3",
        "customer_id" : "yQlM1SRs"
    }],
)

model.predict(features)

Operationalize your analytics data

Feast operationalizes your offline data so it’s available for real-time predictions, without building custom pipelines.

Ensure consistency across training and serving

Feast guarantees you’re serving the same data to models during training and inference, eliminating training-serving skew.

Reuse your current infrastructure

Feast doesn’t require the deployment and ongoing management of dedicated infrastructure.

It runs on top of cloud managed services; reusing your existing infrastructure and spinning up new resources when needed.

Standardize your data workflows across teams

Feast brings standardization and consistency to your data engineering workflows across models and teams. Many teams use Feast as the foundation of their internal ML platforms.

Stand up a feature store in 5 minutes

Quickstart

FAQ

Is Feast a feature computation system?

No. Even though some feature stores include transformations, Feast purely manages retrieval. Feast is used alongside a separate system that computes feature values. Most often, these are pipelines written in SQL or a Python Dataframe library and scheduled to run periodically.

If you need a managed feature store that provides feature computation, check out Tecton.

Is Feast a database?

No. Feast is a tool that manages data stored in other systems, (e.g. BigQuery or Cloud Firestore.) It is not a database, but it helps manage data stored in other systems.

How do I install and run Feast?

Feast is a Python library + optional CLI. You can install it using pip.

You might want to periodically run certain Feast commands (e.g. `feast materialize-incremental`, which updates the online store.) We recommend using schedulers such as Airflow or Cloud Composer for this.

Feast also supports optional deployment configurations that target Kubernetes. This deployment model works wherever Kubernetes can be run, like on-prem, and includes a job scheduler.

What clouds does Feast work on?

Feast is available today natively on GCP, and you can run Feast on Kubernetes on AWS. The next release of Feast aims to bring Feast to AWS.

Additionally, Feast supports optional deployment configurations that target Kubernetes. This deployment model works wherever Kubernetes can be run, like on-prem.

What data stores does Feast support?

Feast supports Google BigQuery, and Google Cloud Firestore as an online store. The next release of Feast aims to add support for Google BigTable as an online store.

Do I have to use Kubernetes, Spark, or Terraform?

Not by default. Feast does support optional deployment configurations that include Kubernetes, Spark, and Terraform. See Feast on Kubernetes for more details.

Does Feast support streaming data?

Not by default. Optional components that are deployed on Kubernetes can handle the ingestion of streaming data. See Feast on Kubernetes for more details.