Skip to content

Commit a6b80e7

Browse files
committed
fix: Fixed project_description to set in registry and UI
Signed-off-by: ntkathole <nikhilkathole2683@gmail.com>
1 parent 56c5910 commit a6b80e7

File tree

3 files changed

+27
-4
lines changed

3 files changed

+27
-4
lines changed

sdk/python/feast/repo_config.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,10 @@ class RepoConfig(FeastBaseModel):
185185
provider account, as long as they have different project identifier.
186186
"""
187187

188+
project_description: Optional[StrictStr] = None
189+
""" str: Optional description of the project to provide context about the project's purpose and usage.
190+
"""
191+
188192
provider: StrictStr = "local"
189193
""" str: local or gcp or aws """
190194

sdk/python/feast/repo_operations.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ def parse_repo(repo_root: Path) -> RepoContents:
222222

223223
def plan(repo_config: RepoConfig, repo_path: Path, skip_source_validation: bool):
224224
os.chdir(repo_path)
225-
repo = _get_repo_contents(repo_path, repo_config.project)
225+
repo = _get_repo_contents(repo_path, repo_config.project, repo_config)
226226
for project in repo.projects:
227227
repo_config.project = project.name
228228
store, registry = _get_store_and_registry(repo_config)
@@ -239,7 +239,11 @@ def plan(repo_config: RepoConfig, repo_path: Path, skip_source_validation: bool)
239239
click.echo(infra_diff.to_string())
240240

241241

242-
def _get_repo_contents(repo_path, project_name: Optional[str] = None):
242+
def _get_repo_contents(
243+
repo_path,
244+
project_name: Optional[str] = None,
245+
repo_config: Optional[RepoConfig] = None,
246+
):
243247
sys.dont_write_bytecode = True
244248
repo = parse_repo(repo_path)
245249

@@ -248,7 +252,12 @@ def _get_repo_contents(repo_path, project_name: Optional[str] = None):
248252
print(
249253
f"No project found in the repository. Using project name {project_name} defined in feature_store.yaml"
250254
)
251-
repo.projects.append(Project(name=project_name))
255+
project_description = (
256+
repo_config.project_description if repo_config else None
257+
)
258+
repo.projects.append(
259+
Project(name=project_name, description=project_description or "")
260+
)
252261
else:
253262
print(
254263
"No project found in the repository. Either define Project in repository or define a project in feature_store.yaml"
@@ -389,7 +398,7 @@ def create_feature_store(
389398

390399
def apply_total(repo_config: RepoConfig, repo_path: Path, skip_source_validation: bool):
391400
os.chdir(repo_path)
392-
repo = _get_repo_contents(repo_path, repo_config.project)
401+
repo = _get_repo_contents(repo_path, repo_config.project, repo_config)
393402
for project in repo.projects:
394403
repo_config.project = project.name
395404
store, registry = _get_store_and_registry(repo_config)

ui/src/queries/useLoadRegistry.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,18 @@ const useLoadRegistry = (url: string) => {
122122
? objects.project
123123
: "credit_scoring_aws";
124124

125+
let projectDescription = undefined;
126+
if (
127+
objects.projects &&
128+
objects.projects.length > 0 &&
129+
objects.projects[0].spec
130+
) {
131+
projectDescription = objects.projects[0].spec.description;
132+
}
133+
125134
return {
126135
project: projectName,
136+
description: projectDescription,
127137
objects,
128138
mergedFVMap,
129139
mergedFVList,

0 commit comments

Comments
 (0)