@@ -528,8 +528,9 @@ def _(
528528 column : ibis_types .Column ,
529529 window = None ,
530530) -> ibis_types .Value :
531+ # Ibis FirstNonNullValue expects Value[Any, Columnar], Mypy struggles to see Column as compatible.
531532 return _apply_window_if_present (
532- ibis_ops .FirstNonNullValue (column ).to_expr (),
533+ ibis_ops .FirstNonNullValue (column ).to_expr (), # type: ignore[arg-type]
533534 window , # type: ignore
534535 )
535536
@@ -549,8 +550,9 @@ def _(
549550 column : ibis_types .Column ,
550551 window = None ,
551552) -> ibis_types .Value :
553+ # Ibis LastNonNullValue expects Value[Any, Columnar], Mypy struggles to see Column as compatible.
552554 return _apply_window_if_present (
553- ibis_ops .LastNonNullValue (column ).to_expr (),
555+ ibis_ops .LastNonNullValue (column ).to_expr (), # type: ignore[arg-type]
554556 window , # type: ignore
555557 )
556558
@@ -803,8 +805,9 @@ def _to_ibis_boundary(
803805) -> Optional [ibis_expr_window .WindowBoundary ]:
804806 if boundary is None :
805807 return None
808+ # WindowBoundary expects Value[Any, Any], ibis_types.literal returns Scalar which Mypy doesn't see as compatible.
806809 return ibis_expr_window .WindowBoundary (
807- abs (boundary ),
810+ ibis_types . literal (boundary if boundary >= 0 else - boundary ), # type: ignore[arg-type]
808811 preceding = boundary <= 0 , # type:ignore
809812 )
810813
0 commit comments