File size: 317 Bytes
6bff5d9
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
"""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:
        ...