Development guide

Overview

This guide is targeted at developers looking to contribute to Feast:

Learn How the Feast Contributing Process works.

Making a Pull Request

circle-info

See also the CONTRIBUTING.md in the corresponding GitHub repository (e.g. main repo docarrow-up-right)

Incorporating upstream changes from master

Our preference is the use of git rebase instead of git merge : git pull -r

Signing commits

Commits have to be signed before they are allowed to be merged into the Feast codebase:

Good practices to keep in mind

  • Fill in the description based on the default template configured when you first open the PR

    • What this PR does/why we need it

    • Which issue(s) this PR fixes

    • Does this PR introduce a user-facing change

  • Include kind label when opening the PR

  • Add WIP: to PR name if more work needs to be done prior to review

  • Avoid force-pushing as it makes reviewing difficult

Managing CI-test failures

Feast Data Storage Format

Feast data storage contracts are documented in the following locations:

Feast Protobuf API

Feast Protobuf API defines the common API used by Feast's Components:

Generating Language Bindings

The language specific bindings have to be regenerated when changes are made to the Feast Protobuf API:

Repository
Language
Regenerating Language Bindings

Python

Run make compile-protos-python to generate bindings

Golang

Run make compile-protos-go to generate bindings

Last updated