Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions community/ADOPTERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ yourself into the following list by a pull request. Please keep the list in
alphabetical order.

| Organization | Contact | GitHub Username |
|-----------------|------------------------|----------------------|
|-----------------|------------------------|----------------------|
| Affirm | Francisco Javier Arceo | franciscojavierarceo |
| Bank of Georgia | Tornike Gurgenidze | tokoko |
| Get Ground | Zhiling Chen | zhilingc |
| Bank of Georgia | Tornike Gurgenidze | tokoko |
| Get Ground | Zhiling Chen | zhilingc |
| Gojek | Pradithya Aria Pura | pradithya |
| Picnic | Tom Steenbergen | TomSteenbergen |
| Twitter | David Liu | mavysavydav |
| SeatGeek | Rob Howley | robhowley |
| Shopify | Matt Delacour | MattDelac |
| Snowflake | Miles Adkins | sfc-gh-madkins |
| Snowflake | Miles Adkins | sfc-gh-madkins |
28 changes: 14 additions & 14 deletions community/governance.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Feast is an open-source feature store for machine learning that allows teams to

The Feast project aims for open and transparent governance and decision-making, thus encouraging community building and contribution.

A formal governance structure helps us to
A formal governance structure helps us to

* Provide a structure for individuals to become involved in the project.
* Communicate all processes for members to operate within the project.
Expand All @@ -41,7 +41,7 @@ A formal governance structure helps us to
# Feast community overview

