Skip to content


name: str,
source_type: SourceType,
details: Union[SnowflakeDetails, SparkDetails, SQLiteDetails, DatabricksDetails, TestDatabaseDetails],
database_credential: Union[Annotated[Union[UsernamePasswordCredential, AccessTokenCredential, KerberosKeytabCredential]], NoneType]=None,
storage_credential: Union[Annotated[Union[S3StorageCredential, GCSStorageCredential, AzureBlobStorageCredential]], NoneType]=None
) -> FeatureStore


Creates and saves a Feature Store object to enable FeatureByte to work with a data warehouse. FeatureByte leverages a data warehouse as both a data source and a feature store.

To create a feature store, you need to specify the connection details and credentials to use.

Note that featurestore is one-off task. Only one feature store can be created for a specific set of database details.


  • name: str
    Name of the feature store.

  • source_type: SourceType
    Type of the feature store.

  • details: Union[SnowflakeDetails, SparkDetails, SQLiteDetails, DatabricksDetails, TestDatabaseDetails]
    Details of the database to use for the feature store.

  • database_credential: Union[Annotated[Union[UsernamePasswordCredential, AccessTokenCredential, KerberosKeytabCredential]], NoneType]
    Credential details to use when connecting to the database.

  • storage_credential: Union[Annotated[Union[S3StorageCredential, GCSStorageCredential, AzureBlobStorageCredential]], NoneType]
    Credential details to use when connecting to the storage.


  • FeatureStore


>>> feature_store = fb.FeatureStore.create(
...     name="playground",
...     source_type=SourceType.SPARK,
...     details=fb.SparkDetails(
...         host="spark-thrift",
...         http_path="cliservice",
...         port=10000,
...         storage_type="file",
...         storage_url="/data/staging/featurebyte",
...         storage_spark_url="file:///opt/spark/data/staging/featurebyte",
...         featurebyte_catalog="spark_catalog",
...         featurebyte_schema="playground",
...     )
... )