Feature Store for Machine Learning

Overview


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 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. 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

5. 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!

6. 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

🎓 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:

Comments
  • Split Field model into distinct Feature and Entity objects

    Split Field model into distinct Feature and Entity objects

    What this PR does / why we need it: This is a split-off off #612 that introduces the model changes made in that PR in a more digestible chunk.

    This PR includes:

    • Removal of Field object
    • Addition of distinct Feature and Entity objects
    • Removal of TFX fields on entities

    SQL changes:

    • Surrogate long ids for feature sets, features and entities
    • drop TFX constraints from entities table

    Does this PR introduce a user-facing change?:

    Model changes to FeatureSets, Features and Entities. Requires Migration.
    
    lgtm approved size/XXL 
    opened by zhilingc 43
  • Add support for Redis and Redis Cluster

    Add support for Redis and Redis Cluster

    What this PR does / why we need it: PR adds Redis and RedisCluster support as online store. As described in https://github.com/feast-dev/feast/issues/1497 it is backward compatible with Feast 0.9 thus it can be used for migration to 0.10

    Which issue(s) this PR fixes: Fixes #1497

    Does this PR introduce a user-facing change?:

    Redis and RedisCluster online stores support added. Format is compatible with Feast 0.9.
    
    kind/feature size/L lgtm approved ok-to-test release-note 
    opened by qooba 36
  • Feast API: Adding a new historical store

    Feast API: Adding a new historical store

    1. Introduction

    We've had a lot of demand for either open source or AWS batch stores (#367, #259). Folks from the community have asked us how they can contribute code to add their stores types.

    In this issue I will walk through how batch stores are currently being used and how a new batch store type can be added.

    2. Overview

    Feast interacts with a batch store in two places

    • Data ingestion: Ingestion jobs that load data into stores must be able to locate stores, apply migrations, and write data into feature set tables.
    • Feature serving (batch): Feast serving executes batch retrieval jobs in order for users to export historical feature data.

    3. Data ingestion

    Feast creates and manages population jobs that stream in data from upstream data sources. Currently Feast only supports Kafka as a data source, meaning these jobs are all long running. Batch ingestion pushes data to Kafka topics after which they are picked up by these "population" jobs.

    In order for the ingestion + population flow to complete, the destination store must be writable. This means that Feast must be able to create the appropriate tables/schemas in the store and also write data from the population job into the store.

    Currently Feast Core starts and manages these population jobs that ingest data into stores, although we are planning to move this responsibility to the serving layer. Feast Core starts an Apache Beam job which synchronously runs migrations on the destination store and subsequently starts consuming from Kafka and publishing records.

    Below is a "happy-path" example of a batch ingestion process: Untitled (1)

    In order to accommodate a new store type, the Apache Beam job needs to be updated to support

    • Setup (create tables/schemas): The current implementation for BigQuery/Redis is captured in StoreUtil.java
    • Writes: A store specific client needs to be implemented that can write to a new store type in WriteToStore.java

    4. Feature serving (batch)

    Feast Serving is a web service that allows for the retrieval of feature data from a batch feature store. Below is a sequence diagram for a typical feature request from a batch store.

    Untitled

    Currently we only have support for BigQuery has a batch store. The entry point for this implementation is the BigQueryServingService, which extends the ServingService interface.

    public interface ServingService {
      GetFeastServingInfoResponse getFeastServingInfo(GetFeastServingInfoRequest getFeastServingInfoRequest);
      GetOnlineFeaturesResponse getOnlineFeatures(GetOnlineFeaturesRequest getFeaturesRequest);
      GetBatchFeaturesResponse getBatchFeatures(GetBatchFeaturesRequest getFeaturesRequest);
      GetJobResponse getJob(GetJobRequest getJobRequest);
    }
    

    The ServingService is called from the wrapping gRPC service ServingService, where the functionality is more clearly described.

    The interface defines the following methods

    • getFeastServingInfo: Get the store type, either online or offline.
    • getOnlineFeatures: Get online features synchronously.
    • getBatchFeatures: Get batch features asynchronously. Retrieval for batch features always happens asynchronously, because of the time taken for an export to complete. This method returns immediately with a JobId to the client. The client can then poll the job status until the query has reached a terminal state (succeeded or failed).
    • getJob: Should return the Job status for a specific Job Id

    Notes on the current design: Although the actual functionality will be retained, the structure of these interfaces will probably change away from extending a service interface and towards having a store interface. There are various problems with the current implementation

    1. Batch and online stores share a single interface. I believe the intention here was to allow some stores to support both online and historical/batch storage, but for most stores this isn't the case. There is also no reason why we can't have two interfaces here. Ideally this should be split in two.
    2. The current approach is to extend services for each new store type, but this seems to be a poor abstractions. Ideally we would have both a batch and online store interface (not service interface), which is called from a single serving implementation. This approach would be a clearer separation of concerns and would prevent things like job management happening within a service implementation.
    wontfix area/serving area/ingestion 
    opened by woop 34
  • Add computation and retrieval of batch feature statistics

    Add computation and retrieval of batch feature statistics

    What this PR does / why we need it: This PR adds support for retrieval of batch statistics over data ingested into a feast warehouse store, as proposed in M2 of the Feature Validation RFC.

    Note that it deviates from the RFC in the following ways:

    • Statistics are computed using SQL. This is because TFDV is unfortunately, only available in python, and Multi-SDK connectors for Beam is still a work in progress. Computing the statistics using SQL will be the compromise until either TFDV is available in Java, or cross-language execution is supported.
    • Statistics can only be computed over a single feature-set at a time. This is mostly to reduce complexity in implementation. Since datasets are unable to span multiple feature sets, it makes sense to have this restriction in place.

    This is a bit of a chonky PR, and the code itself requires a bit of cleaning up, hence the WIP status, but refer to the attached notebook for how this implementation looks like for a user of Feast.

    Does this PR introduce a user-facing change?:

    - Adds GetFeatureStatistics to the CoreService
    - Adds get_statistics method to the client in the python SDK
    
    kind/feature approved size/XXL do-not-merge/work-in-progress ok-to-test area/core 
    opened by zhilingc 31
  • Add feature and feature set labels, for metadata

    Add feature and feature set labels, for metadata

    What this PR does / why we need it: -> Extension for #463

    Update (@suwik):

    • Addressed previous review comments
    • Added labels on the feature set level
    • Removed the python SDK changes related to labels implemented inside field.py (30d63fa0fa)
    • Made a small unit test refactoring on the way.

    Which issue(s) this PR fixes: Fixes #463

    Does this PR introduce a user-facing change?:

    Feature spec and Feature set spec will both have a new field called labels
    
    kind/feature lgtm approved size/XL ok-to-test area/core 
    opened by imjuanleonard 31
  • Switch from protobuf to arrow

    Switch from protobuf to arrow

    Is your feature request related to a problem? Please describe.

    Serialization costs for protobuf are very high.

    Describe the solution you'd like

    Switching to arrow would decrease serialization costs by a lot. This issue tracks an investigation into feasibility of switching to arrow from protobuf.

    Describe alternatives you've considered

    Additional context

    See this document for the results of a detailed investigation into latency issues due to on-demand feature views, which prompted the observation that serialization costs for protobuf are extremely high.

    wontfix kind/bug priority/p1 
    opened by felixwang9817 29
  • GetFeastCoreVersion failed with code

    GetFeastCoreVersion failed with code "StatusCode.UNIMPLEMENTED"

    Expected Behavior

    Feast Core and Serving should be connected in the python sdk when running feast version shown by the following output (From https://github.com/gojek/feast/blob/master/docs/getting-started/install-feast.md)

    { "sdk": { "version": "feast 0.3.0" }, "core": { "url": "192.168.99.100:32090", "version": "0.3", "status": "connected" }, "serving": { "url": "192.168.99.100:32091", "version": "0.3", "status": "connected" } }

    Current Behavior

    When running feast version

    GetFeastCoreVersion failed with code "StatusCode.UNIMPLEMENTED" Method feast.core.CoreService/GetFeastCoreVersion is unimplemented {"sdk": {"version": "feast 0.3.0"}, "core": {"url": "192.168.39.232:32090", "version": "", "status": "not connected"}, "serving": {"url": "192.168.39.232:32091", "version": "0.3", "status": "connected"}}

    Steps to reproduce

    Follow https://github.com/gojek/feast/blob/master/docs/getting-started/install-feast.md steps 0-2 for minikube (local) installation.

    Then ran pip3 install -e ${FEAST_HOME_DIR}/sdk/python --user feast config set core_url ${FEAST_CORE_URL} feast config set serving_url ${FEAST_SERVING_URL} feast version Which is where the problem occured

    Specifications

    • Version: Master (0.3)
    • Platform: Localhost (Ubuntu 18.04)
    • Subsystem: python 3.6.8, helm 2.16.0, kubectl client 1.16.1, kubectl server 1.15.5, minikube 1.5.2

    Possible Solution

    I'm not sure. I did however notice something strange when the pods are starting up. In the picture below a number of restarts occur for the core and serving services in the cluster. Before the restart occurs the pods are always going from 'ContainerCreating' to 'Running' to 'Error' to CrashLoopBackOff'. This happens in loops until it finally just says 'Running' after 5-6 mins. And it happens every time i do a clean (maybe unclean) installation. My best guess is that the core service has a bug with the connection but it could be in the python sdk as well for all i know. image

    opened by NicholaiStaalung 28
  • Remove feature specs being able to declare their serving or warehouse stores

    Remove feature specs being able to declare their serving or warehouse stores

    Currently a Feature can declare it's own data stores in the feature spec, which must have been registered with Core before hand.. This adds a lot of complexity to declaring features and is very error prone.

    Instead we should have the data stores dictated by Core, and feature specs should know nothing about them.

    This means that a Feast deployment will now only be able to have 1 serving store and 1 warehouse store at a time.

    Some things to note:

    This changes the way features can configure some settings. For example redis expiry must now be set in FeatureSpec.options rather than FeautureSpec.datastores.serving.options

    So the option key has changed from "expiry" to "redis.expiry". It is still called "expiry" when overriding the a default it in the StorageSpec.options however. We need to find a better way to document this.

    I think I like the idea of only have one place to set options in a FeatureSpec. But if it applies to the actual underlying storage or not depends on if that storage is actually being used. So it's not clear that these should be feature options at all.

    lgtm approved size/XXL 
    opened by tims 27
  • Add support to Python SDK for staging files on Amazon S3

    Add support to Python SDK for staging files on Amazon S3

    What this PR does / why we need it: Currently Feast client cannot stage data anywhere except GCP storage. The PR adds S3 staging support on client. Which issue(s) this PR fixes: Client can stage files on s3.

    Python Client changes for #706. Edit: Fixes #562

    Does this PR introduce a user-facing change?: No

    Added support to Python SDK for staging files on Amazon S3
    
    kind/feature lgtm approved size/XL ok-to-test 
    opened by jmelinav 25
  • Authentication and Authorization

    Authentication and Authorization

    What this PR does / why we need it:

    First implementation of auth for Feast (related to #504 minimal implementation).

    1. Adds authentication to Feast Core (with support for different implementations). Currently any JWT bearer token through gRPC metadata.
    2. Adds authorization to Feast Core (with support for different implementations). Currently only supports Ory Keto. A follow up PR will add an HTTP authorization adapter.
    3. Adds authentication to Python SDK/CLI. Two implementations included: users can enable authentication client side and Feast will send their Google Open ID credentials as gRPC metadata to Core, or they can provide client credentials and OAuth2 provider and the JWT will be fetched for them.
    4. Refactored the Python SDK/CLI SSL/TLS handling.
    5. Prevents unauthorized creation or modification of feature sets in projects that a user does not have membership in.

    Limitations

    Does not handle user or role management in authorization provider (creating projects, adding members, removing members, listing members).

    Which issue(s) this PR fixes:

    Related to #504, but doesn't close the card. This is a minimal implementation. Replaces https://github.com/feast-dev/feast/pull/554

    Does this PR introduce a user-facing change?:

    Yes, documentation will be needed:

    • The Python Client SDK has a constructor now to pass authentication configuration.
    • The Core Service API requires GRPC metadata when authentication is enabled.
    • Configuration for Core has been extended to enable authentication and authorization.
    kind/feature lgtm approved size/XXL ok-to-test 
    opened by dr3s 24
  • S3 endpoint configuration #1169

    S3 endpoint configuration #1169

    What this PR does / why we need it:

    Which issue(s) this PR fixes:

    Fixes #1169

    Does this PR introduce a user-facing change?:

    Added an option to configure S3 endpoint url
    
    kind/feature size/M lgtm approved ok-to-test release-note 
    opened by mike0sv 23
  • feat: Make UI runnable behind proxy

    feat: Make UI runnable behind proxy

    Signed-off-by: Hai Nguyen [email protected]

    What this PR does / why we need it: To support feast UI can run behind upstream proxy

    Which issue(s) this PR fixes:

    Fixes #3011

    size/M 
    opened by sudohainguyen 1
  • docs: update the expired link of the black coding style.

    docs: update the expired link of the black coding style.

    What this PR does / why we need it: Fix the expired link in the documentation. Which issue(s) this PR fixes: It's a simple and very obvious fix. No specific issue ticket.

    size/XS lgtm approved ok-to-test 
    opened by shuchu 1
  • BigQueryOfflineStore facing problems with complex feature views

    BigQueryOfflineStore facing problems with complex feature views

    Expected Behavior

    I expect BigQueryOffline store would be able to have freedom in joining multiple feature views at large scale, including table-based feature views and SQL query-based feature views

    Current Behavior

    When I conducted point-in-time joins across like 30 feature views, BQ client thrown this error

    400 Resources exceeded during query execution: Not enough resources for query planning - too many subqueries or query is too complex.
    

    Steps to reproduce

    1. Prepare 2 table-based feature views
    2. Prepare 2 query-based feature views (with pivot statement on 10 values)
    3. Conduct point-in-time joining on all feature views

    Specifications

    • Version: 0.27.1
    • Platform: Linux

    Possible Solution

    Convert BQ template from using WITH to using TEMP TABLE

    kind/bug priority/p2 
    opened by sudohainguyen 0
  • fix: Buggy SQL for postgres source

    fix: Buggy SQL for postgres source

    What this PR does / why we need it:

    Removes parentheses that lead to SQL syntax error when calling get_table_column_names_and_types

    Which issue(s) this PR fixes:

    No corresponding issue created.

    size/XS ok-to-test 
    opened by xaniasd 3
  • fix: Enforce fully qualified table names in Snowflake

    fix: Enforce fully qualified table names in Snowflake

    Signed-off-by: miles.adkins [email protected]

    What this PR does / why we need it:

    Enforces fully qualified snowflake source names

    Which issue(s) this PR fixes:

    Fixes #3286

    size/S approved do-not-merge/work-in-progress ok-to-test 
    opened by sfc-gh-madkins 5
  • fix: Remove snowflake source warehouse tech debt

    fix: Remove snowflake source warehouse tech debt

    Signed-off-by: miles.adkins [email protected]

    What this PR does / why we need it:

    Which issue(s) this PR fixes:

    Fixes #2981

    size/S approved ok-to-test 
    opened by sfc-gh-madkins 2
Releases(v0.27.1)
  • v0.27.1(Dec 15, 2022)

  • v0.27.0(Dec 5, 2022)

    0.27.0 (2022-12-05)

    Bug Fixes

    • Changing Snowflake template code to avoid query not implemented … (#3319) (1590d6b)
    • Dask zero division error if parquet dataset has only one partition (#3236) (69e4a7d)
    • Enable Spark materialization on Yarn (#3370) (0c20a4e)
    • Ensure that Snowflake accounts for number columns that overspecify precision (#3306) (0ad0ace)
    • Fix memory leak from usage.py not properly cleaning up call stack (#3371) (a0c6fde)
    • Fix workflow to contain env vars (#3379) (548bed9)
    • Update bytewax materialization (#3368) (4ebe00f)
    • Update the version counts (#3378) (8112db5)
    • Updated AWS Athena template (#3322) (5956981)
    • Wrong UI data source type display (#3276) (8f28062)

    Features

    • Cassandra online store, concurrency in bulk write operations (#3367) (eaf354c)
    • Cassandra online store, concurrent fetching for multiple entities (#3356) (00fa21f)
    • Get Snowflake Query Output As Pyspark Dataframe (#2504) (#3358) (2f18957)
    Source code(tar.gz)
    Source code(zip)
  • v0.26.0(Oct 6, 2022)

    0.26.0 (2022-10-06)

    Bug Fixes

    • Add X-Trino-Extra-Credential header and remove user override (#3246) (164e666)
    • Add postgres to the feature server Dockerfile to fix helm chart flow (#3261) (6f6cbb7)
    • Add stream feature view in the Web UI (#3257) (1f70b3a)
    • Build dockerfile correctly (#3239) (a2dc0d0)
    • Configuration to stop coercion of tz for entity_df (#3255) (97b7ab9)
    • Enable users to upgrade a batch source into a push source (#3213) (1b312fb)
    • Fix docker image for feature-server (#3272) (eff01d1)
    • Fix Feast UI release process to update the feast-ui package (#3267) (a9d48d0)
    • Return 422 on bad push source name (#3214) (b851e01)
    • Stream feature view meta undefined created_timestamp issue (#3266) (12e1a8f)
    • Stream feature view not shown in the UI (#3251) (e713dda)
    • Udf in stream feature view UI shows pickled data (#3268) (0728117)
    • Update snowflake materialization messages (#3230) (a63d440)
    • Updated quickstart notebook to patch an incorrect reference to an outdated featureview name (#3271) (b9b9c54)
    • Use configured user in env var instead of "user" for Trino (#3254) (532d8a1)

    Features

    Source code(tar.gz)
    Source code(zip)
  • v0.25.2(Oct 6, 2022)

  • v0.25.1(Sep 30, 2022)

    0.25.1 (2022-09-30)

    Bug Fixes

    • Add X-Trino-Extra-Credential header and remove user override (#3246) (f38506c)
    • Add postgres to the feature server Dockerfile to fix helm chart flow (#3261) (a2cb995)
    • Add stream feature view in the Web UI (#3257) (47d4c93)
    • Build dockerfile correctly (#3239) (a2dc0d0)
    • Configuration to stop coercion of tz for entity_df (#3255) (fdc8d67)
    • Enable users to upgrade a batch source into a push source (#3213) (8f2fb58)
    • Return 422 on bad push source name (#3214) (8abbcd9)
    • Stream feature view not shown in the UI (#3251) (55e28e2)
    • Update snowflake materialization messages (#3230) (a63d440)
    • Use configured user in env var instead of "user" for Trino (#3254) (e7ed3d5)
    Source code(tar.gz)
    Source code(zip)
  • v0.25.0(Sep 20, 2022)

    0.25.0 (2022-09-20)

    This release adds bug fixes and some new functionality:

    • Spark materialization engine.
    • to_remote_storage capability for Spark offline store.

    Bug Fixes

    • Broken Feature Service Link (#3227) (e117082)
    • Feature-server image is missing mysql dependency for mysql registry (#3223) (ae37b20)
    • Fix handling of TTL in Go server (#3232) (f020630)
    • Fix materialization when running on Spark cluster. (#3166) (175fd25)
    • Fix push API to respect feature view's already inferred entity types (#3172) (7c50ab5)
    • Fix release workflow (#3144) (20a9dd9)
    • Fix Shopify timestamp bug and add warnings to help with debugging entity registration (#3191) (de75971)
    • Handle complex Spark data types in SparkSource (#3154) (5ddb83b)
    • Local staging location provision (#3195) (cdf0faf)
    • Remove bad snowflake offline store method (#3204) (dfdd0ca)
    • Remove opening file object when validating S3 parquet source (#3217) (a906018)
    • Snowflake config file search error (#3193) (189afb9)
    • Update Snowflake Online docs (#3206) (7bc1dff)

    Features

    • Add to_remote_storage functionality to SparkOfflineStore (#3175) (2107ce2)
    • Add ability to give boto extra args for registry config (#3219) (fbc6a2c)
    • Add health endpoint to py server (#3202) (43222f2)
    • Add snowflake support for date & number with scale (#3148) (50e8755)
    • Add tag kwarg to set Snowflake online store table path (#3176) (39aeea3)
    • Add workgroup to athena offline store config (#3139) (a752211)
    • Implement spark materialization engine (#3184) (a59c33a)
    Source code(tar.gz)
    Source code(zip)
  • v0.24.1(Sep 8, 2022)

  • v0.24.0(Aug 25, 2022)

    0.24.0 (2022-08-25)

    This release adds many bug fixes as well as new functionality:

    • Snowflake and Bytewax materialization engines.
    • Azure provider with Synapse offline store and Azure registry blob store (moved into contrib from an external repo).
    • A Cassandra online store.
    • Athena offline store.

    Bug Fixes

    • Check if on_demand_feature_views is an empty list rather than None for snowflake provider (#3046) (9b05e65)
    • FeatureStore.apply applies BatchFeatureView correctly (#3098) (41be511)
    • Fix Feast Java inconsistency with int64 serialization vs python (#3031) (4bba787)
    • Fix feature service inference logic (#3089) (4310ed7)
    • Fix field mapping logic during feature inference (#3067) (cdfa761)
    • Fix incorrect on demand feature view diffing and improve Java tests (#3074) (0702310)
    • Fix Java helm charts to work with refactored logic. Fix FTS image (#3105) (2b493e0)
    • Fix on demand feature view output in feast plan + Web UI crash (#3057) (bfae6ac)
    • Fix release workflow to release 0.24.0 (#3138) (a69aaae)
    • Fix Spark offline store type conversion to arrow (#3071) (b26566d)
    • Fixing Web UI, which fails for the SQL registry (#3028) (64603b6)
    • Force Snowflake Session to Timezone UTC (#3083) (9f221e6)
    • Make infer dummy entity join key idempotent (#3115) (1f5b1e0)
    • More explicit error messages (#2708) (e4d7afd)
    • Parse inline data sources (#3036) (c7ba370)
    • Prevent overwriting existing file during persist (#3088) (69af21f)
    • Register BatchFeatureView in feature repos correctly (#3092) (b8e39ea)
    • Return an empty infra object from sql registry when it doesn't exist (#3022) (8ba87d1)
    • Teardown tables for Snowflake Materialization testing (#3106) (0a0c974)
    • UI error when saved dataset is present in registry. (#3124) (83cf753)
    • Update sql.py (#3096) (2646a86)
    • Updated snowflake template (#3130) (f0594e1)

    Features

    • Add authentication option for snowflake connector (#3039) (74c75f1)
    • Add Cassandra/AstraDB online store contribution (#2873) (feb6cb8)
    • Add Snowflake materialization engine (#2948) (f3b522b)
    • Adding saved dataset capabilities for Postgres (#3070) (d3253c3)
    • Allow passing repo config path via flag (#3077) (0d2d951)
    • Contrib azure provider with synapse/mssql offline store and Azure registry store (#3072) (9f7e557)
    • Custom Docker image for Bytewax batch materialization (#3099) (cdd1b07)
    • Feast AWS Athena offline store (again) (#3044) (989ce08)
    • Implement spark offline store offline_write_batch method (#3076) (5b0cc87)
    • Initial Bytewax materialization engine (#2974) (55c61f9)
    • Refactor feature server helm charts to allow passing feature_store.yaml in environment variables (#3113) (85ee789)
    Source code(tar.gz)
    Source code(zip)
  • v0.23.2(Aug 15, 2022)

  • v0.22.4(Aug 15, 2022)

  • v0.23.1(Aug 10, 2022)

  • v0.22.3(Aug 10, 2022)

  • v0.23.0(Aug 2, 2022)

    0.23.0 (2022-08-02)

    This release adds many bug fixes as well as new functionality:

    • Support for a Snowflake online store
    • A batch materialization engine interface, which now makes materialization a pluggable component. There are two reference implementations already (local, which was the former default, and an AWS Lambda engine which scales up materialization with Lambda)
    • A to_remote_storage method in RetrievalJob (the output of get_historical_features). This makes methods that were already implemented (e.g. to_gcs or to_s3) now visible at the interface level. The Lambda materialization engine implementations use these methods to unload data to a bucket before scalably loading this data into the online store.
    • Improvements to Feast Web UI + SavedDatasets

    Features

    • Add an experimental lambda-based materialization engine (#2923) (6f79069)
    • Add column reordering to write_to_offline_store (#2876) (8abc2ef)
    • Add custom JSON table tab w/ formatting (#2851) (0159f38)
    • Add CustomSourceOptions to SavedDatasetStorage (#2958) (23c09c8)
    • Add Go option to feast serve command (#2966) (a36a695)
    • Add interfaces for batch materialization engine (#2901) (38b28ca)
    • Add pages for individual Features to the Feast UI (#2850) (9b97fca)
    • Add snowflake online store (#2902) (f758f9e), closes #2903
    • Add Snowflake online store (again) (#2922) (2ef71fc), closes #2903
    • Add to_remote_storage method to RetrievalJob (#2916) (109ee9c)
    • Support retrieval from multiple feature views with different join keys (#2835) (056cfa1)

    Bug Fixes

    • Add dummy alias to pull_all_from_table_or_query (#2956) (5e45228)
    • Bump version of Guava to mitigate cve (#2896) (51df8be)
    • Change numpy version on setup.py and upgrade it to resolve dependabot warning (#2887) (80ea7a9)
    • Change the feature store plan method to public modifier (#2904) (0ec7d1a)
    • Deprecate 3.7 wheels and fix verification workflow (#2934) (040c910)
    • Do not allow same column to be reused in data sources (#2965) (661c053)
    • Fix build wheels workflow to install apache-arrow correctly (#2932) (bdeb4ae)
    • Fix file offline store logic for feature views without ttl (#2971) (26f6b69)
    • Fix grpc and update protobuf (#2894) (86e9efd)
    • Fix night ci syntax error and update readme (#2935) (b917540)
    • Fix nightly ci again (#2939) (1603c9e)
    • Fix the go build and use CgoArrowAllocator to prevent incorrect garbage collection (#2919) (130746e)
    • Fix typo in CONTRIBUTING.md (#2955) (8534f69)
    • Fixing broken links to feast documentation on java readme and contribution (#2892) (d044588)
    • Fixing Spark min / max entity df event timestamps range return order (#2735) (ac55ce2)
    • Move gcp back to 1.47.0 since grpcio-tools 1.48.0 got yanked from pypi (#2990) (fc447eb)
    • Refactor testing and sort out unit and integration tests (#2975) (2680f7b)
    • Remove hard-coded integration test setup for AWS & GCP (#2970) (e4507ac)
    • Resolve small typo in README file (#2930) (16ae902)
    • Revert "feat: Add snowflake online store (#2902)" (#2909) (38fd001)
    • Snowflake_online_read fix (#2988) (651ce34)
    • Spark source support table with pattern "db.table" (#2606) (3ce5139), closes #2605
    • Switch mysql log string to use regex (#2976) (5edf4b0)
    • Update gopy to point to fork to resolve github annotation errors. (#2940) (ba2dcf1)
    • Version entity serialization mechanism and fix issue with int64 vals (#2944) (d0d27a3)
    Source code(tar.gz)
    Source code(zip)
  • v0.22.2(Jul 29, 2022)

    0.22.2 (2022-07-29)

    This patch release reverts an accidental removal of Python 3.7 support in 0.22.1.

    Reverts

    • ci: "Fix night ci syntax error and update readme (#2935)" (31f54c8)
    • ci: fix: Fix nightly ci again (#2939). This reverts commit c36361951d29714392b1def6e54f83ae45cd5d9a. (33cbaeb)
    • ci: Revert "ci: Add a nightly CI job for integration tests (#2652)" (d4bb394)
    • ci: Revert "fix: Deprecate 3.7 wheels and fix verification workflow (#2934)" (efadb22)
    • Revert "fix: Change numpy version on setup.py and upgrade it to resolve dependabot warning (#2887)" (87190cb)
    Source code(tar.gz)
    Source code(zip)
  • v0.22.1(Jul 19, 2022)

    0.22.1 (2022-07-19)

    Bug Fixes

    • Change numpy version on setup.py and upgrade it to resolve dependabot warning (#2887) (b9190b9)
    • Change the feature store plan method to public modifier (#2904) (568058a)
    • Deprecate 3.7 wheels and fix verification workflow (#2934) (146e36d)
    • Fix build wheels workflow to install apache-arrow correctly (#2932) (4b69e0e)
    • Fix grpc and update protobuf (#2894) (f726c96)
    • Fix night ci syntax error and update readme (#2935) (b35553b)
    • Fix nightly ci again (#2939) (c363619)
    • Fix the go build and use CgoArrowAllocator to prevent incorrect garbage collection (#2919) (f4f4894)
    • Fixing broken links to feast documentation on java readme and contribution (#2892) (a45e10a)
    • Resolve small typo in README file (#2930) (9840c1b)
    • Update gopy to point to fork to resolve github annotation errors. (#2940) (9b9fbbe)
    Source code(tar.gz)
    Source code(zip)
  • v0.22.0(Jun 29, 2022)

    0.22.0 (2022-06-29)

    Overview

    This release adds many bug fixes, as well as some new functionality to help with realtime use cases:

    • SQLAlchemy backed registry (as an alternative to a file registry) (documentation)
    • A universal push API so users can push (streaming) feature values to both offline / online stores (documentation)
    • [Alpha] High level objects to define stream transformations. There are contrib components to help pull registered stream transformations, execute them, and push transformed feature values to the online store. (tutorial)
    • [Alpha] Logging served feature values (from the Go feature server) to the offline store and validating against Great Expectations suite using feast validate (tutorial)

    Features

    • Add feast repo-upgrade for automated repo upgrades (#2733) (a3304d4)
    • Add file write_to_offline_store functionality (#2808) (c0e2ad7)
    • Add http endpoint to the Go feature server (#2658) (3347a57)
    • Add simple TLS support in Go RedisOnlineStore (#2860) (521488d)
    • Add StreamProcessor and SparkKafkaProcessor as contrib (#2777) (83ab682)
    • Added Spark support for Delta and Avro (#2757) (7d16516)
    • CLI interface for validation of logged features (#2718) (c8b11b3)
    • Enable stream feature view materialization (#2798) (a06700d)
    • Enable stream feature view materialization (#2807) (7d57724)
    • Implement offline_write_batch for BigQuery and Snowflake (#2840) (97444e4)
    • Offline push endpoint for pushing to offline stores (#2837) (a88cd30)
    • Push to Redshift batch source offline store directly (#2819) (5748a8b)
    • Scaffold for unified push api (#2796) (1bd0930)
    • SQLAlchemy Registry Support (#2734) (b3fe39c)
    • Stream Feature View FCOS (#2750) (0cf3c92)
    • Update stream fcos to have watermark and sliding interval (#2765) (3256952)
    • Validating logged features via Python SDK (#2640) (2874fc5)

    Bug Fixes

    • Add columns for user metadata in the tables (#2760) (269055e)
    • Add project columns in the SQL Registry (#2784) (336fdd1)
    • Add S3FS dependency (which Dask depends on for S3 files) (#2701) (5d6fa94)
    • Bugfixes for how registry is loaded (#2768) (ecb8b2a)
    • Conversion of null timestamp from proto to python (#2814) (cb23648)
    • Correct feature statuses during feature logging test (#2709) (cebf609)
    • Correctly generate projects-list.json when calling feast ui and using postgres as a source (#2845) (bee8076)
    • Dynamodb drops missing entities when batching (#2802) (a2e9209)
    • Enable faulthandler and disable flaky tests (#2815) (4934d84)
    • Explicitly translate errors when instantiating the go fs (#2842) (7a2c4cd)
    • Fix broken roadmap links (#2690) (b3ba8aa)
    • Fix bugs in applying stream feature view and retrieving online features (#2754) (d024e5e)
    • Fix Feast UI failure with new way of specifying entities (#2773) (0d1ac01)
    • Fix feature view getitem for feature services (#2769) (88cc47d)
    • Fix issue when user specifies a port for feast ui (#2692) (1c621fe)
    • Fix macos wheel version for 310 and also checkout edited go files (#2890) (bdf170f)
    • Fix on demand feature view crash from inference when it uses df.apply (#2713) (c5539fd)
    • Fix SparkKafkaProcessor query_timeout parameter (#2789) (a8d282d)
    • Fix workflow syntax error (#2869) (fae45a1)
    • Fixed custom S3 endpoint read fail (#2786) (6fec431)
    • Go install gopy instead using go mod tidy (#2863) (2f2b519)
    • Hydrate infra object in the sql registry proto() method (#2782) (452dcd3)
    • Implement apply_materialization and infra methods in sql registry (#2775) (4ed107c)
    • Minor refactor to format exception message (#2764) (da763c6)
    • Prefer installing gopy from feast's fork as opposed to upstream (#2839) (34c997d)
    • Python server is not correctly starting in integration tests (#2706) (7583a0b)
    • Random port allocation for python server in tests (#2710) (dee8090)
    • Refactor test to reuse LocalRegistryFile (#2763) (4339c0a)
    • Revert "chore(release): release 0.22.0" (#2852) (e6a4636)
    • Stop running go mod tidy in setup.py (#2877) (676ecbb), closes /github.com/pypa/cibuildwheel/issues/189#issuecomment-549933912
    • Support push sources in stream feature views (#2704) (0d60eaa)
    • Sync publish and build_wheels workflow to fix verify wheel error. (#2871) (b0f050a)
    • Update roadmap with stream feature view rfc (#2824) (fc8f890)
    • Update udf tests and add base functions to streaming fcos and fix some nonetype errors (#2776) (331a214)
    Source code(tar.gz)
    Source code(zip)
  • v0.21.3(Jun 13, 2022)

  • v0.21.2(May 17, 2022)

  • v0.21.1(May 16, 2022)

  • v0.21.0(May 13, 2022)

    0.21.0 (2022-05-13)

    Overview

    This release adds many bug fixes, and also adds several new features:

    • HBase online store (contrib)
    • [Alpha] feast ui command to spin up the Web UI within a feature repository

    There is ongoing work towards:

    • [Alpha] High performance Go feature server (via feast serve with a go feature server enabled)
    • [Alpha] Stream transformations
    • [Alpha] Validating logged feature values (from the Go feature server) with Great Expectations and feast validate

    Features

    • Add hbase online store support in feast (#2590) (c9eda79)
    • Adding SSL options for Postgres (#2644) (0e809c2)
    • Allow Feast UI to be spun up with CLI command: feast ui (#2667) (44ca9f5)
    • Allow to pass secrets and environment variables to transformation service (#2632) (ffa33ad)
    • CLI command 'feast serve' should start go-based server if flag is enabled (#2617) (f3ff812)
    • Create stream and batch feature view abstractions (#2559) (d1f76e5)
    • Postgres supported as Registry, Online store, and Offline store (#2401) (ed2f979)
    • Support entity fields in feature view schema parameter by dropping them (#2568) (c8fcc35)
    • Write logged features to an offline store (Python API) (#2574) (134dc5f)
    • Write logged features to Offline Store (Go - Python integration) (#2621) (ccad832)

    Bug Fixes

    • Addresses ZeroDivisionError when materializing file source with same timestamps (#2551) (1e398d9)
    • Asynchronously refresh registry for the feast ui command (#2672) (1b09ca2)
    • Build platform specific python packages with ci-build-wheel (#2555) (b10a4cf)
    • Delete data sources from registry when using the diffing logic (#2669) (fc00ca8)
    • Enforce kw args featureservice (#2575) (160d7b7)
    • Enforce kw args in datasources (#2567) (0b7ec53)
    • Feature logging to Redshift is broken (#2655) (479cd51)
    • Feature service to templates (#2649) (1e02066)
    • Feature with timestamp type is incorrectly interpreted by Go FS (#2588) (e3d9588)
    • Fix __hash__ methods (#2556) (ebb7dfe)
    • Fix AWS bootstrap template (#2604) (c94a69c)
    • Fix broken proto conversion methods for data sources (#2603) (00ed65a)
    • Fix case where on demand feature view tab is broken if no custom tabs are passed. (#2682) (01d3568)
    • Fix DynamoDB fetches when there are entities that are not found (#2573) (7076fe0)
    • Fix Feast UI parser to work with new APIs (#2668) (8d76751)
    • Fix java server after odfv update (#2602) (0ca6297)
    • Fix materialization with ttl=0 bug (#2666) (ab78702)
    • Fix push sources and add docs / tests pushing via the python feature server (#2561) (e8e418e)
    • Fixed data mapping errors for Snowflake (#2558) (53c2ce2)
    • Forcing ODFV udfs to be main module and fixing false positive duplicate data source warning (#2677) (2ce33cd)
    • Include the ui/build directory, and remove package data (#2681) (0384f5f)
    • Infer features for feature services when they depend on feature views without schemas (#2653) (87c194c)
    • Pin dependencies to nearest major version (#2647) (bb72b7c)
    • Pin pip<22.1 to get around breaking change in pip==22.1 (#2678) (d3e01bc)
    • Punt deprecation warnings and clean up some warnings. (#2670) (f775d2e)
    • Reject undefined features when using get_historical_features or get_online_features (#2665) (36849fb)
    • Remove ci extra from the feature transformation server dockerfile (#2618) (25613b4)
    • Remove incorrect call to logging.basicConfig (#2676) (8cbf51c)
    • Small typo in CLI (#2578) (f372981)
    • Switch from join_key to join_keys in tests and docs (#2580) (d66c931)
    • Teardown trino container correctly after tests (#2562) (72f1558)
    • Update build_go_protos to use a consistent python path (#2550) (f136f8c)
    • Update data source timestamp inference error message to make sense (#2636) (3eaf6b7)
    • Update field api to add tag parameter corresponding to labels in Feature. (#2610) (689d20b)
    • Update java integration tests and add more logging (#2637) (10e23b4)
    • Update on demand feature view api (#2587) (38cd7f9)
    • Update RedisCluster to use redis-py official implementation (#2554) (ce5606f)
    • Use cwd when getting module path (#2577) (b550e59)
    • Use ParquetDataset for Schema Inference (#2686) (4f85e3e)
    • Use timestamp type when converting unixtimestamp feature type to arrow (#2593) (c439611)
    Source code(tar.gz)
    Source code(zip)
  • v0.20.2(Apr 28, 2022)

    0.20.2 (2022-04-28)

    Bug Fixes

    • Feature with timestamp type is incorrectly interpreted by Go FS (#2588) (3ec943a)
    • Fix AWS bootstrap template (#2604) (6df5a49)
    • Fix broken proto conversion methods for data sources (#2603) (c391216)
    • Remove ci extra from the feature transformation server dockerfile (#2618) (a7437fa)
    • Update field api to add tag parameter corresponding to labels in Feature. (#2610) (40962fc)
    • Use timestamp type when converting unixtimestamp feature type to arrow (#2593) (a1c3ee3)
    Source code(tar.gz)
    Source code(zip)
  • v0.20.1(Apr 20, 2022)

    0.20.1 (2022-04-20)

    Bug Fixes

    • Addresses ZeroDivisionError when materializing file source with same timestamps (#2551) (5539c51)
    • Build platform specific python packages with ci-build-wheel (#2555) (1757639)
    • Enforce kw args featureservice (#2575) (4dce254)
    • Enforce kw args in datasources (#2567) (6374634)
    • Fix __hash__ methods (#2556) (dd8b854)
    • Fix DynamoDB fetches when there are entities that are not found (#2573) (882328f)
    • Fix push sources and add docs / tests pushing via the python feature server (#2561) (c5006c2)
    • Fixed data mapping errors for Snowflake (#2558) (abd6be7)
    • Small typo in CLI (#2578) (8717bc8)
    • Switch from join_key to join_keys in tests and docs (#2580) (6130b80)
    • Update build_go_protos to use a consistent python path (#2550) (1c523bf)
    • Update RedisCluster to use redis-py official implementation (#2554) (c47fa2a)
    • Use cwd when getting module path (#2577) (28752f2)
    Source code(tar.gz)
    Source code(zip)
  • v0.20.0(Apr 14, 2022)

    0.20.0 (2022-04-14)

    Highlights

    We are delighted to announce the release of Feast 0.20, which introduces many new features and enhancements:

    • High performance Python feature serving (through embedding Go and optimized DynamoDB batch gets)
    • Many connector improvements and bug fixes (DynamoDB, Snowflake, Spark, Trino)
      • Note: Trino has been officially bundled into Feast. You can now run this with pip install feast[trino]!
    • Graduated alpha features (python feature server + push features)
    • Feast API changes
    • [Experimental] Feast UI as an importable npm module

    Detailed changelog:

    Bug Fixes

    • Add inlined data sources to the top level registry (#2456) (356788a)
    • Add new value types to types.ts for web ui (#2463) (ad5694e)
    • Add PushSource proto and Python class (#2428) (9a4bd63)
    • Add spark to lambda dockerfile (#2480) (514666f)
    • Added private_key auth for Snowflake (#2508) (c42c9b0)
    • Added Redshift and Spark typecheck to data_source event_timestamp_col inference (#2389) (04dea73)
    • Building of go extension fails (#2448) (7d1efd5)
    • Bump the number of versions bumps expected to 27 (#2549) (ecc9938)
    • Create init files for the proto-generated python dirs (#2410) (e17028d)
    • Don't prevent apply from running given duplicate empty names in data sources. Also fix repeated apply of Spark data source. (#2415) (b95f441)
    • Dynamodb deduplicate batch write request by partition keys (#2515) (70d4a13)
    • Ensure that init files exist in proto dirs (#2433) (9b94f7b)
    • Fix DataSource constructor to unbreak custom data sources (#2492) (712653e)
    • Fix default feast apply path without any extras (#2373) (6ba7fc7)
    • Fix definitions.py with new definition (#2541) (eefc34a)
    • Fix entity row to use join key instead of name (#2521) (c22fa2c)
    • Fix Java Master (#2499) (e083458)
    • Fix registry proto (#2435) (ea6a9b2)
    • Fix some inconsistencies in the docs and comments in the code (#2444) (ad008bf)
    • Fix spark docs (#2382) (d4a606a)
    • Fix Spark template to work correctly on feast init -t spark (#2393) (ae133fd)
    • Fix the feature repo fixture used by java tests (#2469) (32e925e)
    • Fix unhashable Snowflake and Redshift sources (cd8f1c9)
    • Fixed bug in passing config file params to snowflake python connector (#2503) (34f2b59)
    • Fixing Spark template to include source name (#2381) (a985f1d)
    • Make name a keyword arg for the Entity class (#2467) (43847de)
    • Making a name for data sources not a breaking change (#2379) (71d7ae2)
    • Minor link fix in CONTRIBUTING.md (#2481) (2917e27)
    • Preserve ordering of features in _get_column_names (#2457) (495b435)
    • Relax click python requirement to >=7 (#2450) (f202f92)
    • Remove date partition column field from datasources that don't s… (#2478) (ce35835)
    • Remove docker step from unit test workflow (#2535) (6f22f22)
    • Remove spark from the AWS Lambda dockerfile (#2498) (6abae16)
    • Request data api update (#2488) (0c9e5b7)
    • Schema update (#2509) (cf7bbc2)
    • Simplify DataSource.from_proto logic (#2424) (6bda4d2)
    • Snowflake api update (#2487) (1181a9e)
    • Support passing batch source to streaming sources for backfills (#2523) (90db1d1)
    • Timestamp update (#2486) (bf23111)
    • Typos in Feast UI error message (#2432) (e14369d)
    • Update feature view APIs to prefer keyword args (#2472) (7c19cf7)
    • Update file api (#2470) (83a11c6)
    • Update Makefile to cd into python dir before running commands (#2437) (ca32155)
    • Update redshift api (#2479) (4fa73a9)
    • Update some fields optional in UI parser (#2380) (cff7ac3)
    • Use a single version of jackson libraries and upgrade to 2.12.6.1 (#2473) (5be1cc6)
    • Use dateutil parser to parse materialization times (#2464) (6c55e49)
    • Use the correct dockerhub image tag when building feature servers (#2372) (0d62c1d)

    Features

    Source code(tar.gz)
    Source code(zip)
  • v0.19.4(Apr 6, 2022)

  • v0.19.3(Mar 9, 2022)

  • v0.19.2(Mar 6, 2022)

  • v0.19.1(Mar 5, 2022)

  • v0.19.0(Mar 5, 2022)

    0.19.0 (2022-03-05)

    Bug Fixes

    • Added additional value types to UI parser and removed references to registry-bq.json (#2361) (d202d51)
    • Fix Redshift bug that stops waiting on statements after 5 minutes (#2363) (74f887f)
    • Method _should_use_plan only returns true for local sqlite provider (#2344) (fdb5f21)
    • Remove redis service to prevent more conflicts and add redis node to master_only (#2354) (993616f)
    • Rollback Redis-py to Redis-py-cluster (#2347) (1ba86fb)
    • Update github workflow to prevent redis from overlapping ports. (#2350) (c2a6c6c)

    Features

    • Add owner field to Entity and rename labels to tags (412d625)
    • Allow all snowflake python connector connection methods to be available to Feast (#2356) (ec7385c)
    • Allowing password based authentication and SSL for Redis in Java feature server (0af8adb)
    • Event timestamps response (#2355) (5481caf)
    • Feast Spark Offline Store (#2349) (98b8d8d)
    • Initial merge of Web UI logic (#2352) (ce3bc59)
    • Key ttl setting for redis online store (#2341) (236a108)
    • Metadata changes & making data sources top level objects to power Feast UI (#2336) (43da230)
    Source code(tar.gz)
    Source code(zip)
  • v0.18.1(Feb 15, 2022)

    Full Changelog: https://github.com/feast-dev/feast/compare/v0.18.0...v0.18.1

    Fixed bugs:

    • ODFVs raise a PerformanceWarning for very large sets of features #2293
    • Don't require snowflake to always be installed #2309 (judahrand)
    • podAnnotations Values in the feature-server chart #2304 (tpvasconcelos)
    • Fixing the Java helm charts and adding a demo tutorial on how to use them #2298 (adchia)
    • avoid using transactions on OSS Redis #2296 (DvirDukhan)
    • Include infra objects in registry dump and fix Infra's from_proto #2295 (adchia)
    • Expose snowflake credentials for unit testing #2288 (sfc-gh-madkins)
    • Fix flaky tests (test_online_store_cleanup & test_feature_get_online_features_types_match) #2276 (pyalex)

    Merged pull requests:

    Source code(tar.gz)
    Source code(zip)
  • v0.18.0(Feb 5, 2022)

    Overview

    Today, we released Feast 0.18, with some major developments:

    • Snowflake offline store support has been merged into the main repo
    • Introduced saved datasets, which allows persisting data frames retrieved from offline stores
    • The first milestone of Data Quality Monitoring project has been implemented. This enables defining expectation suites (using Great Expectations) and running them against training datasets
    • Python feature server graduated from the alpha status
    • A significant performance improvements have been achieved in both Python & Java feature servers

    ✨ New Features:

    🔴 Fixed bugs:

    🔨 Merged pull requests:

    Source code(tar.gz)
    Source code(zip)
Owner
Feast
Feature Store for Machine Learning
Feast
BakTst_Org is a backtesting system for quantitative transactions.

BakTst_Org 中文reademe:传送门 Introduction: BakTst_Org is a prototype of the backtesting system used for BTC quantitative trading. This readme is mainly di

18 May 08, 2021
FxBuzzly - Buzzly.art links do not embed in Discord, this fixes them (rudimentarily)

fxBuzzly Buzzly.art links do not embed in Discord, this fixes them (rudimentaril

Dania Rifki 2 Oct 27, 2022
DataRisk Detection Learning Resources

DataRisk Detection Learning Resources Data security: Based on the "data-centric security system" position, it generally refers to the entire security

Liao Wenzhe 59 Dec 05, 2022
OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python

AutoRest The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API usin

Microsoft Azure 4.1k Jan 06, 2023
This is a repository for "100 days of code challenge" projects. You can reach all projects from beginner to professional which are written in Python.

100 Days of Code It's a challenge that aims to gain code practice and enhance programming knowledge. Day #1 Create a Band Name Generator It's actually

SelenNB 2 May 12, 2022
A powerful Sphinx changelog-generating extension.

What is Releases? Releases is a Python (2.7, 3.4+) compatible Sphinx (1.8+) extension designed to help you keep a source control friendly, merge frien

Jeff Forcier 166 Dec 29, 2022
Always know what to expect from your data.

Great Expectations Always know what to expect from your data. Introduction Great Expectations helps data teams eliminate pipeline debt, through data t

Great Expectations 7.8k Jan 05, 2023
More detailed upload statistics for Nicotine+

More Upload Statistics A small plugin for Nicotine+ 3.1+ to create more detailed upload statistics. ⚠ No data previous to enabling this plugin will be

Nick 1 Dec 17, 2021
AiiDA plugin for the HyperQueue metascheduler.

aiida-hyperqueue WARNING: This plugin is still in heavy development. Expect bugs to pop up and the API to change. AiiDA plugin for the HyperQueue meta

AiiDA team 3 Jun 19, 2022
Tips for Writing a Research Paper using LaTeX

Tips for Writing a Research Paper using LaTeX

Guanying Chen 727 Dec 26, 2022
A collection of simple python mini projects to enhance your python skills

A collection of simple python mini projects to enhance your python skills

PYTHON WORLD 12.1k Jan 05, 2023
A curated list of python programming language blogs

Python Blogs A curated list of python programming language blogs Contribute Companies/Organization # A B C D E F G H I J K L M N O P Q R S T U V W X Y

Rizky D. Onto 48 Nov 15, 2022
Mayan EDMS is a document management system.

Mayan EDMS is a document management system. Its main purpose is to store, introspect, and categorize files, with a strong emphasis on preserving the contextual and business information of documents.

3 Oct 02, 2021
Automatic links from code examples to reference documentation

sphinx-codeautolink Automatic links from Python code examples to reference documentation at the flick of a switch! sphinx-codeautolink analyses the co

Felix Hildén 41 Dec 17, 2022
📚 Papers & tech blogs by companies sharing their work on data science & machine learning in production.

applied-ml Curated papers, articles, and blogs on data science & machine learning in production. ⚙️ Figuring out how to implement your ML project? Lea

Eugene Yan 22.1k Jan 03, 2023
LotteryBuyPredictionWebApp - Lottery Purchase Prediction Model

Lottery Purchase Prediction Model Objective and Goal Predict the lottery type th

Wanxuan Zhang 2 Feb 14, 2022
Convenient tools for using Swagger to define and validate your interfaces in a Pyramid webapp.

Convenient tools for using Swagger to define and validate your interfaces in a Pyramid webapp.

Scott Triglia 64 Sep 18, 2022
📖 Generate markdown API documentation from Google-style Python docstring. The lazy alternative to Sphinx.

lazydocs Generate markdown API documentation for Google-style Python docstring. Getting Started • Features • Documentation • Support • Contribution •

Machine Learning Tooling 118 Dec 31, 2022
graphical orbitational simulation of solar system planets with real values and physics implemented so you get a nice elliptical orbits. you can change timestamp value or scale from source code idc.

solarSystemOrbitalSimulation graphical orbitational simulation of solar system planets with real values and physics implemented so you get a nice elli

Mega 3 Mar 03, 2022
Create docsets for Dash.app-compatible API browser.

doc2dash: Create Docsets for Dash.app and Clones doc2dash is an MIT-licensed extensible Documentation Set generator intended to be used with the Dash.

Hynek Schlawack 498 Dec 30, 2022