forked from feast-dev/feast
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Initial merge of Web UI logic (feast-dev#2352)
* Initial merge of Web UI logic Signed-off-by: Danny Chiao <danny@tecton.ai> * Initial merge of Web UI logic Signed-off-by: Danny Chiao <danny@tecton.ai> * Initial merge of Web UI logic Signed-off-by: Danny Chiao <danny@tecton.ai> * Rebase Signed-off-by: Danny Chiao <danny@tecton.ai> * Rebase Signed-off-by: Danny Chiao <danny@tecton.ai> * test Signed-off-by: Danny Chiao <danny@tecton.ai> * test Signed-off-by: Danny Chiao <danny@tecton.ai> * test Signed-off-by: Danny Chiao <danny@tecton.ai> * add sample image Signed-off-by: Danny Chiao <danny@tecton.ai> * add sample image Signed-off-by: Danny Chiao <danny@tecton.ai> * remove comment Signed-off-by: Danny Chiao <danny@tecton.ai> * remove comment Signed-off-by: Danny Chiao <danny@tecton.ai>
- Loading branch information
Showing
170 changed files
with
24,951 additions
and
17 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
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 |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# [WIP] Feast Web UI | ||
|
||
![Sample UI](sample.png) | ||
|
||
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). | ||
|
||
## Project structure | ||
The Web UI is powered by a JSON registry dump from Feast (running `feast registry-dump`). Running `yarn start` launches a UI | ||
powered by test data. | ||
- `public/` contains assets as well as demo data loaded by the Web UI. | ||
- There is a `projects-list.json` which represents all Feast projects the UI shows. | ||
- There is also a `registry.json` which is the registry dump for the feature repo. | ||
- `feature_repo/` contains a sample Feast repo which generates the `registry.json` | ||
- `src/` contains the Web UI source code. This parses the registry json blob in `src/parsers` to make this data | ||
available for the rest of the UI. | ||
- `src/custom-tabs` includes sample custom tabs. This is a WIP plugin system where users can inject their own tabs and | ||
data to the UI. | ||
|
||
|
||
## Available Scripts | ||
|
||
In the project directory, you can run: | ||
|
||
### `yarn start` | ||
|
||
Runs the app in the development mode.\ | ||
Open [http://localhost:3000](http://localhost:3000) to view it in the browser. | ||
|
||
The page will reload if you make edits.\ | ||
You will also see any lint errors in the console. | ||
|
||
### `yarn test` | ||
|
||
Launches the test runner in the interactive watch mode.\ | ||
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. | ||
|
||
### `yarn build` | ||
|
||
Builds the app for production to the `build` folder.\ | ||
It correctly bundles React in production mode and optimizes the build for the best performance. | ||
|
||
The build is minified and the filenames include the hashes.\ | ||
Your app is ready to be deployed! | ||
|
||
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. | ||
|
||
### `yarn eject` | ||
|
||
**Note: this is a one-way operation. Once you `eject`, you can’t go back!** | ||
|
||
If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. | ||
|
||
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. | ||
|
||
You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. | ||
|
||
## Learn More | ||
|
||
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). | ||
|
||
To learn React, check out the [React documentation](https://reactjs.org/). |
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 |
---|---|---|
@@ -0,0 +1,72 @@ | ||
# Feast repo | ||
|
||
## Overview | ||
|
||
This pulls from the dataset used in https://github.com/feast-dev/feast-aws-credit-scoring-tutorial but adds metadata for a full set of Feast FCOs. | ||
|
||
This also adds an on demand feature view + feature services + a saved dataset. | ||
|
||
## Setting up Feast | ||
|
||
Install a dev build Feast using pip | ||
|
||
Clone a feast repo: | ||
```bash | ||
git clone https://github.com/feast-dev/feast.git | ||
``` | ||
|
||
Install a dev build of feast | ||
```bash | ||
cd feast | ||
pip install -e "sdk/python[dev]" | ||
``` | ||
|
||
Then for this demo, you'll actually need to fix a bug by adding this to `type_map.py#L144`: | ||
```python | ||
if isinstance(value, np.bool_): | ||
return ValueType.BOOL | ||
``` | ||
|
||
## Test features | ||
We have already set up a feature repository here using test data from [data](data)). Features have already been pre-materialized to a local sqlite online store. The results of `feast registry-dump` have been thrown into [registry.json](../public/registry.json) | ||
|
||
To query against this registry, you can use run the `test_get_features.py` | ||
```bash | ||
python test_get_features.py | ||
``` | ||
|
||
Output: | ||
``` | ||
--- Historical features (from saved dataset) --- | ||
mortgage_due credit_card_due missed_payments_1y total_wages dob_ssn event_timestamp state tax_returns_filed location_type population city zipcode | ||
0 741165 2944 3 71067272 19781116_7723 2021-04-12 08:12:10+00:00 MI 2424 PRIMARY 4421 WEIDMAN 48893 | ||
1 91803 8419 0 534687864 19530219_5179 2021-04-12 10:59:42+00:00 GA 19583 PRIMARY 38542 DALTON 30721 | ||
2 1553523 5936 0 226748453 19500806_6783 2021-04-12 15:01:12+00:00 TX 6827 PRIMARY 12902 CLEBURNE 76031 | ||
3 976522 833 0 34796963 19931128_5771 2021-04-12 16:40:26+00:00 VA 1287 PRIMARY 2342 GLADE HILL 24092 | ||
--- Online features --- | ||
city : ['DALTON'] | ||
credit_card_due : [8419] | ||
dob_ssn : ['19530219_5179'] | ||
location_type : ['PRIMARY'] | ||
missed_payments_1y : [0] | ||
mortgage_due : [91803] | ||
population : [38542] | ||
state : ['GA'] | ||
tax_returns_filed : [19583] | ||
total_wages : [534687864] | ||
zipcode : [30721] | ||
city : ['DALTON'] | ||
credit_card_due : [8419] | ||
dob_ssn : ['19530219_5179'] | ||
location_type : ['PRIMARY'] | ||
missed_payments_1y : [0] | ||
mortgage_due : [91803] | ||
population : [38542] | ||
state : ['GA'] | ||
tax_returns_filed : [19583] | ||
total_wages : [534687864] | ||
transaction_gt_last_credit_card_due : [False] | ||
zipcode : [30721] | ||
``` |
Binary file not shown.
Oops, something went wrong.