feat: Add the ability to list objects by tags#4246
Conversation
|
/LGTM |
Sorry, something went wrong.
|
We should probably follow up (maybe in other PRs) with similar changes for other feast objects that have tags (entities, data sources). Seems odd to have this only for feature views. |
Sorry, something went wrong.
|
@tokoko i didn't realize that about the other objects. maybe its better to go ahead and add to this PR? where can i find a definitive list of the objects with tags? any docs? or should i just parse the code? |
Sorry, something went wrong.
|
Yeah, changes to others in this PR would be great. All the objects in BaseRegistry are worth checking out, but I don't think all of them have a |
Sorry, something went wrong.
@tokoko, I would also add that, since the direction is to expose authorized access through Feast services, we should include the same filtering by tags for all List APIs in RegistryServer. What do you think? |
Sorry, something went wrong.
|
@dmartinol Yeah, I guess that's implied. Whatever changes we make to BaseRegistry will have to be reflected in RegistryServer as well. |
Sorry, something went wrong.
1b54fa0 to
d80b733
Compare
June 3, 2024 20:38
tags filtering capability to the feast registry & clitags capability to the feast registry & clibb2151f to
4bf1ce0
Compare
June 14, 2024 16:31
|
@tokoko @dmartinol i've added filtering by tags to all feast objects that have the |
Sorry, something went wrong.
tags to the feast registry & clitags|
@tchughesiv Looks good to me, but better place for tests is in test_universal_registry.py. That's the one that's run for all registry implementations. |
Sorry, something went wrong.
|
👍 @tchughesiv shouldn't we also update the documentation for the CLI options? |
Sorry, something went wrong.
|
@dmartinol I also had to check in the code that all tags had to match lol. Maybe it should have been, but wasn't obvious to me. |
Sorry, something went wrong.
|
@dmartinol @tokoko thanks for the reviews. i've made the requested changes, including improved docs and additional tests in test_universal_registry.py |
Sorry, something went wrong.
tokoko
left a comment
There was a problem hiding this comment.
LGTM
Sorry, something went wrong.
Head branch was pushed to by a user without write access
Signed-off-by: Tommy Hughes <tohughes@redhat.com>
|
Thanks all for the reviews & feedback! |
Sorry, something went wrong.
# [0.39.0](v0.38.0...v0.39.0) (2024-06-18) ### Bug Fixes * Feast UI importlib change ([#4248](#4248)) ([5d486b8](5d486b8)) * Feature server no_feature_log argument error ([#4255](#4255)) ([15524ce](15524ce)) * Feature UI Server image won't start in an OpenShift cluster ([#4250](#4250)) ([4891f76](4891f76)) * Handles null values in data during GO Feature retrieval ([#4274](#4274)) ([c491e57](c491e57)) * Make Java gRPC client use timeouts as expected ([#4237](#4237)) ([f5a37c1](f5a37c1)) * Remove self assignment code line. ([#4238](#4238)) ([e514f66](e514f66)) * Set default values for feature_store.serve() function ([#4225](#4225)) ([fa74438](fa74438)) ### Features * Add online_read_async for dynamodb ([#4244](#4244)) ([b5ef384](b5ef384)) * Add the ability to list objects by `tags` ([#4246](#4246)) ([fbf92da](fbf92da)) * Added deadline to gRPC Java client ([#4217](#4217)) ([ff429c9](ff429c9)) * Adding vector search for sqlite ([#4176](#4176)) ([2478831](2478831)) * Change get_online_features signature, move online retrieval functions to utils ([#4278](#4278)) ([7287662](7287662)) * Feature/adding remote online store ([#4226](#4226)) ([9454d7c](9454d7c)) * List all feature views ([#4256](#4256)) ([36a574d](36a574d)) * Make RegistryServer writable ([#4231](#4231)) ([79e1143](79e1143)) * Remote offline Store ([#4262](#4262)) ([28a3d24](28a3d24)) * Set optional full-scan for deletion ([#4189](#4189)) ([b9cadd5](b9cadd5))
What this PR does / why we need it:
In the feast registry & cli, add the ability to list objects by
tags... same as the UI already supports.Here are the object types with this new
--tagscapability -DataSource)Entity)FeatureService)FeatureView)OnDemandFeatureView)StreamFeatureViewWhich issue(s) this PR fixes:
Fixes: #4245
e.g.
$ feast feature-views list --tags team:driver_performance NAME ENTITIES TYPE driver_hourly_stats {'driver'} FeatureView driver_hourly_stats_fresh {'driver'} FeatureView$ feast feature-views list NAME ENTITIES TYPE driver_hourly_stats {'driver'} FeatureView driver_hourly_stats_fresh {'driver'} FeatureView transformed_conv_rate_fresh {'driver'} OnDemandFeatureView transformed_conv_rate {'driver'} OnDemandFeatureView