sqlspec 0.9.1__py3-none-any.whl → 0.10.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of sqlspec might be problematic. Click here for more details.

Files changed (48) hide show
  1. sqlspec/__init__.py +2 -1
  2. sqlspec/_typing.py +24 -32
  3. sqlspec/adapters/adbc/__init__.py +2 -1
  4. sqlspec/adapters/adbc/config.py +7 -13
  5. sqlspec/adapters/adbc/driver.py +37 -30
  6. sqlspec/adapters/aiosqlite/__init__.py +2 -1
  7. sqlspec/adapters/aiosqlite/config.py +10 -12
  8. sqlspec/adapters/aiosqlite/driver.py +36 -31
  9. sqlspec/adapters/asyncmy/__init__.py +2 -1
  10. sqlspec/adapters/asyncmy/driver.py +34 -31
  11. sqlspec/adapters/asyncpg/config.py +1 -3
  12. sqlspec/adapters/asyncpg/driver.py +7 -3
  13. sqlspec/adapters/bigquery/__init__.py +4 -0
  14. sqlspec/adapters/bigquery/config/__init__.py +3 -0
  15. sqlspec/adapters/bigquery/config/_common.py +40 -0
  16. sqlspec/adapters/bigquery/config/_sync.py +87 -0
  17. sqlspec/adapters/bigquery/driver.py +701 -0
  18. sqlspec/adapters/duckdb/__init__.py +2 -1
  19. sqlspec/adapters/duckdb/config.py +17 -18
  20. sqlspec/adapters/duckdb/driver.py +38 -30
  21. sqlspec/adapters/oracledb/__init__.py +8 -1
  22. sqlspec/adapters/oracledb/config/_asyncio.py +7 -8
  23. sqlspec/adapters/oracledb/config/_sync.py +6 -7
  24. sqlspec/adapters/oracledb/driver.py +65 -62
  25. sqlspec/adapters/psqlpy/__init__.py +9 -0
  26. sqlspec/adapters/psqlpy/config.py +5 -5
  27. sqlspec/adapters/psqlpy/driver.py +34 -28
  28. sqlspec/adapters/psycopg/__init__.py +8 -1
  29. sqlspec/adapters/psycopg/config/__init__.py +10 -0
  30. sqlspec/adapters/psycopg/config/_async.py +6 -7
  31. sqlspec/adapters/psycopg/config/_sync.py +7 -8
  32. sqlspec/adapters/psycopg/driver.py +63 -53
  33. sqlspec/adapters/sqlite/__init__.py +2 -1
  34. sqlspec/adapters/sqlite/config.py +12 -11
  35. sqlspec/adapters/sqlite/driver.py +36 -29
  36. sqlspec/base.py +1 -66
  37. sqlspec/exceptions.py +9 -0
  38. sqlspec/extensions/litestar/config.py +3 -11
  39. sqlspec/extensions/litestar/handlers.py +2 -1
  40. sqlspec/extensions/litestar/plugin.py +4 -2
  41. sqlspec/mixins.py +156 -0
  42. sqlspec/typing.py +19 -1
  43. {sqlspec-0.9.1.dist-info → sqlspec-0.10.1.dist-info}/METADATA +8 -3
  44. sqlspec-0.10.1.dist-info/RECORD +67 -0
  45. sqlspec-0.9.1.dist-info/RECORD +0 -61
  46. {sqlspec-0.9.1.dist-info → sqlspec-0.10.1.dist-info}/WHEEL +0 -0
  47. {sqlspec-0.9.1.dist-info → sqlspec-0.10.1.dist-info}/licenses/LICENSE +0 -0
  48. {sqlspec-0.9.1.dist-info → sqlspec-0.10.1.dist-info}/licenses/NOTICE +0 -0
@@ -1,38 +1,39 @@
1
1
  from contextlib import asynccontextmanager, contextmanager
2
2
  from typing import TYPE_CHECKING, Any, Optional, Union, cast, overload
3
3
 
