Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
682e314
feat: Add dbt integration for importing models as FeatureViews (#3335)
YassinNouh21 Jan 10, 2026
d20962d
fix: Address mypy and ruff lint errors in dbt integration
YassinNouh21 Jan 10, 2026
354f921
fix: Address ruff lint errors in dbt unit tests
YassinNouh21 Jan 10, 2026
5ca317c
style: Format dbt files with ruff
YassinNouh21 Jan 10, 2026
a301f83
fix: Remove unused dbt-artifacts-parser import and fix enum import
YassinNouh21 Jan 10, 2026
460810c
feat: Use dbt-artifacts-parser for typed manifest parsing
YassinNouh21 Jan 10, 2026
b398368
fix: Add graceful fallback for dbt-artifacts-parser validation errors
YassinNouh21 Jan 10, 2026
2f777ff
fix: Skip dbt tests when dbt-artifacts-parser is not installed
YassinNouh21 Jan 10, 2026
86fb951
refactor: Simplify parser to rely solely on dbt-artifacts-parser
YassinNouh21 Jan 10, 2026
a17b50c
ci: Add dbt-artifacts-parser to unit test dependencies
YassinNouh21 Jan 10, 2026
55174a5
fix: Address Copilot code review comments for dbt integration
YassinNouh21 Jan 10, 2026
e4ba00a
fix: Only add ellipsis to truncated descriptions
YassinNouh21 Jan 10, 2026
01730a8
style: Format dbt files with ruff
YassinNouh21 Jan 10, 2026
8a06b83
fix: Convert doctest examples to code blocks to avoid CI failures
YassinNouh21 Jan 10, 2026
fb40e93
fix: Add dbt-artifacts-parser to feast[ci] and update requirements
YassinNouh21 Jan 11, 2026
53932ff
docs: Add dbt integration documentation
YassinNouh21 Jan 11, 2026
972fc96
docs: Add alpha warning to dbt integration documentation
YassinNouh21 Jan 14, 2026
b2901f4
fix: Add dbt-artifacts-parser to CI_REQUIRED dependencies
YassinNouh21 Jan 14, 2026
fe253c1
fix: Add defensive Array.base_type handling with logging
YassinNouh21 Jan 14, 2026
ed2c291
docs: Add comment explaining ImageBytes/PdfBytes exclusion
YassinNouh21 Jan 14, 2026
7a50c73
fix: Move imports to top of file to resolve linter errors
YassinNouh21 Jan 16, 2026
c4ad283
Merge branch 'master' into feat/dbt-feast-integration-3335-clean
franciscojavierarceo Jan 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix: Address Copilot code review comments for dbt integration
- mapper.py: Fix Array element type check to use set membership instead
  of incorrect isinstance() comparison
- codegen.py: Add safe getattr() with fallback for Array.base_type access

Signed-off-by: yassinnouh21 <yassinnouh21@gmail.com>
  • Loading branch information
YassinNouh21 committed Jan 10, 2026
commit 55174a5a1b6b1c4b629696a4a5d651a9f7aa3f2d
5 changes: 3 additions & 2 deletions sdk/python/feast/dbt/codegen.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,9 @@
def _get_feast_type_name(feast_type: Any) -> str:
"""Get the string name of a Feast type for code generation."""
if isinstance(feast_type, Array):
# Handle Array types
base_type_name = _get_feast_type_name(feast_type.base_type)
# Handle Array types - safely get base_type with fallback
base_type = getattr(feast_type, "base_type", String)
base_type_name = _get_feast_type_name(base_type)
return f"Array({base_type_name})"

# Map type objects to their names
Expand Down
3 changes: 2 additions & 1 deletion sdk/python/feast/dbt/mapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,8 @@ def map_dbt_type_to_feast_type(dbt_type: str) -> FeastType:
element_type_str = normalized[6:-1].strip()
element_type = map_dbt_type_to_feast_type(element_type_str)
# Array only supports primitive types
if isinstance(element_type, type(String)):
valid_array_types = {String, Int32, Int64, Float32, Float64, Bool, Bytes, UnixTimestamp}
if element_type in valid_array_types:
return Array(element_type)
return Array(String) # Fallback for complex nested types

Expand Down