Skip to content

Commit a623674

Browse files
docs: Add blog post on experimental feature view versioning support (#6204)
* docs: add blog post on experimental feature view versioning support Agent-Logs-Url: https://github.com/feast-dev/feast/sessions/73d0759c-d919-4a07-92ca-7069692b1346 Co-authored-by: franciscojavierarceo <4163062+franciscojavierarceo@users.noreply.github.com> * docs: move feature versioning blog post to infra/website/docs/blog Agent-Logs-Url: https://github.com/feast-dev/feast/sessions/24228f94-b79f-4524-947a-8f60ad66a4de Co-authored-by: franciscojavierarceo <4163062+franciscojavierarceo@users.noreply.github.com> * docs: add AGENTS.md and update SKILL.md with blog post placement convention Agent-Logs-Url: https://github.com/feast-dev/feast/sessions/7e15980c-1caa-4596-acef-3a743989658a Co-authored-by: franciscojavierarceo <4163062+franciscojavierarceo@users.noreply.github.com> * docs: sync AGENTS.md with CLAUDE.md content, have CLAUDE.md reference AGENTS.md Agent-Logs-Url: https://github.com/feast-dev/feast/sessions/9d605bcf-3852-43a5-8f05-6ddbae924640 Co-authored-by: franciscojavierarceo <4163062+franciscojavierarceo@users.noreply.github.com> * docs: expand blog post with production use cases, PIT correctness rationale, and client contract details Agent-Logs-Url: https://github.com/feast-dev/feast/sessions/4c985134-3d4e-4575-bb88-a24113fe07ce Co-authored-by: franciscojavierarceo <4163062+franciscojavierarceo@users.noreply.github.com> * Add files via upload * docs: add hero image to feature-view-versioning blog post Agent-Logs-Url: https://github.com/feast-dev/feast/sessions/dc0064ff-6bb7-42a6-b537-01ee73ee1d6b Co-authored-by: franciscojavierarceo <4163062+franciscojavierarceo@users.noreply.github.com> * docs: add link to original issue #2728 in feature-view-versioning blog post Agent-Logs-Url: https://github.com/feast-dev/feast/sessions/2064238b-c5be-49b7-813e-6dae7dac4547 Co-authored-by: franciscojavierarceo <4163062+franciscojavierarceo@users.noreply.github.com> * Apply suggestion from @franciscojavierarceo * Apply suggestion from @franciscojavierarceo --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: franciscojavierarceo <4163062+franciscojavierarceo@users.noreply.github.com> Co-authored-by: Francisco Javier Arceo <farceo@redhat.com> Co-authored-by: Francisco Javier Arceo <arceofrancisco@gmail.com>
1 parent 5d6e311 commit a623674

File tree

5 files changed

+404
-141
lines changed

5 files changed

+404
-141
lines changed

AGENTS.md

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
# Feast - Agent Instructions
2+
3+
This file provides instructions for AI coding agents (GitHub Copilot, Claude Code, OpenAI Codex, etc.) working in this repository.
4+
5+
## Project Overview
6+
7+
Feast is an open source feature store for machine learning that helps ML platform teams manage features consistently for training and serving.
8+
9+
Feast (Feature Store) is a Python-based project that provides:
10+
- **Offline Store**: Process historical data for batch scoring or model training
11+
- **Online Store**: Power real-time predictions with low-latency features
12+
- **Feature Server**: Serve pre-computed features online
13+
- **Point-in-time correctness**: Prevent data leakage during model training
14+
- **Data infrastructure abstraction**: Decouple ML from data infrastructure
15+
16+
## Development Commands
17+
18+
### Setup
19+
```bash
20+
# Install development dependencies
21+
make install-python-dependencies-dev
22+
23+
# Install minimal dependencies
24+
make install-python-dependencies-minimal
25+
```
26+
27+
### Code Quality
28+
```bash
29+
# Format Python code
30+
make format-python
31+
32+
# Lint Python code
33+
make lint-python
34+
35+
# Type check
36+
cd sdk/python && python -m mypy feast
37+
```
38+
39+
### Testing
40+
```bash
41+
# Run unit tests
42+
make test-python-unit
43+
44+
# Run integration tests (local)
45+
make test-python-integration-local
46+
47+
# Run integration tests (CI)
48+
make test-python-integration
49+
50+
# Run all Python tests
51+
make test-python-universal
52+
```
53+
54+
### Protobuf Compilation
55+
```bash
56+
# Compile Python protobuf files
57+
make compile-protos-python
58+
59+
# Compile all protos
60+
make protos
61+
```
62+
63+
### Go Development
64+
```bash
65+
# Build Go code
66+
make build-go
67+
68+
# Test Go code
69+
make test-go
70+
71+
# Format Go code
72+
make format-go
73+
74+
# Lint Go code
75+
make lint-go
76+
```
77+
78+
### Docker
79+
```bash
80+
# Build all Docker images
81+
make build-docker
82+
83+
# Build feature server Docker image
84+
make build-feature-server-docker
85+
```
86+
87+
### Documentation
88+
```bash
89+
# Build Sphinx documentation
90+
make build-sphinx
91+
92+
# Build templates
93+
make build-templates
94+
95+
# Build Helm docs
96+
make build-helm-docs
97+
```
98+
99+
## Project Structure
100+
101+
```
102+
feast/
103+
├── sdk/python/ # Python SDK and core implementation
104+
├── go/ # Go implementation
105+
├── ui/ # Web UI
106+
├── docs/ # Documentation
107+
├── examples/ # Example projects
108+
├── infra/ # Infrastructure and deployment
109+
│ ├── charts/ # Helm charts
110+
│ └── feast-operator/ # Kubernetes operator
111+
└── protos/ # Protocol buffer definitions
112+
```
113+
114+
## Key Technologies
115+
116+
- **Languages**: Python (primary), Go
117+
- **Dependencies**: pandas, pyarrow, SQLAlchemy, FastAPI, protobuf
118+
- **Data Sources**: BigQuery, Snowflake, Redshift, Parquet, Postgres, Spark
119+
- **Online Stores**: Redis, DynamoDB, Bigtable, Snowflake, SQLite, Postgres
120+
- **Offline Stores**: BigQuery, Snowflake, Redshift, Spark, Dask, DuckDB
121+
- **Cloud Providers**: AWS, GCP, Azure
122+
123+
## Common Development Tasks
124+
125+
### Running Tests
126+
The project uses pytest for Python testing with extensive integration test suites for different data sources and stores.
127+
128+
### Code Style
129+
- Use type hints on all Python function signatures
130+
- Follow existing patterns in the module you are modifying
131+
- PR titles must follow semantic conventions: `feat:`, `fix:`, `ci:`, `chore:`, `docs:`
132+
- Sign off commits with `git commit -s` (DCO requirement)
133+
- Uses `ruff` for Python linting and formatting
134+
- Go uses standard `gofmt`
135+
136+
### Protobuf Development
137+
Protocol buffers are used for data serialization and gRPC APIs. Recompile protos after making changes to `.proto` files.
138+
139+
### Multi-language Support
140+
Feast supports Python and Go SDKs. Changes to core functionality may require updates across both languages.
141+
142+
## Documentation and Blog Posts
143+
144+
- **Blog posts must be placed in `/infra/website/docs/blog/`** — do NOT create blog posts under `docs/blog/` or any other location.
145+
- Blog post files must include YAML frontmatter with `title`, `description`, `date`, and `authors` fields, following the format of existing posts in that directory.
146+
- All other reference documentation goes under `docs/`.
147+
148+
## Contributing
149+
150+
1. Follow the [contribution guide](docs/project/contributing.md)
151+
2. Set up your development environment
152+
3. Run relevant tests before submitting PRs
153+
4. Ensure code passes linting and type checking

CLAUDE.md

Lines changed: 1 addition & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -1,141 +1 @@
1-
# Feast - Feature Store for Machine Learning
2-
3-
Feast is an open source feature store for machine learning that helps ML platform teams manage features consistently for training and serving.
4-
5-
## Project Overview
6-
7-
Feast (Feature Store) is a Python-based project that provides:
8-
- **Offline Store**: Process historical data for batch scoring or model training
9-
- **Online Store**: Power real-time predictions with low-latency features
10-
- **Feature Server**: Serve pre-computed features online
11-
- **Point-in-time correctness**: Prevent data leakage during model training
12-
- **Data infrastructure abstraction**: Decouple ML from data infrastructure
13-
14-
## Development Commands
15-
16-
### Setup
17-
```bash
18-
# Install development dependencies
19-
make install-python-dependencies-dev
20-
21-
# Install minimal dependencies
22-
make install-python-dependencies-minimal
23-
```
24-
25-
### Code Quality
26-
```bash
27-
# Format Python code
28-
make format-python
29-
30-
# Lint Python code
31-
make lint-python
32-
33-
# Type check
34-
cd sdk/python && python -m mypy feast
35-
```
36-
37-
### Testing
38-
```bash
39-
# Run unit tests
40-
make test-python-unit
41-
42-
# Run integration tests (local)
43-
make test-python-integration-local
44-
45-
# Run integration tests (CI)
46-
make test-python-integration
47-
48-
# Run all Python tests
49-
make test-python-universal
50-
```
51-
52-
### Protobuf Compilation
53-
```bash
54-
# Compile Python protobuf files
55-
make compile-protos-python
56-
57-
# Compile all protos
58-
make protos
59-
```
60-
61-
### Go Development
62-
```bash
63-
# Build Go code
64-
make build-go
65-
66-
# Test Go code
67-
make test-go
68-
69-
# Format Go code
70-
make format-go
71-
72-
# Lint Go code
73-
make lint-go
74-
```
75-
76-
### Docker
77-
```bash
78-
# Build all Docker images
79-
make build-docker
80-
81-
# Build feature server Docker image
82-
make build-feature-server-docker
83-
```
84-
85-
### Documentation
86-
```bash
87-
# Build Sphinx documentation
88-
make build-sphinx
89-
90-
# Build templates
91-
make build-templates
92-
93-
# Build Helm docs
94-
make build-helm-docs
95-
```
96-
97-
## Project Structure
98-
99-
```
100-
feast/
101-
├── sdk/python/ # Python SDK and core implementation
102-
├── go/ # Go implementation
103-
├── ui/ # Web UI
104-
├── docs/ # Documentation
105-
├── examples/ # Example projects
106-
├── infra/ # Infrastructure and deployment
107-
│ ├── charts/ # Helm charts
108-
│ └── feast-operator/ # Kubernetes operator
109-
└── protos/ # Protocol buffer definitions
110-
```
111-
112-
## Key Technologies
113-
114-
- **Languages**: Python (primary), Go
115-
- **Dependencies**: pandas, pyarrow, SQLAlchemy, FastAPI, protobuf
116-
- **Data Sources**: BigQuery, Snowflake, Redshift, Parquet, Postgres, Spark
117-
- **Online Stores**: Redis, DynamoDB, Bigtable, Snowflake, SQLite, Postgres
118-
- **Offline Stores**: BigQuery, Snowflake, Redshift, Spark, Dask, DuckDB
119-
- **Cloud Providers**: AWS, GCP, Azure
120-
121-
## Common Development Tasks
122-
123-
### Running Tests
124-
The project uses pytest for Python testing with extensive integration test suites for different data sources and stores.
125-
126-
### Code Style
127-
- Uses `ruff` for Python linting and formatting
128-
- Go uses standard `gofmt`
129-
130-
### Protobuf Development
131-
Protocol buffers are used for data serialization and gRPC APIs. Recompile protos after making changes to `.proto` files.
132-
133-
### Multi-language Support
134-
Feast supports Python and Go SDKs. Changes to core functionality may require updates across both languages.
135-
136-
## Contributing
137-
138-
1. Follow the [contribution guide](docs/project/contributing.md)
139-
2. Set up your development environment
140-
3. Run relevant tests before submitting PRs
141-
4. Ensure code passes linting and type checking
1+
@AGENTS.md

0 commit comments

Comments
 (0)