4
- from sqlspec.base import (
5
- AsyncArrowBulkOperationsMixin,
6
- AsyncDriverAdapterProtocol,
7
- SyncArrowBulkOperationsMixin,
8
- SyncDriverAdapterProtocol,
9
- T,
10
- )
11
- from sqlspec.typing import ArrowTable, StatementParameterType
4
+ from oracledb import AsyncConnection, AsyncCursor, Connection, Cursor
5
+
6
+ from sqlspec.base import AsyncDriverAdapterProtocol, SyncDriverAdapterProtocol
7
+ from sqlspec.mixins import AsyncArrowBulkOperationsMixin, SQLTranslatorMixin, SyncArrowBulkOperationsMixin
8
+ from sqlspec.typing import ArrowTable, StatementParameterType, T
12
9
 
13
10
  if TYPE_CHECKING:
14
11
  from collections.abc import AsyncGenerator, Generator, Sequence
15
12
 
16
- from oracledb import AsyncConnection, AsyncCursor, Connection, Cursor
17
-
18
- # Conditionally import ArrowTable for type checking
19
13
  from sqlspec.typing import ModelDTOT
20
14
 
21
- __all__ = ("OracleAsyncDriver", "OracleSyncDriver")
15
+ __all__ = ("OracleAsyncConnection", "OracleAsyncDriver", "OracleSyncConnection", "OracleSyncDriver")
22
16
 
17
+ OracleSyncConnection = Connection
18
+ OracleAsyncConnection = AsyncConnection
23
19
 
24
- class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAdapterProtocol["Connection"]):
20
+
21
+ class OracleSyncDriver(
22
+ SyncArrowBulkOperationsMixin["OracleSyncConnection"],
23
+ SQLTranslatorMixin["OracleSyncConnection"],
24
+ SyncDriverAdapterProtocol["OracleSyncConnection"],
25
+ ):
25
26
  """Oracle Sync Driver Adapter."""
26
27
 
27
- connection: "Connection"
28
+ connection: "OracleSyncConnection"
28
29
  dialect: str = "oracle"
29
30
 
30
- def __init__(self, connection: "Connection") -> None:
31
+ def __init__(self, connection: "OracleSyncConnection") -> None:
31
32
  self.connection = connection
32
33
 
33
34
  @staticmethod
34
35
  @contextmanager
35
- def _with_cursor(connection: "Connection") -> "Generator[Cursor, None, None]":
36
+ def _with_cursor(connection: "OracleSyncConnection") -> "Generator[Cursor, None, None]":
36
37
  cursor = connection.cursor()
37
38
  try:
38
39
  yield cursor
@@ -47,7 +48,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
47
48
  parameters: "Optional[StatementParameterType]" = None,
48
49
  /,
49
50
  *,
50
- connection: "Optional[Connection]" = None,
51
+ connection: "Optional[OracleSyncConnection]" = None,
51
52
  schema_type: None = None,
52
53
  **kwargs: Any,
53
54
  ) -> "Sequence[dict[str, Any]]": ...
@@ -58,7 +59,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
58
59
  parameters: "Optional[StatementParameterType]" = None,
59
60
  /,
60
61
  *,
61
- connection: "Optional[Connection]" = None,
62
+ connection: "Optional[OracleSyncConnection]" = None,
62
63
  schema_type: "type[ModelDTOT]",
63
64
  **kwargs: Any,
64
65
  ) -> "Sequence[ModelDTOT]": ...
@@ -68,7 +69,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
68
69
  parameters: "Optional[StatementParameterType]" = None,
69
70
  /,
70
71
  *,
71
- connection: "Optional[Connection]" = None,
72
+ connection: "Optional[OracleSyncConnection]" = None,
72
73
  schema_type: "Optional[type[ModelDTOT]]" = None,
73
74
  **kwargs: Any,
74
75
  ) -> "Sequence[Union[ModelDTOT, dict[str, Any]]]":
@@ -106,7 +107,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
106
107
  parameters: "Optional[StatementParameterType]" = None,
107
108
  /,
108
109
  *,
109
- connection: "Optional[Connection]" = None,
110
+ connection: "Optional[OracleSyncConnection]" = None,
110
111
  schema_type: None = None,
111
112
  **kwargs: Any,
112
113
  ) -> "dict[str, Any]": ...
@@ -117,7 +118,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
117
118
  parameters: "Optional[StatementParameterType]" = None,
118
119
  /,
119
120
  *,
120
- connection: "Optional[Connection]" = None,
121
+ connection: "Optional[OracleSyncConnection]" = None,
121
122
  schema_type: "type[ModelDTOT]",
122
123
  **kwargs: Any,
