Skip to content

dbt integration: Improve error handling for missing dbt-artifacts-parser #5870

@YassinNouh21

Description

@YassinNouh21

Context

PR #5827 added dbt integration that requires dbt-artifacts-parser dependency.

Problem

The CLI commands (feast dbt import, feast dbt list) don't explicitly catch ImportError from the parser, leading to potentially confusing error messages.

Current Behavior

# In parser.py:112
raise ImportError(
    "dbt-artifacts-parser is required for dbt integration.\n"
    "Install with: pip install 'feast[dbt]' or pip install dbt-artifacts-parser"
)

But CLI commands catch only FileNotFoundError and ValueError:

# In dbt_import.py:131-136
except FileNotFoundError as e:
    click.echo(f"{Fore.RED}Error: {e}{Style.RESET_ALL}", err=True)
    raise SystemExit(1)
except ValueError as e:
    click.echo(f"{Fore.RED}Error: {e}{Style.RESET_ALL}", err=True)
    raise SystemExit(1)

Proposed Solution

Add ImportError to exception handling in CLI commands with helpful message.

Files to Update

  • sdk/python/feast/cli/dbt_import.py (lines 131-136, 343-348)

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions