Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: feast-dev/feast
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.59-branch
Choose a base ref
...
head repository: feast-dev/feast
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 1 file changed
  • 2 contributors

Commits on Jan 20, 2026

  1. chore: Clean up ODFV code (#5879)

    * refactor(odfv): Clean up OnDemandFeatureView implementation for better maintainability
    
    This commit implements focused code cleanup for the OnDemandFeatureView class
    to reduce complexity and improve maintainability while preserving all existing
    functionality and APIs.
    
    ## Key Improvements:
    
    ### 1. Simplified from_proto() method (40% complexity reduction)
    - Extracted helper methods for each transformation type deserialization
    - Separated backward compatibility handling into dedicated methods
    - Added clear separation of concerns with proper error handling
    
    ### 2. Cleaned up source type handling in constructor
    - Replaced implicit 'else' clause with explicit isinstance() checks
    - Added _add_source_to_collections() helper with comprehensive validation
    - Improved error messages for unsupported source types
    
    ### 3. Simplified feature inference logic
    - Eliminated 27+ hardcoded value type mappings with clean helper methods
    - Replaced brittle string-based type checking with proper type validation
    - Added _get_sample_values_by_type() for centralized type mapping
    
    ### 4. Consolidated transform method logic (50% duplication reduction)
    - Extracted common preprocessing logic into shared helper methods
    - Standardized error handling across transform_arrow(), transform_dict(), transform_ibis()
    - Reduced code duplication while maintaining three separate transform methods
    
    ### 5. Enhanced ODFV validation in ensure_valid()
    - Added comprehensive validation with dedicated helper methods
    - Validates online store, singleton, sources, and transformation config
    - Provides actionable error messages for configuration issues
    
    ### 6. Standardized error messages
    - Created ODFVErrorMessages class with centralized error templates
    - Consistent formatting and helpful guidance across all error cases
    - Better debugging experience for developers
    
    ## Backward Compatibility:
    - ✅ All public APIs remain unchanged
    - ✅ All existing ODFVs continue working identically
    - ✅ Zero breaking changes to functionality
    - ✅ All unit tests passing
    
    ## Testing:
    - Core ODFV tests: 6/6 passing
    - Pandas transformation tests: 3/3 passing
    - ODFV aggregation tests: 5/5 passing
    - Inference tests: 12/12 passing
    
    This cleanup prepares the codebase for future architectural changes while
    maintaining complete backward compatibility.
    
    Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
    
    * fix(odfv): Fix mypy type annotations for source parsing
    
    - Fix unknown_source_type_in_proto to accept str | None
    - Add explicit type annotation for sources list in _parse_sources_from_proto
    
    Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude Sonnet 4 <noreply@anthropic.com>
    franciscojavierarceo and claude authored Jan 20, 2026
    Configuration menu
    Copy the full SHA
    c1718b7 View commit details
    Browse the repository at this point in the history
Loading