123
124
  ) -> "ModelDTOT": ...
@@ -127,7 +128,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
127
128
  parameters: "Optional[StatementParameterType]" = None,
128
129
  /,
129
130
  *,
130
- connection: "Optional[Connection]" = None,
131
+ connection: "Optional[OracleSyncConnection]" = None,
131
132
  schema_type: "Optional[type[ModelDTOT]]" = None,
132
133
  **kwargs: Any,
133
134
  ) -> "Union[ModelDTOT, dict[str, Any]]":
@@ -166,7 +167,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
166
167
  parameters: "Optional[StatementParameterType]" = None,
167
168
  /,
168
169
  *,
169
- connection: "Optional[Connection]" = None,
170
+ connection: "Optional[OracleSyncConnection]" = None,
170
171
  schema_type: None = None,
171
172
  **kwargs: Any,
172
173
  ) -> "Optional[dict[str, Any]]": ...
@@ -177,7 +178,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
177
178
  parameters: "Optional[StatementParameterType]" = None,
178
179
  /,
179
180
  *,
180
- connection: "Optional[Connection]" = None,
181
+ connection: "Optional[OracleSyncConnection]" = None,
181
182
  schema_type: "type[ModelDTOT]",
182
183
  **kwargs: Any,
183
184
  ) -> "Optional[ModelDTOT]": ...
@@ -187,7 +188,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
187
188
  parameters: "Optional[StatementParameterType]" = None,
188
189
  /,
189
190
  *,
190
- connection: "Optional[Connection]" = None,
191
+ connection: "Optional[OracleSyncConnection]" = None,
191
192
  schema_type: "Optional[type[ModelDTOT]]" = None,
192
193
  **kwargs: Any,
193
194
  ) -> "Optional[Union[ModelDTOT, dict[str, Any]]]":
@@ -221,7 +222,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
221
222
  parameters: "Optional[StatementParameterType]" = None,
222
223
  /,
223
224
  *,
224
- connection: "Optional[Connection]" = None,
225
+ connection: "Optional[OracleSyncConnection]" = None,
225
226
  schema_type: None = None,
226
227
  **kwargs: Any,
227
228
  ) -> "Any": ...
@@ -232,7 +233,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
232
233
  parameters: "Optional[StatementParameterType]" = None,
233
234
  /,
234
235
  *,
235
- connection: "Optional[Connection]" = None,
236
+ connection: "Optional[OracleSyncConnection]" = None,
236
237
  schema_type: "type[T]",
237
238
  **kwargs: Any,
238
239
  ) -> "T": ...
@@ -242,7 +243,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
242
243
  parameters: "Optional[StatementParameterType]" = None,
243
244
  /,
244
245
  *,
245
- connection: "Optional[Connection]" = None,
246
+ connection: "Optional[OracleSyncConnection]" = None,
246
247
  schema_type: "Optional[type[T]]" = None,
247
248
  **kwargs: Any,
248
249
  ) -> "Union[T, Any]":
@@ -270,7 +271,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
270
271
  parameters: "Optional[StatementParameterType]" = None,
271
272
  /,
272
273
  *,
273
- connection: "Optional[Connection]" = None,
274
+ connection: "Optional[OracleSyncConnection]" = None,
274
275
  schema_type: None = None,
275
276
  **kwargs: Any,
276
277
  ) -> "Optional[Any]": ...
@@ -281,7 +282,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
281
282
  parameters: "Optional[StatementParameterType]" = None,
282
283
  /,
283
284
  *,
284
- connection: "Optional[Connection]" = None,
285
+ connection: "Optional[OracleSyncConnection]" = None,
285
286
  schema_type: "type[T]",
286
287
  **kwargs: Any,
287
288
  ) -> "Optional[T]": ...
@@ -291,7 +292,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
291
292
  parameters: "Optional[StatementParameterType]" = None,
292
293
  /,
293
294
  *,
294
- connection: "Optional[Connection]" = None,
295
+ connection: "Optional[OracleSyncConnection]" = None,
295
296
  schema_type: "Optional[type[T]]" = None,
296
297
  **kwargs: Any,
297
298
  ) -> "Optional[Union[T, Any]]":
@@ -320,7 +321,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
320
321
  parameters: "Optional[StatementParameterType]" = None,
321
322
  /,
