@@ -43,7 +43,7 @@ if typing.TYPE_CHECKING:
4343 ArrowUDF ,
4444 )
4545 from ._enums import ExplainTypeLiteral , RenderModeLiteral
46- from duckdb import sqltypes , func
46+ from duckdb import sqltypes , func , template
4747
4848__all__ : lst [str ] = [
4949 "BinderException" ,
@@ -243,8 +243,12 @@ class DuckDBPyConnection:
243243 def dtype (self , type_str : StrIntoPyType ) -> sqltypes .DuckDBPyType : ...
244244 def duplicate (self ) -> DuckDBPyConnection : ...
245245 def enum_type (self , name : str , type : sqltypes .DuckDBPyType , values : lst [typing .Any ]) -> sqltypes .DuckDBPyType : ...
246- def execute (self , query : Statement | str , parameters : object = None ) -> DuckDBPyConnection : ...
247- def executemany (self , query : Statement | str , parameters : object = None ) -> DuckDBPyConnection : ...
246+ def execute (
247+ self , query : Statement | str | template .SqlTemplate | template .CompiledSql , parameters : object = None
248+ ) -> DuckDBPyConnection : ...
249+ def executemany (
250+ self , query : Statement | str | template .SqlTemplate | template .CompiledSql , parameters : object = None
251+ ) -> DuckDBPyConnection : ...
248252 def extract_statements (self , query : str ) -> lst [Statement ]: ...
249253 def fetch_arrow_table (self , rows_per_batch : typing .SupportsInt = 1000000 ) -> pyarrow .lib .Table :
250254 """Deprecated: use to_arrow_table() instead."""
@@ -326,7 +330,9 @@ class DuckDBPyConnection:
326330 union_by_name : bool = False ,
327331 compression : ParquetCompression | None = None ,
328332 ) -> DuckDBPyRelation : ...
329- def from_query (self , query : str , * , alias : str = "" , params : object = None ) -> DuckDBPyRelation : ...
333+ def from_query (
334+ self , query : str | template .SqlTemplate | template .CompiledSql , * , alias : str = "" , params : object = None
335+ ) -> DuckDBPyRelation : ...
330336 def get_table_names (self , query : str , * , qualified : bool = False ) -> set [str ]: ...
331337 def install_extension (
332338 self ,
@@ -355,7 +361,9 @@ class DuckDBPyConnection:
355361 def pl (
356362 self , rows_per_batch : typing .SupportsInt = 1000000 , * , lazy : bool = False
357363 ) -> polars .DataFrame | polars .LazyFrame : ...
358- def query (self , query : str , * , alias : str = "" , params : object = None ) -> DuckDBPyRelation : ...
364+ def query (
365+ self , query : str | template .SqlTemplate | template .CompiledSql , * , alias : str = "" , params : object = None
366+ ) -> DuckDBPyRelation : ...
359367 def query_progress (self ) -> float : ...
360368 def read_csv (
361369 self ,
@@ -448,7 +456,13 @@ class DuckDBPyConnection:
448456 def remove_function (self , name : str ) -> DuckDBPyConnection : ...
449457 def rollback (self ) -> DuckDBPyConnection : ...
450458 def row_type (self , fields : IntoFields ) -> sqltypes .DuckDBPyType : ...
451- def sql (self , query : Statement | str , * , alias : str = "" , params : object = None ) -> DuckDBPyRelation : ...
459+ def sql (
460+ self ,
461+ query : Statement | str | template .SqlTemplate | template .CompiledSql ,
462+ * ,
463+ alias : str = "" ,
464+ params : object = None ,
465+ ) -> DuckDBPyRelation : ...
452466 def sqltype (self , type_str : str ) -> sqltypes .DuckDBPyType : ...
453467 def string_type (self , collation : str = "" ) -> sqltypes .DuckDBPyType : ...
454468 def struct_type (self , fields : IntoFields ) -> sqltypes .DuckDBPyType : ...
@@ -952,7 +966,7 @@ def enum_type(
952966 connection : DuckDBPyConnection | None = None ,
953967) -> sqltypes .DuckDBPyType : ...
954968def execute (
955- query : Statement | str ,
969+ query : Statement | str | template . SqlTemplate | template . CompiledSql ,
956970 parameters : object = None ,
957971 * ,
958972 connection : DuckDBPyConnection | None = None ,
@@ -1067,7 +1081,7 @@ def from_parquet(
10671081 connection : DuckDBPyConnection | None = None ,
10681082) -> DuckDBPyRelation : ...
10691083def from_query (
1070- query : Statement | str ,
1084+ query : Statement | str | template . SqlTemplate | template . CompiledSql ,
10711085 * ,
10721086 alias : str = "" ,
10731087 params : object = None ,
@@ -1132,7 +1146,7 @@ def project(
11321146 df : pandas .DataFrame , * args : IntoExpr , groups : str = "" , connection : DuckDBPyConnection | None = None
11331147) -> DuckDBPyRelation : ...
11341148def query (
1135- query : Statement | str ,
1149+ query : Statement | str | template . SqlTemplate | template . CompiledSql ,
11361150 * ,
11371151 alias : str = "" ,
11381152 params : object = None ,
@@ -1245,7 +1259,7 @@ def row_type(fields: IntoFields, *, connection: DuckDBPyConnection | None = None
12451259def rowcount (* , connection : DuckDBPyConnection | None = None ) -> int : ...
12461260def set_default_connection (connection : DuckDBPyConnection ) -> None : ...
12471261def sql (
1248- query : Statement | str ,
1262+ query : Statement | str | template . SqlTemplate | template . CompiledSql ,
12491263 * ,
12501264 alias : str = "" ,
12511265 params : object = None ,
0 commit comments