본문으로 건너뛰기
cccskills
무료GitHub에 공개

feast-dev

Prepare to contribute to Feast by setting up the development environment, running tests and linters, and finding your way around the project structure. The guide also explains documentation placement and practical pull request conventions.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Development guide for contributing to the Feast codebase. Covers environment setup, testing, linting, project structure, and PR workflow for feast-dev/feast.

feast-dev/feast스타 7,348(GitHub 7,348 + cccskills 0)

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • Setting up a local Feast development environment
  • Running tests and lint checks before a change
  • Finding where a new store implementation belongs
  • Preparing a Feast pull request

포함된 파일(1)

  • SKILL.md5.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Feast Development Guide

Environment Setup

# Install development dependencies (uses uv pip sync with pinned requirements)
make install-python-dependencies-dev

# Install minimal dependencies
make install-python-dependencies-minimal

# Install pre-commit hooks (runs formatters and linters on commit)
make install-precommit

Running Tests

Unit Tests

# Run all unit tests
make test-python-unit

# Run a specific test file
python -m pytest sdk/python/tests/unit/test_unit_feature_store.py -v

# Run a specific test by name
python -m pytest sdk/python/tests/unit/test_unit_feature_store.py -k "test_apply" -v

# Run fast unit tests only (no external dependencies)
make test-python-unit-fast

Integration Tests (local)

# Run integration tests in local dev mode
make test-python-integration-local

Linting and Formatting

# Format Python code
make format-python

# Lint Python code
make lint-python

# Run all precommit checks (format + lint)
make precommit-check

# Type checking (entire codebase)
uv run bash -c "cd sdk/python && mypy feast"

# Type-check a single file
uv run bash -c "cd sdk/python && mypy feast/path/to/file.py"

Code Style

  • Use type hints on all function signatures
  • Use from __future__ import annotations at the top of new files
  • Follow existing patterns in the module you are modifying
  • Do not put pip install commands in docstrings or code comments. Security scanners flag them as runtime package installs, which fail in air-gapped or mirror-only environments. Name the extra instead (e.g. "Requires the glide extra (feast[glide]).") and keep install commands in docs/.
  • PR titles must follow semantic conventions: feat:, fix:, ci:, chore:, docs:
  • Add a GitHub label to PRs (e.g. kind/bug, kind/feature, kind/housekeeping)
  • Sign off commits with git commit -s (DCO requirement)

Docker Images

# Build all Docker images
make build-docker

# Build feature server Docker image
make build-feature-server-docker

Documentation

# Build Sphinx documentation
make build-sphinx

# Build templates
make build-templates

# Build Helm docs
make build-helm-docs

Documentation and Blog Posts

  • Blog posts must be placed in /infra/website/docs/blog/ — do NOT place them under docs/blog/ or elsewhere.
  • Blog post files must include YAML frontmatter with title, description, date, and authors fields matching the format of existing posts in that directory.
  • All other docs go under docs/ and must be added to docs/SUMMARY.md (GitBook navigation) or they won't appear on the website.
Change typeDoc location
New online storedocs/reference/online-stores/<name>.md + update README.md and SUMMARY.md
New offline storedocs/reference/offline-stores/<name>.md + update README.md, overview.md, SUMMARY.md
New registry backenddocs/reference/registries/<name>.md + update SUMMARY.md
Config optiondocs/reference/feature-store-yaml.md
CLI flag/commanddocs/reference/feast-cli-commands.md
How-to / integrationdocs/how-to-guides/customizing-feast/ or docs/how-to-guides/ + update SUMMARY.md
Architecture / conceptdocs/getting-started/architecture/ or docs/getting-started/components/

Project Structure

sdk/python/feast/          # Main Python SDK
  cli/cli.py               # CLI entry point (feast apply, feast materialize, etc.)
  feature_store.py         # FeatureStore class - core orchestration
  repo_config.py           # feature_store.yaml configuration parsing
  repo_operations.py       # feast apply / feast teardown logic
  infra/                   # Online/offline store implementations
    online_stores/         # Redis, DynamoDB, SQLite, etc.
    offline_stores/        # BigQuery, Snowflake, File, etc.
  transformation/          # On-demand and streaming transformations
protos/feast/              # Protobuf definitions
sdk/python/tests/          # Test suite
  unit/                    # Fast, no external deps
  integration/             # Requires infrastructure

Key Abstractions

  • FeatureStore (feature_store.py): Entry point for all operations
  • FeatureView: Defines a set of features from a data source
  • OnDemandFeatureView: Computed features using request-time transformations
  • Entity: Join key definition (e.g. driver_id, customer_id)
  • DataSource: Where raw data lives (BigQuery, files, Snowflake, etc.)
  • OnlineStore: Low-latency feature serving (Redis, DynamoDB, SQLite)
  • OfflineStore: Historical feature retrieval (BigQuery, Snowflake, file)

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Understand how Feast components fit together and how data moves through the system. Trace operations such as applying definitions, materializing features, and retrieving online data, and locate the relevant code when exploring or changing the codebase.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Tracing what happens during `feast apply`
  • Understanding how registry metadata is stored
  • Following feature data into an online store
feast-dev/feast7.3천2026년 10월 25일 업데이트

Test and debug Feast, a feature store for managing machine learning data. Run focused unit and integration tests, add tests for components such as registries or online stores, inspect live registry state, and investigate common runtime and retrieval problems.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Running a focused Feast test after a code change
  • Writing unit tests for a new online store component
  • Investigating stale registry metadata
feast-dev/feast7.3천2026년 10월 25일 업데이트

Use this guide to define Feast entities and feature views, configure a feature store, and retrieve online or historical features. It also explains CLI commands and vector search, which finds similar documents for RAG pipelines.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Defining entities, data sources, and feature views
  • Configuring feature_store.yaml and registering definitions
  • Retrieving online features or historical training data
feast-dev/feast7.3천2026년 10월 25일 업데이트

feast-dev의 스킬 모두 보기

이 스킬의 문제 신고