322
323
  *,
323
- connection: "Optional[Connection]" = None,
324
+ connection: "Optional[OracleSyncConnection]" = None,
324
325
  **kwargs: Any,
325
326
  ) -> int:
326
327
  """Insert, update, or delete data from the database.
@@ -342,7 +343,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
342
343
  parameters: "Optional[StatementParameterType]" = None,
343
344
  /,
344
345
  *,
345
- connection: "Optional[Connection]" = None,
346
+ connection: "Optional[OracleSyncConnection]" = None,
346
347
  schema_type: None = None,
347
348
  **kwargs: Any,
348
349
  ) -> "dict[str, Any]": ...
@@ -353,7 +354,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
353
354
  parameters: "Optional[StatementParameterType]" = None,
354
355
  /,
355
356
  *,
356
- connection: "Optional[Connection]" = None,
357
+ connection: "Optional[OracleSyncConnection]" = None,
357
358
  schema_type: "type[ModelDTOT]",
358
359
  **kwargs: Any,
359
360
  ) -> "ModelDTOT": ...
@@ -363,7 +364,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
363
364
  parameters: "Optional[StatementParameterType]" = None,
364
365
  /,
365
366
  *,
366
- connection: "Optional[Connection]" = None,
367
+ connection: "Optional[OracleSyncConnection]" = None,
367
368
  schema_type: "Optional[type[ModelDTOT]]" = None,
368
369
  **kwargs: Any,
369
370
  ) -> "Optional[Union[dict[str, Any], ModelDTOT]]":
@@ -396,7 +397,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
396
397
  parameters: "Optional[StatementParameterType]" = None,
397
398
  /,
398
399
  *,
399
- connection: "Optional[Connection]" = None,
400
+ connection: "Optional[OracleSyncConnection]" = None,
400
401
  **kwargs: Any,
401
402
  ) -> str:
402
403
  """Execute a script.
@@ -417,7 +418,7 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
417
418
  parameters: "Optional[StatementParameterType]" = None,
418
419
  /,
419
420
  *,
420
- connection: "Optional[Connection]" = None,
421
+ connection: "Optional[OracleSyncConnection]" = None,
421
422
  **kwargs: Any,
422
423
  ) -> "ArrowTable": # pyright: ignore[reportUnknownVariableType]
