irx.analysis.arrow_conversion

irx.analysis.arrow_conversion

Source: packages/irx/src/irx/analysis/arrow_conversion.py

title: Checked Arrow container conversions and reference ownership.

Functions

arrow_ownership(type_: astx.DataType, kind: OwnershipKind, symbol: str | None=None, transfer: OwnershipTransferKind=OwnershipTransferKind.NONE) -> ResourceOwnership

title: Describe a native table or column reference.
parameters:
  type_:
    type: astx.DataType
  kind:
    type: OwnershipKind
  symbol:
    type: str | None
  transfer:
    type: OwnershipTransferKind
returns:
  type: ResourceOwnership

arrow_local(analyzer: SemanticAnalyzerCore, node: astx.VariableDeclaration | astx.InlineVariableDeclaration, symbol: SemanticSymbol) -> None

title: Acquire an independently owned reference for a local binding.
parameters:
  analyzer:
    type: SemanticAnalyzerCore
  node:
    type: astx.VariableDeclaration | astx.InlineVariableDeclaration
  symbol:
    type: SemanticSymbol

resolve_arrow_cast(analyzer: SemanticAnalyzerCore, node: astx.Cast) -> bool

title: >-
  Resolve only host-registered RecordBatch conversions, not pointer casts.
parameters:
  analyzer:
    type: SemanticAnalyzerCore
  node:
    type: astx.Cast
returns:
  type: bool

resolve_arrow_store(analyzer: SemanticAnalyzerCore, node: astx.BinaryOp, symbol: SemanticSymbol) -> bool

title: Resolve an owned Arrow local replacement without losing aliases.
parameters:
  analyzer:
    type: SemanticAnalyzerCore
  node:
    type: astx.BinaryOp
  symbol:
    type: SemanticSymbol
returns:
  type: bool

contains_arrow(type_: astx.DataType | None) -> bool

title: Detect Arrow ownership hidden in unsupported aggregate storage.
parameters:
  type_:
    type: astx.DataType | None
returns:
  type: bool

Classes

ArrowTableCast

title: Checked table-to-table conversion without combining chunks.
attributes:
  schema_ipc:
    type: bytes | None

ArrowConversion

title: Resolved native conversion plan; no lookup remains for lowering.
attributes:
  to_dataframe:
    type: bool
  class_:
    type: SemanticClass
  handle_index:
    type: int
  columns:
    type: tuple[tuple[str, int, bool], Ellipsis] | None
  schema_ipc:
    type: bytes | None
Back to top