Development guide for contributing to the Feast codebase. Covers environment setup, testing, linting, project structure, and PR workflow for feast-dev/feast.
# 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
# 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
# Run integration tests in local dev mode
make test-python-integration-local
# Format Python code
make format-python
# Lint Python code
make lint-python
# Run all precommit checks (format + lint)
make precommit-check
# Type checking
cd sdk/python && python -m mypy feast
from __future__ import annotations at the top of new filesfeat:, fix:, ci:, chore:, docs:kind/bug, kind/feature, kind/housekeeping)git commit -s (DCO requirement)/infra/website/docs/blog/ — do NOT place them under docs/blog/ or elsewhere.title, description, date, and authors fields matching the format of existing posts in that directory.docs/.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
feature_store.py): Entry point for all operations