423
424
  """Execute a SQL query and return results as an Apache Arrow Table.
@@ -433,19 +434,21 @@ class OracleSyncDriver(SyncArrowBulkOperationsMixin["Connection"], SyncDriverAda
433
434
 
434
435
 
435
436
  class OracleAsyncDriver(
436
- AsyncArrowBulkOperationsMixin["AsyncConnection"], AsyncDriverAdapterProtocol["AsyncConnection"]
437
+ AsyncArrowBulkOperationsMixin["OracleAsyncConnection"],
438
+ SQLTranslatorMixin["OracleAsyncConnection"],
439
+ AsyncDriverAdapterProtocol["OracleAsyncConnection"],
437
440
  ):
438
441
  """Oracle Async Driver Adapter."""
439
442
 
440
- connection: "AsyncConnection"
443
+ connection: "OracleAsyncConnection"
441
444
  dialect: str = "oracle"
442
445
 
443
- def __init__(self, connection: "AsyncConnection") -> None:
446
+ def __init__(self, connection: "OracleAsyncConnection") -> None:
444
447
  self.connection = connection
445
448
 
446
449
  @staticmethod
447
450
  @asynccontextmanager
448
- async def _with_cursor(connection: "AsyncConnection") -> "AsyncGenerator[AsyncCursor, None]":
451
+ async def _with_cursor(connection: "OracleAsyncConnection") -> "AsyncGenerator[AsyncCursor, None]":
449
452
  cursor = connection.cursor()
450
453
  try:
451
454
  yield cursor
@@ -460,7 +463,7 @@ class OracleAsyncDriver(
460
463
  parameters: "Optional[StatementParameterType]" = None,
461
464
  /,
462
465
  *,
463
- connection: "Optional[AsyncConnection]" = None,
466
+ connection: "Optional[OracleAsyncConnection]" = None,
464
467
  schema_type: None = None,
465
468
  **kwargs: Any,
466
469
  ) -> "Sequence[dict[str, Any]]": ...
@@ -471,7 +474,7 @@ class OracleAsyncDriver(
471
474
  parameters: "Optional[StatementParameterType]" = None,
472
475
  /,
473
476
  *,
474
- connection: "Optional[AsyncConnection]" = None,
477
+ connection: "Optional[OracleAsyncConnection]" = None,
475
478
  schema_type: "type[ModelDTOT]",
476
479
  **kwargs: Any,
477
480
  ) -> "Sequence[ModelDTOT]": ...
@@ -481,7 +484,7 @@ class OracleAsyncDriver(
481
484
  parameters: "Optional[StatementParameterType]" = None,
482
485
  /,
483
486
  *,
484
- connection: "Optional[AsyncConnection]" = None,
487
+ connection: "Optional[OracleAsyncConnection]" = None,
485
488
  schema_type: "Optional[type[ModelDTOT]]" = None,
486
489
  **kwargs: Any,
487
490
  ) -> "Sequence[Union[ModelDTOT, dict[str, Any]]]":
@@ -513,7 +516,7 @@ class OracleAsyncDriver(
513
516
  parameters: "Optional[StatementParameterType]" = None,
514
517
  /,
515
518
  *,
516
- connection: "Optional[AsyncConnection]" = None,
519
+ connection: "Optional[OracleAsyncConnection]" = None,
517
520
  schema_type: None = None,
518
521
  **kwargs: Any,
519
522
  ) -> "dict[str, Any]": ...
@@ -524,7 +527,7 @@ class OracleAsyncDriver(
524
527
  parameters: "Optional[StatementParameterType]" = None,
525
528
  /,
526
529
  *,
527
- connection: "Optional[AsyncConnection]" = None,
530
+ connection: "Optional[OracleAsyncConnection]" = None,
528
531
  schema_type: "type[ModelDTOT]",
529
532
  **kwargs: Any,
530
533
  ) -> "ModelDTOT": ...
@@ -534,7 +537,7 @@ class OracleAsyncDriver(
534
537
  parameters: "Optional[StatementParameterType]" = None,
535
538
  /,
536
539
  *,
537
- connection: "Optional[AsyncConnection]" = None,
540
+ connection: "Optional[OracleAsyncConnection]" = None,
538
541
  schema_type: "Optional[type[ModelDTOT]]" = None,
539
542
  **kwargs: Any,
540
543
  ) -> "Union[ModelDTOT, dict[str, Any]]":
@@ -565,7 +568,7 @@ class OracleAsyncDriver(
565
568
  parameters: "Optional[StatementParameterType]" = None,
566
569
  /,
567
570
  *,
568
- connection: "Optional[AsyncConnection]" = None,
571
+ connection: "Optional[OracleAsyncConnection]" = None,
569
572
  schema_type: None = None,
570
573
  **kwargs: Any,
571
574
  ) -> "Optional[dict[str, Any]]": ...
@@ -576,7 +579,7 @@ class OracleAsyncDriver(
576
579
  parameters: "Optional[StatementParameterType]" = None,
577
580
  /,
578
581
  *,
579
- connection: "Optional[AsyncConnection]" = None,
582
+ connection: "Optional[OracleAsyncConnection]" = None,
580
583
  schema_type: "type[ModelDTOT]",
581
584
  **kwargs: Any,
582
585
  ) -> "Optional[ModelDTOT]": ...
@@ -586,7 +589,7 @@ class OracleAsyncDriver(
586
589
  parameters: "Optional[StatementParameterType]" = None,
587
590
  /,
588
591
  *,
589
- connection: "Optional[AsyncConnection]" = None,
592
+ connection: "Optional[OracleAsyncConnection]" = None,
590
593
  schema_type: "Optional[type[ModelDTOT]]" = None,
591
594
  **kwargs: Any,
592
595
  ) -> "Optional[Union[ModelDTOT, dict[str, Any]]]":
@@ -620,7 +623,7 @@ class OracleAsyncDriver(
620
623
  parameters: "Optional[StatementParameterType]" = None,
621
624
  /,
622
625
  *,
623
- connection: "Optional[AsyncConnection]" = None,
626
+ connection: "Optional[OracleAsyncConnection]" = None,
624
627
  schema_type: None = None,
625
628
  **kwargs: Any,
626
629
  ) -> "Any": ...
@@ -631,7 +634,7 @@ class OracleAsyncDriver(
631
634
  parameters: "Optional[StatementParameterType]" = None,
632
635
  /,
633
636
  *,
634
- connection: "Optional[AsyncConnection]" = None,
637
+ connection: "Optional[OracleAsyncConnection]" = None,
635
638
  schema_type: "type[T]",
636
639
  **kwargs: Any,
637
640
  ) -> "T": ...
@@ -641,7 +644,7 @@ class OracleAsyncDriver(
641
644
  parameters: "Optional[StatementParameterType]" = None,
642
645
  /,
643
646
  *,
644
- connection: "Optional[AsyncConnection]" = None,
647
+ connection: "Optional[OracleAsyncConnection]" = None,
645
648
  schema_type: "Optional[type[T]]" = None,
646
649
  **kwargs: Any,
647
650
  ) -> "Union[T, Any]":
@@ -669,7 +672,7 @@ class OracleAsyncDriver(
669
672
  parameters: "Optional[StatementParameterType]" = None,
670
673
  /,
671
674
  *,
672
- connection: "Optional[AsyncConnection]" = None,
675
+ connection: "Optional[OracleAsyncConnection]" = None,
673
676
  schema_type: None = None,
674
677
  **kwargs: Any,
675
678
  ) -> "Optional[Any]": ...
@@ -680,7 +683,7 @@ class OracleAsyncDriver(
680
683
  parameters: "Optional[StatementParameterType]" = None,
681
684
  /,
682
685
  *,
683
- connection: "Optional[AsyncConnection]" = None,
686
+ connection: "Optional[OracleAsyncConnection]" = None,
684
687
  schema_type: "type[T]",
685
688
  **kwargs: Any,
686
689
  ) -> "Optional[T]": ...
@@ -690,7 +693,7 @@ class OracleAsyncDriver(
690
693
  parameters: "Optional[StatementParameterType]" = None,
691
694
  /,
692
695
  *,
693
- connection: "Optional[AsyncConnection]" = None,
696
+ connection: "Optional[OracleAsyncConnection]" = None,
694
697
  schema_type: "Optional[type[T]]" = None,
695
698
  **kwargs: Any,
696
699
  ) -> "Optional[Union[T, Any]]":
@@ -719,7 +722,7 @@ class OracleAsyncDriver(
719
722
  parameters: "Optional[StatementParameterType]" = None,
720
723
  /,
721
724
  *,
722
- connection: "Optional[AsyncConnection]" = None,
725
+ connection: "Optional[OracleAsyncConnection]" = None,
723
726
  **kwargs: Any,
724
727
  ) -> int:
725
728
  """Insert, update, or delete data from the database.
