-
Notifications
You must be signed in to change notification settings - Fork 1.3k
docs: add blog post on experimental feature view versioning support #6204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
Copilot
wants to merge
5
commits into
master
Choose a base branch
from
copilot/add-blog-post-feature-versioning-support
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
796fa0b
Initial plan
Copilot c5b2d6f
docs: add blog post on experimental feature view versioning support
Copilot 801030b
docs: move feature versioning blog post to infra/website/docs/blog
Copilot 4d211b3
docs: add AGENTS.md and update SKILL.md with blog post placement conv…
Copilot be54f47
docs: sync AGENTS.md with CLAUDE.md content, have CLAUDE.md reference…
Copilot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,153 @@ | ||
| # Feast - Agent Instructions | ||
|
|
||
| This file provides instructions for AI coding agents (GitHub Copilot, Claude Code, OpenAI Codex, etc.) working in this repository. | ||
|
|
||
| ## Project Overview | ||
|
|
||
| Feast is an open source feature store for machine learning that helps ML platform teams manage features consistently for training and serving. | ||
|
|
||
| Feast (Feature Store) is a Python-based project that provides: | ||
| - **Offline Store**: Process historical data for batch scoring or model training | ||
| - **Online Store**: Power real-time predictions with low-latency features | ||
| - **Feature Server**: Serve pre-computed features online | ||
| - **Point-in-time correctness**: Prevent data leakage during model training | ||
| - **Data infrastructure abstraction**: Decouple ML from data infrastructure | ||
|
|
||
| ## Development Commands | ||
|
|
||
| ### Setup | ||
| ```bash | ||
| # Install development dependencies | ||
| make install-python-dependencies-dev | ||
|
|
||
| # Install minimal dependencies | ||
| make install-python-dependencies-minimal | ||
| ``` | ||
|
|
||
| ### Code Quality | ||
| ```bash | ||
| # Format Python code | ||
| make format-python | ||
|
|
||
| # Lint Python code | ||
| make lint-python | ||
|
|
||
| # Type check | ||
| cd sdk/python && python -m mypy feast | ||
| ``` | ||
|
|
||
| ### Testing | ||
| ```bash | ||
| # Run unit tests | ||
| make test-python-unit | ||
|
|
||
| # Run integration tests (local) | ||
| make test-python-integration-local | ||
|
|
||
| # Run integration tests (CI) | ||
| make test-python-integration | ||
|
|
||
| # Run all Python tests | ||
| make test-python-universal | ||
| ``` | ||
|
|
||
| ### Protobuf Compilation | ||
| ```bash | ||
| # Compile Python protobuf files | ||
| make compile-protos-python | ||
|
|
||
| # Compile all protos | ||
| make protos | ||
| ``` | ||
|
|
||
| ### Go Development | ||
| ```bash | ||
| # Build Go code | ||
| make build-go | ||
|
|
||
| # Test Go code | ||
| make test-go | ||
|
|
||
| # Format Go code | ||
| make format-go | ||
|
|
||
| # Lint Go code | ||
| make lint-go | ||
| ``` | ||
|
|
||
| ### Docker | ||
| ```bash | ||
| # Build all Docker images | ||
| make build-docker | ||
|
|
||
| # Build feature server Docker image | ||
| make build-feature-server-docker | ||
| ``` | ||
|
|
||
| ### Documentation | ||
| ```bash | ||
| # Build Sphinx documentation | ||
| make build-sphinx | ||
|
|
||
| # Build templates | ||
| make build-templates | ||
|
|
||
| # Build Helm docs | ||
| make build-helm-docs | ||
| ``` | ||
|
|
||
| ## Project Structure | ||
|
|
||
| ``` | ||
| feast/ | ||
| ├── sdk/python/ # Python SDK and core implementation | ||
| ├── go/ # Go implementation | ||
| ├── ui/ # Web UI | ||
| ├── docs/ # Documentation | ||
| ├── examples/ # Example projects | ||
| ├── infra/ # Infrastructure and deployment | ||
| │ ├── charts/ # Helm charts | ||
| │ └── feast-operator/ # Kubernetes operator | ||
| └── protos/ # Protocol buffer definitions | ||
| ``` | ||
|
|
||
| ## Key Technologies | ||
|
|
||
| - **Languages**: Python (primary), Go | ||
| - **Dependencies**: pandas, pyarrow, SQLAlchemy, FastAPI, protobuf | ||
| - **Data Sources**: BigQuery, Snowflake, Redshift, Parquet, Postgres, Spark | ||
| - **Online Stores**: Redis, DynamoDB, Bigtable, Snowflake, SQLite, Postgres | ||
| - **Offline Stores**: BigQuery, Snowflake, Redshift, Spark, Dask, DuckDB | ||
| - **Cloud Providers**: AWS, GCP, Azure | ||
|
|
||
| ## Common Development Tasks | ||
|
|
||
| ### Running Tests | ||
| The project uses pytest for Python testing with extensive integration test suites for different data sources and stores. | ||
|
|
||
| ### Code Style | ||
| - Use type hints on all Python function signatures | ||
| - Follow existing patterns in the module you are modifying | ||
| - PR titles must follow semantic conventions: `feat:`, `fix:`, `ci:`, `chore:`, `docs:` | ||
| - Sign off commits with `git commit -s` (DCO requirement) | ||
| - Uses `ruff` for Python linting and formatting | ||
| - Go uses standard `gofmt` | ||
|
|
||
| ### Protobuf Development | ||
| Protocol buffers are used for data serialization and gRPC APIs. Recompile protos after making changes to `.proto` files. | ||
|
|
||
| ### Multi-language Support | ||
| Feast supports Python and Go SDKs. Changes to core functionality may require updates across both languages. | ||
|
|
||
| ## Documentation and Blog Posts | ||
|
|
||
| - **Blog posts must be placed in `/infra/website/docs/blog/`** — do NOT create blog posts under `docs/blog/` or any other location. | ||
| - Blog post files must include YAML frontmatter with `title`, `description`, `date`, and `authors` fields, following the format of existing posts in that directory. | ||
| - All other reference documentation goes under `docs/`. | ||
|
|
||
| ## Contributing | ||
|
|
||
| 1. Follow the [contribution guide](docs/project/contributing.md) | ||
| 2. Set up your development environment | ||
| 3. Run relevant tests before submitting PRs | ||
| 4. Ensure code passes linting and type checking | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,141 +1 @@ | ||
| # Feast - Feature Store for Machine Learning | ||
|
|
||
| Feast is an open source feature store for machine learning that helps ML platform teams manage features consistently for training and serving. | ||
|
|
||
| ## Project Overview | ||
|
|
||
| Feast (Feature Store) is a Python-based project that provides: | ||
| - **Offline Store**: Process historical data for batch scoring or model training | ||
| - **Online Store**: Power real-time predictions with low-latency features | ||
| - **Feature Server**: Serve pre-computed features online | ||
| - **Point-in-time correctness**: Prevent data leakage during model training | ||
| - **Data infrastructure abstraction**: Decouple ML from data infrastructure | ||
|
|
||
| ## Development Commands | ||
|
|
||
| ### Setup | ||
| ```bash | ||
| # Install development dependencies | ||
| make install-python-dependencies-dev | ||
|
|
||
| # Install minimal dependencies | ||
| make install-python-dependencies-minimal | ||
| ``` | ||
|
|
||
| ### Code Quality | ||
| ```bash | ||
| # Format Python code | ||
| make format-python | ||
|
|
||
| # Lint Python code | ||
| make lint-python | ||
|
|
||
| # Type check | ||
| cd sdk/python && python -m mypy feast | ||
| ``` | ||
|
|
||
| ### Testing | ||
| ```bash | ||
| # Run unit tests | ||
| make test-python-unit | ||
|
|
||
| # Run integration tests (local) | ||
| make test-python-integration-local | ||
|
|
||
| # Run integration tests (CI) | ||
| make test-python-integration | ||
|
|
||
| # Run all Python tests | ||
| make test-python-universal | ||
| ``` | ||
|
|
||
| ### Protobuf Compilation | ||
| ```bash | ||
| # Compile Python protobuf files | ||
| make compile-protos-python | ||
|
|
||
| # Compile all protos | ||
| make protos | ||
| ``` | ||
|
|
||
| ### Go Development | ||
| ```bash | ||
| # Build Go code | ||
| make build-go | ||
|
|
||
| # Test Go code | ||
| make test-go | ||
|
|
||
| # Format Go code | ||
| make format-go | ||
|
|
||
| # Lint Go code | ||
| make lint-go | ||
| ``` | ||
|
|
||
| ### Docker | ||
| ```bash | ||
| # Build all Docker images | ||
| make build-docker | ||
|
|
||
| # Build feature server Docker image | ||
| make build-feature-server-docker | ||
| ``` | ||
|
|
||
| ### Documentation | ||
| ```bash | ||
| # Build Sphinx documentation | ||
| make build-sphinx | ||
|
|
||
| # Build templates | ||
| make build-templates | ||
|
|
||
| # Build Helm docs | ||
| make build-helm-docs | ||
| ``` | ||
|
|
||
| ## Project Structure | ||
|
|
||
| ``` | ||
| feast/ | ||
| ├── sdk/python/ # Python SDK and core implementation | ||
| ├── go/ # Go implementation | ||
| ├── ui/ # Web UI | ||
| ├── docs/ # Documentation | ||
| ├── examples/ # Example projects | ||
| ├── infra/ # Infrastructure and deployment | ||
| │ ├── charts/ # Helm charts | ||
| │ └── feast-operator/ # Kubernetes operator | ||
| └── protos/ # Protocol buffer definitions | ||
| ``` | ||
|
|
||
| ## Key Technologies | ||
|
|
||
| - **Languages**: Python (primary), Go | ||
| - **Dependencies**: pandas, pyarrow, SQLAlchemy, FastAPI, protobuf | ||
| - **Data Sources**: BigQuery, Snowflake, Redshift, Parquet, Postgres, Spark | ||
| - **Online Stores**: Redis, DynamoDB, Bigtable, Snowflake, SQLite, Postgres | ||
| - **Offline Stores**: BigQuery, Snowflake, Redshift, Spark, Dask, DuckDB | ||
| - **Cloud Providers**: AWS, GCP, Azure | ||
|
|
||
| ## Common Development Tasks | ||
|
|
||
| ### Running Tests | ||
| The project uses pytest for Python testing with extensive integration test suites for different data sources and stores. | ||
|
|
||
| ### Code Style | ||
| - Uses `ruff` for Python linting and formatting | ||
| - Go uses standard `gofmt` | ||
|
|
||
| ### Protobuf Development | ||
| Protocol buffers are used for data serialization and gRPC APIs. Recompile protos after making changes to `.proto` files. | ||
|
|
||
| ### Multi-language Support | ||
| Feast supports Python and Go SDKs. Changes to core functionality may require updates across both languages. | ||
|
|
||
| ## Contributing | ||
|
|
||
| 1. Follow the [contribution guide](docs/project/contributing.md) | ||
| 2. Set up your development environment | ||
| 3. Run relevant tests before submitting PRs | ||
| 4. Ensure code passes linting and type checking | ||
| @AGENTS.md |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot can you sync this with what's in
CLAUDE.md.CLAUDE.md can point to
AGENTS.mdby just using:@AGENTS.mdin the file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done —
AGENTS.mdnow contains the full content synced fromCLAUDE.md(dev commands, project structure, code style, contributing guide, plus the blog post placement convention).CLAUDE.mdhas been updated to just@AGENTS.md. Commit:be54f47.