Skip to main content


unit-tests integration-tests-and-build java-integration-tests linter Docs Latest Python API License GitHub Release

Overview

Feast is an open source feature store for machine learning. Feast is the fastest path to productionizing analytic data for model training and online inference.

Please see our documentation for more information about the project.

📐 Architecture

The above architecture is the minimal Feast deployment. Want to run the full Feast on Snowflake/GCP/AWS? Click here.

🐣 Getting Started

1. Install Feast

pip install feast

2. Create a feature repository

feast init my_feature_repo
cd my_feature_repo

3. Register your feature definitions and set up your feature store

feast apply

4. Explore your data in the web UI (experimental)

Web UI

5. Build a training dataset

from feast import FeatureStore
import pandas as pd
from datetime import datetime

entity_df = pd.DataFrame.from_dict({
    "driver_id": [1001, 1002, 1003, 1004],
    "event_timestamp": [
        datetime(2021, 4, 12, 10, 59, 42),
        datetime(2021, 4, 12, 8,  12, 10),
        datetime(2021, 4, 12, 16, 40, 26),
        datetime(2021, 4, 12, 15, 1 , 12)
    ]
})

store = FeatureStore(repo_path=".")

training_df = store.get_historical_features(
    entity_df=entity_df,
    features = [
        'driver_hourly_stats:conv_rate',
        'driver_hourly_stats:acc_rate',
        'driver_hourly_stats:avg_daily_trips'
    ],
).to_df()

print(training_df.head())

# Train model
# model = ml.fit(training_df)
            event_timestamp  driver_id  conv_rate  acc_rate  avg_daily_trips
0 2021-04-12 08:12:10+00:00       1002   0.713465  0.597095              531
1 2021-04-12 10:59:42+00:00       1001   0.072752  0.044344               11
2 2021-04-12 15:01:12+00:00       1004   0.658182  0.079150              220
3 2021-04-12 16:40:26+00:00       1003   0.162092  0.309035              959

6. Load feature values into your online store

CURRENT_TIME=$(date -u +"%Y-%m-%dT%H:%M:%S")
feast materialize-incremental $CURRENT_TIME
Materializing feature view driver_hourly_stats from 2021-04-14 to 2021-04-15 done!

7. Read online features at low latency

from pprint import pprint
from feast import FeatureStore

store = FeatureStore(repo_path=".")

feature_vector = store.get_online_features(
    features=[
        'driver_hourly_stats:conv_rate',
        'driver_hourly_stats:acc_rate',
        'driver_hourly_stats:avg_daily_trips'
    ],
    entity_rows=[{"driver_id": 1001}]
).to_dict()

pprint(feature_vector)

# Make prediction
# model.predict(feature_vector)
{
    "driver_id": [1001],
    "driver_hourly_stats__conv_rate": [0.49274],
    "driver_hourly_stats__acc_rate": [0.92743],
    "driver_hourly_stats__avg_daily_trips": [72]
}

📦 Functionality and Roadmap

The list below contains the functionality that contributors are planning to develop for Feast

33429a1f0c314c29901b17c9b9e2032b4163c4c9

🎓 Important Resources

Please refer to the official documentation at Documentation

👋 Contributing

Feast is a community project and is still under active development. Please have a look at our contributing and development guides if you want to contribute to the project:

✨ Contributors

Thanks goes to these incredible people:

Metadata

Release files for elemeno-ai-feast 0.18.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for elemeno-ai-feast 0.18.4
File
elemeno_ai_feast-0.18.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
elemeno_ai_feast-0.18.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
elemeno_ai_feast-0.18.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
elemeno_ai_feast-0.18.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details

Total release size: 36.4 MB

Release files / elemeno_ai_feast-0.18.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL elemeno_ai_feast-0.18.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
83930068a1f2c4c1b2c6d3d48da7710cba423fd67835231a35deac0cd41ebf98
BLAKE2b-256 checksum
How to use checksums
a631a42e8585a0929ce17615d54103266c8b3ce16cea2cfdd708bd991e16c486
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.8.12

Release files / elemeno_ai_feast-0.18.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL elemeno_ai_feast-0.18.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.1 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3f0bb4c45bcef3b4f1e47afdb2a7f869bd89f1ce68ba98407faf6a5fcb576414
BLAKE2b-256 checksum
How to use checksums
b5e870d5746919d797982c882e92437ec3c3ef3d241aa6748b29fe3c5c6bcd84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.8.12

Release files / elemeno_ai_feast-0.18.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL elemeno_ai_feast-0.18.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.1 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b211c7d3148a72da9ee2ec6324e1d2a9d5acdc1a0fde2f89c143c309ddd50e20
BLAKE2b-256 checksum
How to use checksums
6c31c07743cec325c45d01651e52193355568321862116e0b94a7008d2b3a113
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.8.12

Release files / elemeno_ai_feast-0.18.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL elemeno_ai_feast-0.18.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.1 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
be5ca28015a7c3053957693c68755d489dbde56029cb72ebb89dd4a35670c29a
BLAKE2b-256 checksum
How to use checksums
502504bfc473d8980a687587b06f2a277381ae737fc2995f1b246bc503f95b5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.8.12

Release history Release notifications | RSS feed

This release

0.18.4 This release

4 release files

0.18.3

1 release file

0.18.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page