@@ -741,7 +744,7 @@ class OracleAsyncDriver(
741
744
  parameters: "Optional[StatementParameterType]" = None,
742
745
  /,
743
746
  *,
744
- connection: "Optional[AsyncConnection]" = None,
747
+ connection: "Optional[OracleAsyncConnection]" = None,
745
748
  schema_type: None = None,
746
749
  **kwargs: Any,
747
750
  ) -> "dict[str, Any]": ...
@@ -752,7 +755,7 @@ class OracleAsyncDriver(
752
755
  parameters: "Optional[StatementParameterType]" = None,
753
756
  /,
754
757
  *,
755
- connection: "Optional[AsyncConnection]" = None,
758
+ connection: "Optional[OracleAsyncConnection]" = None,
756
759
  schema_type: "type[ModelDTOT]",
757
760
  **kwargs: Any,
758
761
  ) -> "ModelDTOT": ...
@@ -762,7 +765,7 @@ class OracleAsyncDriver(
762
765
  parameters: "Optional[StatementParameterType]" = None,
763
766
  /,
764
767
  *,
765
- connection: "Optional[AsyncConnection]" = None,
768
+ connection: "Optional[OracleAsyncConnection]" = None,
766
769
  schema_type: "Optional[type[ModelDTOT]]" = None,
767
770
  **kwargs: Any,
768
771
  ) -> "Optional[Union[dict[str, Any], ModelDTOT]]":
@@ -795,7 +798,7 @@ class OracleAsyncDriver(
795
798
  parameters: "Optional[StatementParameterType]" = None,
796
799
  /,
797
800
  *,
798
- connection: "Optional[AsyncConnection]" = None,
801
+ connection: "Optional[OracleAsyncConnection]" = None,
799
802
  **kwargs: Any,
800
803
  ) -> str:
