Feast Web UI
Is your feature request related to a problem? Please describe.
Several things are harder than they should be today:
- Tag searching / filtering
- Discovery of feature views / data sources / models
- Understanding lineage of models are difficult.
- Understanding what features are available / materialized to the online store
- Managing features across projects
Describe the solution you'd like
A Feast Web UI that enables discovery of features, data sources, and models across projects.
- Tests checking that changes to the feast registry protos don't break the web UI (i.e. an integration test that starts up the Feast UI)
- a feast cli command like
feast uithat scans subdirectories forfeature_store.yamland callsfeast registry-dumpand pipes it to a known location for the web UI to reference. It also should produce theproject-list.jsonthat we use for the landing page. This should also start the local web ui server. - Improved search bar experience that does type-ahead suggestions on tag names
- release process that automatically publishes the npm package.
After initial launch
- A project level description config (e.g. in
feature_store.yamlwhich populates the landing page of a given project in the UI and is output in the "registry" dump) - Working across all types
- Links to e.g. feast-dev documentation (e.g a ? that shows details on hover)
- Flagging system for different UI components
- Custom plugin system
- Having a UI that dynamically updates + re-syncs against the registry file
- Migration towards perhaps https://github.com/protobufjs/protobuf.js/ instead of zod to parse data
- There's a "statistics" page in feature views that needs data to be populated. It's hidden by default behind a flag, but once we start pulling sample data and statistics in generating the json dump, this can be re-enabled
- Cleaned up UI for the data sets that gives information about the declared expectations
- UI for the data sets that highlights validation errors in a saved dataset
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.