On a high level, the key moving parts of the community are:
- **GitHub activity** (issues + pull requests)
- **GitHub activity** (issues + pull requests)
- **RFCs** ([drive folder](https://drive.google.com/drive/u/0/folders/1msUsgmDbVBaysmhBlg9lklYLLTMk4bC3)) for detailed discussions
- **Maintainer syncs** (monthly) for [maintainers](maintainers.md) to discuss project direction and health

Expand All @@ -51,11 +51,11 @@ We dive more deeply into the governance model below.

# Feast governance model overview

Feast is a meritocratic, consensus-based community project.
Feast is a meritocratic, consensus-based community project.

Anyone interested in the project can join the community to:
- contribute to the project design
- participate in the decision-making process.
- participate in the decision-making process.

> **Note**: There may not always a corresponding CODEOWNER for the affected code, in which case the responsibility falls on other maintainers or contributors with write access to review + merge the PR

Expand Down Expand Up @@ -88,7 +88,7 @@ In addition to their actions as users, contributors may also find themselves doi
* Writing, editing, translating or reviewing the documentation
* Organizing events or evangelizing the project

Contributors engage with the project through the issue tracker or by writing or editing documentation. They submit changes to the project itself via Pull Requests (PRs), which will be considered for inclusion in the project by existing maintainers (see next section).
Contributors engage with the project through the issue tracker or by writing or editing documentation. They submit changes to the project itself via Pull Requests (PRs), which will be considered for inclusion in the project by existing maintainers (see next section).

Contributors should follow the following guides when creating PRs:
- [Contribution Process](https://docs.feast.dev/project/contributing)
Expand All @@ -98,15 +98,15 @@ As contributors gain experience and familiarity with the project, their profile

## CODEOWNERS

On top of maintainers who will be in the CODEOWNERS file, other contributors can also be added as a lower commitment way to contribute by reviewing / responding to PRs.
On top of maintainers who will be in the CODEOWNERS file, other contributors can also be added as a lower commitment way to contribute by reviewing / responding to PRs.

CODEOWNERS will generally be the first point of contacts in reviewing pull requests and will have commit privileges.

## Maintainers (project + area)

Maintainers are community members who have shown that they are committed to Feast’s continued development through ongoing engagement with the community. Because of this, maintainers have the right to merge PRs and have voting rights.

> **Note**: maintainers, like other contributors, must make changes to Feast via pull requests (with code review). This applies to all changes to documentation, code, configuration, governance, etc.
> **Note**: maintainers, like other contributors, must make changes to Feast via pull requests (with code review). This applies to all changes to documentation, code, configuration, governance, etc.

Maintainers control overall project organization and resolving disputes. They also
- Attend a regular maintainers sync
Expand All @@ -117,7 +117,7 @@ Maintainers control overall project organization and resolving disputes. They al
### Optional maintainer responsibilities
Other optional activites a maintainer (project or area maintainer) may participate in:
* Perform code reviews for other maintainers and the community. The areas of specialization listed in [OWNERS.md](OWNERS.md) can be used to help with routing an issue/question to the right person.
* Triage GitHub issues, applying [labels]([https://github.com/feast-dev/feast/labels](https://github.com/feast-dev/feast/labels)) to each new item. Labels are extremely useful for future issue follow ups. Adding labels is somewhat subjective, so please use your best judgment.
* Triage GitHub issues, applying [labels]([https://github.com/feast-dev/feast/labels](https://github.com/feast-dev/feast/labels)) to each new item. Labels are extremely useful for future issue follow ups. Adding labels is somewhat subjective, so please use your best judgment.
* Triage build issues, filing issues for known flaky builds or bugs, fixing or finding someone to fix any master build breakages.
* Make sure that ongoing PRs are moving forward at the right pace or closing them.

Expand All @@ -133,20 +133,20 @@ The nominee is entitled to request an explanation of any ‘no’ votes against

Nominees may decline their appointment as a maintainer. Becoming a maintainer means that they will be spending a substantial time working on Feast for the foreseeable future. It is essential to recognize that being a maintainer is a privilege, not a right. That privilege must be earned, and once earned, the rest of the maintainers can remove it in extreme circumstances.

Lazy consensus does not apply to becoming a maintainer. A vote must be held. Voting takes place through the [maintainer mailing list](https://groups.google.com/g/feast-maintainers). A vote must stay open for at least 7 days.
Lazy consensus does not apply to becoming a maintainer. A vote must be held. Voting takes place through the [maintainer mailing list](https://groups.google.com/g/feast-maintainers). A vote must stay open for at least 7 days.

### Earning a Nomination

There is not a single path of earning a nomination for maintainer at Feast, however, we can give some guidance about some actions that would help:

* Start by expressing interest to the maintainers that you are interested in becoming a maintainer.
* Start by expressing interest to the maintainers that you are interested in becoming a maintainer.
* You can start tackling issues labeled as ‘help wanted’, or if you are new to the project, some of the ‘good first issue’ tickets.
* As you gain experience with the codebase and our standards, we will ask you to do code reviews for incoming PRs (i.e., all maintainers are expected to shoulder a proportional share of community reviews).
* We will expect you to start contributing increasingly complicated PRs, under the guidance of the existing maintainers.

## Losing Maintainer Status

If a maintainer is no longer interested and cannot perform the maintainer duties listed above, they can volunteer to be moved to emeritus status. The maintainer status is attributed for life otherwise. An emeritus maintainer may request reinstatement of commit access from the rest of maintainers. Such reinstatement is subject to lazy consensus approval of active maintainers.
If a maintainer is no longer interested and cannot perform the maintainer duties listed above, they can volunteer to be moved to emeritus status. The maintainer status is attributed for life otherwise. An emeritus maintainer may request reinstatement of commit access from the rest of maintainers. Such reinstatement is subject to lazy consensus approval of active maintainers.

Emeritus status is a nominal title, and confers no special rights (like voting) or access. Emeritus members are functionally identical to normal contributors, with the exception that they can request for reinstatement of their commit access.

Expand Down Expand Up @@ -179,12 +179,12 @@ For lazy consensus to be effective, it is necessary to allow at least 48 hours b

## Voting

Not all decisions can be made using lazy consensus. Issues such as those affecting the strategic direction or legal standing of the project must gain explicit approval in the form of a vote. Every member of the community is encouraged to express their opinions in all discussions and all votes. However, only project maintainers have binding votes for the purposes of decision making.
Not all decisions can be made using lazy consensus. Issues such as those affecting the strategic direction or legal standing of the project must gain explicit approval in the form of a vote. Every member of the community is encouraged to express their opinions in all discussions and all votes. However, only project maintainers have binding votes for the purposes of decision making.


## Changes to Governance

We believe governance needs to adapt in order to be effective long term. This governance document itself can be extended or modified as our community and project grows and our needs change.
We believe governance needs to adapt in order to be effective long term. This governance document itself can be extended or modified as our community and project grows and our needs change.

A change in our governance structure should be a rare occurrence and should face sufficient scrutiny and review. To this end, the rules that apply to modifications to the Feast Governance structure are more stringent:

Expand Down Expand Up @@ -239,7 +239,7 @@ Some changes do not require an RFC:

If you submit a pull request to implement a new feature without going through the RFC process, it may be closed with a polite request to submit an RFC first. That said, if most of the work is done, we'd accelerate the process.

We will keep our RFC documents in a separate repo on the feast-dev organization, where a detailed step by step process will be documented.
We will keep our RFC documents in a separate repo on the feast-dev organization, where a detailed step by step process will be documented.


# Resources
Expand Down
26 changes: 13 additions & 13 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

## What is Feast?

Feast (**Fea**ture **St**ore) is an [open-source](https://github.com/feast-dev/feast) feature store that helps teams
operate production ML systems at scale by allowing them to define, manage, validate, and serve features for production
AI/ML.
Feast (**Fea**ture **St**ore) is an [open-source](https://github.com/feast-dev/feast) feature store that helps teams
operate production ML systems at scale by allowing them to define, manage, validate, and serve features for production
AI/ML.

Feast's feature store is composed of two foundational components: (1) an [offline store](getting-started/components/offline-store.md)
for historical feature extraction used in model training and (2) an [online store](getting-started/components/online-store.md)
Feast's feature store is composed of two foundational components: (1) an [offline store](getting-started/components/offline-store.md)
for historical feature extraction used in model training and (2) an [online store](getting-started/components/online-store.md)
for serving features at low-latency in production systems and applications.

Feast is a configurable operational data system that re-uses existing infrastructure to manage and serve machine learning
Feast is a configurable operational data system that re-uses existing infrastructure to manage and serve machine learning
features to real-time models. For more details, please review our [architecture](getting-started/architecture/overview.md).

Concretely, Feast provides:
Expand All @@ -34,9 +34,9 @@ Feast allows ML platform teams to:
![](assets/feast_marchitecture.png)

{% hint style="info" %}
**Note:** Feast uses a push model for online serving. This means that the feature store pushes feature values to the
online store, which reduces the latency of feature retrieval. This is more efficient than a pull model, where the model
serving system must make a request to the feature store to retrieve feature values. See
**Note:** Feast uses a push model for online serving. This means that the feature store pushes feature values to the
online store, which reduces the latency of feature retrieval. This is more efficient than a pull model, where the model
serving system must make a request to the feature store to retrieve feature values. See
[this document](getting-started/architecture/push-vs-pull-model.md) for a more detailed discussion.
{% endhint %}

Expand All @@ -45,9 +45,9 @@ serving system must make a request to the feature store to retrieve feature valu
Feast helps ML platform/MLOps teams with DevOps experience productionize real-time models. Feast also helps these teams build a feature platform that improves collaboration between data engineers, software engineers, machine learning engineers, and data scientists.

* *For Data Scientists*: Feast is a tool where you can easily define, store, and retrieve your features for both model development and model deployment. By using Feast, you can focus on what you do best: build features that power your AI/ML models and maximize the value of your data.
   

* *For MLOps Engineers*: Feast is a library that allows you to connect your existing infrastructure (e.g., online database, application server, microservice, analytical database, and orchestration tooling) that enables your Data Scientists to ship features for their models to production using a friendly SDK without having to be concerned with software engineering challenges that occur from serving real-time production systems. By using Feast, you can focus on maintaining a resilient system, instead of implementing features for Data Scientists.
   

* *For Data Engineers*: Feast provides a centralized catalog for storing feature definitions, allowing one to maintain a single source of truth for feature data. It provides the abstraction for reading and writing to many different types of offline and online data stores. Using either the provided Python SDK or the feature server service, users can write data to the online and/or offline stores and then read that data out again in either low-latency online scenarios for model inference, or in batch scenarios for model training.

* *For AI Engineers*: Feast provides a platform designed to scale your AI applications by enabling seamless integration of richer data and facilitating fine-tuning. With Feast, you can optimize the performance of your AI models while ensuring a scalable and efficient data pipeline.
Expand All @@ -68,9 +68,9 @@ Feast helps ML platform/MLOps teams with DevOps experience productionize real-ti

### Feast does not _fully_ solve
* **reproducible model training / model backtesting / experiment management**: Feast captures feature and model metadata, but does not version-control datasets / labels or manage train / test splits. Other tools like [DVC](https://dvc.org/), [MLflow](https://www.mlflow.org/), and [Kubeflow](https://www.kubeflow.org/) are better suited for this.
* **batch feature engineering**: Feast supports on-demand and streaming transformations. Feast is also investing in supporting batch transformations.
* **batch feature engineering**: Feast supports on-demand and streaming transformations. Feast is also investing in supporting batch transformations.
* **native streaming feature integration:** Feast enables users to push streaming features, but does not pull from streaming sources or manage streaming pipelines.
* **lineage:** Feast helps tie feature values to model versions, but is not a complete solution for capturing end-to-end lineage from raw data sources to model versions. Feast also has community contributed plugins with [DataHub](https://datahubproject.io/docs/generated/ingestion/sources/feast/) and [Amundsen](https://github.com/amundsen-io/amundsen/blob/4a9d60176767c4d68d1cad5b093320ea22e26a49/databuilder/databuilder/extractor/feast\_extractor.py).
* **lineage:** Feast helps tie feature values to model versions, but is not a complete solution for capturing end-to-end lineage from raw data sources to model versions. Feast also has community contributed plugins with [DataHub](https://datahubproject.io/docs/generated/ingestion/sources/feast/) and [Amundsen](https://github.com/amundsen-io/amundsen/blob/4a9d60176767c4d68d1cad5b093320ea22e26a49/databuilder/databuilder/extractor/feast\_extractor.py).
* **data quality / drift detection**: Feast now includes built-in [Feature Quality Monitoring](how-to-guides/feature-monitoring.md) that computes statistical metrics (null rates, distributions, percentiles), detects drift across batch data and serving logs, and provides a monitoring UI dashboard. The older Great Expectations integration is deprecated.

## Example use cases
Expand Down
6 changes: 3 additions & 3 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,8 @@
* [Remote](reference/online-stores/remote.md)
* [PostgreSQL](reference/online-stores/postgres.md)
* [HBase](reference/online-stores/hbase.md)
* [Cassandra + Astra DB](reference/online-stores/cassandra.md)
* [Couchbase](reference/online-stores/couchbase.md)
* [Cassandra + Astra DB](reference/online-stores/cassandra.md)
* [Couchbase](reference/online-stores/couchbase.md)
* [MySQL](reference/online-stores/mysql.md)
* [Hazelcast](reference/online-stores/hazelcast.md)
* [ScyllaDB](reference/online-stores/scylladb.md)
Expand All @@ -184,7 +184,7 @@
* [Google Cloud Platform](reference/providers/google-cloud-platform.md)
* [Amazon Web Services](reference/providers/amazon-web-services.md)
* [Azure](reference/providers/azure.md)
* [Compute Engines](reference/compute-engine/README.md)
* [Compute Engines](reference/compute-engine/README.md)
* [Snowflake](reference/compute-engine/snowflake.md)
* [AWS Lambda (alpha)](reference/compute-engine/lambda.md)
* [Spark (contrib)](reference/compute-engine/spark.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/adr/ADR-0011-data-quality-monitoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ The GE-based integration may be removed in a future release.

## References

- Original RFC: Feast RFC-027: Data Quality Monitoring
- Original RFC: Feast RFC-027: Data Quality Monitoring
- Implementation: `sdk/python/feast/dqm/`, `sdk/python/feast/saved_dataset.py`
- Documentation: [Data Quality Monitoring (deprecated)](../reference/dqm.md)
- **New system:** [Feature Quality Monitoring](../how-to-guides/feature-monitoring.md)
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Currently, these transformations are executed locally. Future milestones include
First, we define the transformations:

```python
# Define a request data source which encodes features / information only
# Define a request data source which encodes features / information only
# available at request time (e.g. part of the user initiated HTTP request)
input_request = RequestDataSource(
name="vals_to_add",
Expand Down