801
804
  """Execute a script.
@@ -816,7 +819,7 @@ class OracleAsyncDriver(
816
819
  parameters: "Optional[StatementParameterType]" = None,
817
820
  /,
818
821
  *,
819
- connection: "Optional[AsyncConnection]" = None,
822
+ connection: "Optional[OracleAsyncConnection]" = None,
820
823
  **kwargs: Any,
821
824
  ) -> "ArrowTable": # pyright: ignore[reportUnknownVariableType]
822
825
  """Execute a SQL query asynchronously and return results as an Apache Arrow Table.
@@ -0,0 +1,9 @@
1
+ from sqlspec.adapters.psqlpy.config import PsqlpyConfig, PsqlpyPoolConfig
2
+ from sqlspec.adapters.psqlpy.driver import PsqlpyConnection, PsqlpyDriver
3
+
4
+ __all__ = (
5
+ "PsqlpyConfig",
6
+ "PsqlpyConnection",
7
+ "PsqlpyDriver",
8
+ "PsqlpyPoolConfig",
9
+ )
@@ -6,7 +6,7 @@ from typing import TYPE_CHECKING, Any, Optional, Union
6
6
 
7
7
  from psqlpy import Connection, ConnectionPool
8
8
 
9
- from sqlspec.adapters.psqlpy.driver import PsqlpyDriver
9
+ from sqlspec.adapters.psqlpy.driver import PsqlpyConnection, PsqlpyDriver
10
10
  from sqlspec.base import AsyncDatabaseConfig, GenericPoolConfig
11
11
  from sqlspec.exceptions import ImproperConfigurationError
12
12
  from sqlspec.typing import Empty, EmptyType, dataclass_to_dict
@@ -94,7 +94,7 @@ class PsqlpyPoolConfig(GenericPoolConfig):
94
94
 
95
95
 
96
96
  @dataclass
97
- class PsqlpyConfig(AsyncDatabaseConfig[Connection, ConnectionPool, PsqlpyDriver]):
97
+ class PsqlpyConfig(AsyncDatabaseConfig[PsqlpyConnection, ConnectionPool, PsqlpyDriver]):
98
98
  """Configuration for psqlpy database connections, managing a connection pool.
99
99
 
100
100
  This configuration class wraps `PsqlpyPoolConfig` and manages the lifecycle
@@ -105,7 +105,7 @@ class PsqlpyConfig(AsyncDatabaseConfig[Connection, ConnectionPool, PsqlpyDriver]
105
105
  """Psqlpy Pool configuration"""
106
106
  driver_type: type[PsqlpyDriver] = field(default=PsqlpyDriver, init=False, hash=False)
107
107
  """Type of the driver object"""
108
- connection_type: type[Connection] = field(default=Connection, init=False, hash=False)
108
+ connection_type: type[PsqlpyConnection] = field(default=PsqlpyConnection, init=False, hash=False)
109
109
  """Type of the connection object"""
110
110
  pool_instance: Optional[ConnectionPool] = field(default=None, hash=False)
111
111
  """The connection pool instance. If set, this will be used instead of creating a new pool."""
@@ -204,7 +204,7 @@ class PsqlpyConfig(AsyncDatabaseConfig[Connection, ConnectionPool, PsqlpyDriver]
204
204
 
205
205
  return _create()
206
206
 
207
- def create_connection(self) -> "Awaitable[Connection]":
207
+ def create_connection(self) -> "Awaitable[PsqlpyConnection]":
208
208
  """Create and return a new, standalone psqlpy connection using the configured parameters.
209
209
 
210
210
  Returns:
@@ -222,7 +222,7 @@ class PsqlpyConfig(AsyncDatabaseConfig[Connection, ConnectionPool, PsqlpyDriver]
222
222
  return _create()
223
223
 
224
224
  @asynccontextmanager
225
- async def provide_connection(self, *args: "Any", **kwargs: "Any") -> "AsyncGenerator[Connection, None]":
225
+ async def provide_connection(self, *args: "Any", **kwargs: "Any") -> "AsyncGenerator[PsqlpyConnection, None]":
226
226
  """Acquire a connection from the pool.
227
227
 
228
228
  Yields: