Skip to content

colnade.expr

Expression AST nodes produced by column operations.

Expr

Expr

Bases: Generic[DType]

Base class for all expression tree nodes.

Supports logical chaining (&, |, ~), comparison, arithmetic operators, and aliasing.

ColumnRef

ColumnRef(column)

Bases: Expr[DType]

Reference to a schema column.

Literal

Literal(value)

Bases: Expr[DType]

A literal value.

BinOp

BinOp(left, right, op)

Bases: Expr[DType]

Binary operation (arithmetic, comparison, logical).

UnaryOp

UnaryOp(operand, op)

Bases: Expr[DType]

Unary operation (negation, not, is_null, etc.).

FunctionCall

FunctionCall(name, args=(), kwargs=None)

Bases: Expr[DType]

Named function application (str_contains, dt_year, cast, etc.).

Agg

Agg(source, agg_type)

Bases: Expr[DType]

Aggregation expression (sum, mean, count, etc.).

AliasedExpr

AliasedExpr(expr, target)

Bases: Expr[DType]

Expression with an output column binding.

SortExpr

SortExpr(expr, descending)

Sort direction wrapper. Not an expression — used in .sort() calls.

StructFieldAccess

StructFieldAccess(struct_expr, field)

Bases: Expr[DType]

Access a field within a struct column.

ListOp

ListOp(list_expr, op, args=())

Bases: Expr[DType]

Operation on a list column (len, get, contains, sum, etc.).

JoinCondition

JoinCondition(left, right)

A join predicate from comparing columns of two different schemas.

Created by Column.__eq__ when the two columns belong to different schemas::

Users.id == Orders.user_id  # → JoinCondition
Users.age == Users.score    # → BinOp[Bool] (same schema)

lit

lit(value)

Create a literal expression.