The Feast CLI comes bundled with the Feast Python package. It is immediately available after installing Feast.
Usage: feast [OPTIONS] COMMAND [ARGS]...
Feast CLI
For more information, see our public docs at https://docs.feast.dev/
Options:
-c, --chdir TEXT Switch to a different feature repository directory before
executing the given subcommand.
--help Show this message and exit.
Commands:
apply Create or update a feature store deployment
entities Access entities
feature-views Access feature views
init Create a new Feast repository
materialize Run a (non-incremental) materialization job to...
materialize-incremental Run an incremental materialization job to ingest...
permissions Access permissions
registry-dump Print contents of the metadata registry
teardown Tear down deployed feature store infrastructure
version Display Feast SDK version
The Feast CLI provides one global top-level option that can be used with other commands
chdir (-c, --chdir)
This command allows users to run Feast CLI commands in a different folder from the current working directory.
feast -c path/to/my/feature/repo apply
Creates or updates a feature store deployment
feast applyWhat does Feast apply do?
- Feast will scan Python files in your feature repository and find all Feast object definitions, such as feature views, entities, and data sources.
- Feast will validate your feature definitions (e.g. for uniqueness of features)
- Feast will sync the metadata about Feast objects to the registry. If a registry does not exist, then it will be instantiated. The standard registry is a simple protobuf binary file that is stored on disk (locally or in an object store).
- Feast CLI will create all necessary feature store infrastructure. The exact infrastructure that is deployed or configured depends on the
providerconfiguration that you have set infeature_store.yaml. For example, settinglocalas your provider will result in asqliteonline store being created.
{% hint style="warning" %}
feast apply (when configured to use cloud provider like gcp or aws) will create cloud infrastructure. This may incur costs.
{% endhint %}
List all registered entities
feast entities list
Options:
--tags TEXT Filter by tags (e.g. --tags 'key:value' --tags 'key:value,
key:value, ...'). Items return when ALL tags match.
NAME DESCRIPTION TYPE
driver_id driver id ValueType.INT64
List all registered feature views
feast feature-views list
Options:
--tags TEXT Filter by tags (e.g. --tags 'key:value' --tags 'key:value,
key:value, ...'). Items return when ALL tags match.
NAME ENTITIES TYPE
driver_hourly_stats {'driver'} FeatureView
Creates a new feature repository
feast init my_repo_name
Creating a new Feast repository in /projects/my_repo_name.
.
├── data
│ └── driver_stats.parquet
├── example.py
└── feature_store.yaml
It's also possible to use other templates
feast init -t gcp my_feature_repo
or to set the name of the new project
feast init -t gcp my_feature_repo
Load data from feature views into the online store between two dates
feast materialize 2020-01-01T00:00:00 2022-01-01T00:00:00Load data for specific feature views into the online store between two dates
feast materialize -v driver_hourly_stats 2020-01-01T00:00:00 2022-01-01T00:00:00
Materializing 1 feature views from 2020-01-01 to 2022-01-01
driver_hourly_stats:
100%|██████████████████████████| 5/5 [00:00<00:00, 5949.37it/s]
Load data from feature views into the online store, beginning from either the previous materialize or materialize-incremental end date, or the beginning of time.
feast materialize-incremental 2022-01-01T00:00:00
List all registered permission
feast permissions list
Options:
--tags TEXT Filter by tags (e.g. --tags 'key:value' --tags 'key:value,
key:value, ...'). Items return when ALL tags match.
-v, --verbose Print the resources matching each configured permission
+-----------------------+-------------+-----------------------+-----------+----------------+-------------------------+
| NAME | TYPES | NAME_PATTERN | ACTIONS | ROLES | REQUIRED_TAGS |
+=======================+=============+=======================+===========+================+================+========+
| reader_permission1234 | FeatureView | transformed_conv_rate | DESCRIBE | reader | - |
+-----------------------+-------------+-----------------------+-----------+----------------+-------------------------+
| writer_permission1234 | FeatureView | transformed_conv_rate | CREATE | writer | - |
+-----------------------+-------------+-----------------------+-----------+----------------+-------------------------+
| special | FeatureView | special.* | DESCRIBE | admin | test-key2 : test-value2 |
| | | | UPDATE | special-reader | test-key : test-value |
+-----------------------+-------------+-----------------------+-----------+----------------+-------------------------+
verbose option describes the resources matching each configured permission:
feast permissions list -v
Permissions:
permissions
├── reader_permission1234 ['reader']
│ └── FeatureView: none
└── writer_permission1234 ['writer']
├── FeatureView: none
│── OnDemandFeatureView: ['transformed_conv_rate_fresh', 'transformed_conv_rate']
└── BatchFeatureView: ['driver_hourly_stats', 'driver_hourly_stats_fresh']
Describes the provided permission
feast permissions describe permission-name
name: permission-name
types:
- FEATURE_VIEW
namePattern: transformed_conv_rate
requiredTags:
required1: required-value1
required2: required-value2
actions:
- DESCRIBE
policy:
roleBasedPolicy:
roles:
- reader
tags:
key1: value1
key2: value2
List all the configured roles
feast permissions list-roles
Options:
--verbose Print the resources and actions permitted to each configured
role
ROLE NAME
admin
reader
writer
verbose option describes the resources and actions permitted to each managed role:
feast permissions list-roles -v
ROLE NAME RESOURCE NAME RESOURCE TYPE PERMITTED ACTIONS
admin driver_hourly_stats_source FileSource CREATE
DELETE
QUERY_OFFLINE
QUERY_ONLINE
DESCRIBE
UPDATE
admin vals_to_add RequestSource CREATE
DELETE
QUERY_OFFLINE
QUERY_ONLINE
DESCRIBE
UPDATE
admin driver_stats_push_source PushSource CREATE
DELETE
QUERY_OFFLINE
QUERY_ONLINE
DESCRIBE
UPDATE
admin driver_hourly_stats_source FileSource CREATE
DELETE
QUERY_OFFLINE
QUERY_ONLINE
DESCRIBE
UPDATE
admin vals_to_add RequestSource CREATE
DELETE
QUERY_OFFLINE
QUERY_ONLINE
DESCRIBE
UPDATE
admin driver_stats_push_source PushSource CREATE
DELETE
QUERY_OFFLINE
QUERY_ONLINE
DESCRIBE
UPDATE
reader driver_hourly_stats FeatureView DESCRIBE
reader driver_hourly_stats_fresh FeatureView DESCRIBE
...
Tear down deployed feature store infrastructure
feast teardown
Print the current Feast version
feast version