pathwaycom/pathway · error · ValueError

asof_now_join can only use modes pathway.JoinMode.INNER or p

Error message

asof_now_join can only use modes pathway.JoinMode.INNER or pathway.JoinMode.LEFT

What it means

Error "asof_now_join can only use modes pathway.JoinMode.INNER or pathway.JoinMode.LEFT" thrown in pathwaycom/pathway.

Source

Thrown at python/pathway/stdlib/temporal/_asof_now_join.py:68

        self._mode = mode
        self._id = id
        self._substitution = {pw.left: left, pw.right: right, pw.this: join_result}

    @staticmethod
    def _asof_now_join(
        left: pw.Table,
        right: pw.Table,
        *on: expr.ColumnExpression,
        mode: pw.JoinMode,
        id: expr.ColumnReference | None = None,
        left_instance: expr.ColumnReference | None = None,
        right_instance: expr.ColumnReference | None = None,
        exact_match: bool = False,  # if True do not optionalize output columns even if other than inner join is used
    ) -> AsofNowJoinResult:
        # TODO assert that left is append-only

        if mode != pw.JoinMode.INNER and mode != pw.JoinMode.LEFT:
            raise ValueError(
                "asof_now_join can only use modes pathway.JoinMode.INNER or pathway.JoinMode.LEFT"
            )

        left_with_forgetting = left._forget_immediately()
        if left_instance is not None and right_instance is not None:
            on = (*on, left_instance == right_instance)
        else:
            assert left_instance is None and right_instance is None
        for cond in on:
            cond_left, _, cond = validate_join_condition(cond, left, right)
            cond._left = left_with_forgetting[cond_left._name]
        if id is not None and id.table == left:
            id = left_with_forgetting[id._name]

        table_substitution: dict[pw.TableLike, pw.Table] = {
            left: left_with_forgetting,
        }
        join_result = JoinResult._table_join(

View on GitHub (pinned to fa2f74a464)

Solutions

  1. Use how=pw.JoinMode.INNER or how=pw.JoinMode.LEFT for asof_now_join.

Example fix

t1.asof_now_join(t2, how=pw.JoinMode.LEFT)

When it happens

Trigger: Thrown at python/pathway/stdlib/temporal/_asof_now_join.py:68 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of pathwaycom/pathway@fa2f74a464 (2026-08-15). Data as JSON: /api/errors/c05f66b4e7e6abd1. Report an issue: GitHub.