"""BaseCompiler — contract for IR → executable shape (SQL string or pandas chain).""" from abc import ABC, abstractmethod from ..ir.models import QueryIR class BaseCompiler(ABC): """Subclasses: SqlCompiler, PandasCompiler.""" @abstractmethod def compile(self, ir: QueryIR) -> object: ...