forked from feast-dev/feast
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feat: Feast go support with HTTP Registry (#33)
* Feat: Feast go support with HTTP Registry * fixed feast version issue * removed commented code * HTTP Registry reads metadata specific to project instead of all projects --------- Co-authored-by: Bhargav Dodla <[email protected]>
- Loading branch information
1 parent
84a5c77
commit 506830e
Showing
40 changed files
with
1,624 additions
and
225 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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 |
---|---|---|
|
@@ -6,3 +6,4 @@ prune infra | |
prune examples | ||
|
||
graft sdk/python/feast/ui/build | ||
graft sdk/python/feast/embedded_go/lib |
This file contains 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 |
---|---|---|
|
@@ -24,19 +24,19 @@ TRINO_VERSION ?= 376 | |
|
||
# General | ||
|
||
format: format-python format-java | ||
format: format-python format-java format-go | ||
|
||
lint: lint-python lint-java | ||
lint: lint-python lint-java lint-go | ||
|
||
test: test-python test-java | ||
test: test-python test-java test-go | ||
|
||
protos: compile-protos-python compile-protos-docs | ||
protos: compile-protos-go compile-protos-python compile-protos-docs | ||
|
||
build: protos build-java build-docker | ||
|
||
# Python SDK | ||
|
||
install-python-ci-dependencies: | ||
install-python-ci-dependencies: install-go-proto-dependencies install-go-ci-dependencies | ||
python -m piptools sync sdk/python/requirements/py$(PYTHON)-ci-requirements.txt | ||
COMPILE_GO=true python setup.py develop | ||
|
||
|
@@ -313,6 +313,9 @@ test-python-universal-cassandra-no-cloud-providers: | |
test-python-universal: | ||
FEAST_USAGE=False IS_TEST=True python -m pytest -n 8 --integration sdk/python/tests | ||
|
||
test-python-go-server: compile-go-lib | ||
FEAST_USAGE=False IS_TEST=True pytest --integration --goserver sdk/python/tests | ||
|
||
format-python: | ||
# Sort | ||
cd ${ROOT_DIR}/sdk/python; python -m isort feast/ tests/ | ||
|
@@ -363,12 +366,45 @@ test-trino-plugin-locally: | |
kill-trino-locally: | ||
cd ${ROOT_DIR}; docker stop trino | ||
|
||
# Go SDK & embedded | ||
|
||
install-go-proto-dependencies: | ||
go install google.golang.org/protobuf/cmd/[email protected] | ||
go install google.golang.org/grpc/cmd/[email protected] | ||
|
||
install-go-ci-dependencies: | ||
# TODO: currently gopy installation doesn't work w/o explicit go get in the next line | ||
# TODO: there should be a better way to install gopy | ||
go get github.com/go-python/[email protected] | ||
go install golang.org/x/tools/cmd/goimports | ||
# The `go get` command on the previous lines download the lib along with replacing the dep to `feast-dev/gopy` | ||
# but the following command is needed to install it for some reason. | ||
go install github.com/go-python/gopy | ||
python -m pip install "pybindgen==0.22.1" "protobuf<5,>3.20" | ||
|
||
install-protoc-dependencies: | ||
pip install --ignore-installed protobuf grpcio-tools==1.47.0 mypy-protobuf==3.1.0 | ||
pip install "protobuf<5,>3.20" "grpcio-tools>=1.47.0" "mypy-protobuf==3.1" | ||
|
||
compile-protos-go: install-go-proto-dependencies install-protoc-dependencies | ||
python setup.py build_go_protos | ||
|
||
compile-go-lib: install-go-proto-dependencies install-go-ci-dependencies | ||
CGO_LDFLAGS_ALLOW=".*" COMPILE_GO=True python setup.py build_ext --inplace | ||
|
||
install-feast-ci-locally: | ||
pip install -e ".[ci]" | ||
|
||
# Needs feast package to setup the feature store | ||
# CGO flag is due to this issue: https://github.com/golang/go/wiki/InvalidFlag | ||
test-go: compile-protos-go compile-protos-python compile-go-lib install-feast-ci-locally | ||
CGO_LDFLAGS_ALLOW=".*" go test -tags cgo,ccalloc ./... | ||
|
||
format-go: | ||
gofmt -s -w go/ | ||
|
||
lint-go: compile-protos-go compile-go-lib | ||
go vet -tags cgo,ccalloc ./go/internal/feast ./go/embedded | ||
|
||
# Docker | ||
|
||
build-docker: build-feature-server-python-aws-docker build-feature-transformation-server-docker build-feature-server-java-docker | ||
|
@@ -430,7 +466,7 @@ install-dependencies-proto-docs: | |
cd ${ROOT_DIR}/protos; | ||
mkdir -p $$HOME/bin | ||
mkdir -p $$HOME/include | ||
go get github.com/golang/protobuf/proto && \ | ||
go get google.golang.org/protobuf/proto && \ | ||
go get github.com/russross/blackfriday/v2 && \ | ||
cd $$(mktemp -d) && \ | ||
git clone https://github.com/istio/tools/ && \ | ||
|
Oops, something went wrong.