Skip to content

Expression helpers

Backend expressions use {{ $node('X').data.get('f') }} / {{ $input.data.get('f') }} / {{ $variable('v') }}. The expr module builds these for you with typo-safe builders.

from athena_sdk import expr

expr.node("Postgres").get("table_name")
# → "{{ $node('Postgres').data.get('table_name') }}"

expr.input.get("status").eq("active")
# → "{{ $input.data.get('status') == 'active' }}"

expr.variable("api_key")
# → "{{ $variable('api_key') }}"

Comparisons

.eq(v), .ne(v), .gt(v), .gte(v), .lt(v), .lte(v). Non-string literals render via repr (True, None, ints).

Escape hatch

expr.raw("len($input.data.get('items')) > 0")
# → "{{ len($input.data.get('items')) > 0 }}"