sqlspec 0.8.0__py3-none-any.whl → 0.9.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 (45) hide show
  1. sqlspec/_typing.py +39 -6
  2. sqlspec/adapters/adbc/__init__.py +2 -2
  3. sqlspec/adapters/adbc/config.py +34 -11
  4. sqlspec/adapters/adbc/driver.py +302 -111
  5. sqlspec/adapters/aiosqlite/__init__.py +2 -2
  6. sqlspec/adapters/aiosqlite/config.py +2 -2
  7. sqlspec/adapters/aiosqlite/driver.py +164 -42
  8. sqlspec/adapters/asyncmy/__init__.py +3 -3
  9. sqlspec/adapters/asyncmy/config.py +11 -12
  10. sqlspec/adapters/asyncmy/driver.py +161 -37
  11. sqlspec/adapters/asyncpg/__init__.py +5 -5
  12. sqlspec/adapters/asyncpg/config.py +17 -19
  13. sqlspec/adapters/asyncpg/driver.py +386 -96
  14. sqlspec/adapters/duckdb/__init__.py +2 -2
  15. sqlspec/adapters/duckdb/config.py +2 -2
  16. sqlspec/adapters/duckdb/driver.py +190 -60
  17. sqlspec/adapters/oracledb/__init__.py +8 -8
  18. sqlspec/adapters/oracledb/config/__init__.py +6 -6
  19. sqlspec/adapters/oracledb/config/_asyncio.py +9 -10
  20. sqlspec/adapters/oracledb/config/_sync.py +8 -9
  21. sqlspec/adapters/oracledb/driver.py +384 -45
  22. sqlspec/adapters/psqlpy/__init__.py +0 -0
  23. sqlspec/adapters/psqlpy/config.py +250 -0
  24. sqlspec/adapters/psqlpy/driver.py +481 -0
  25. sqlspec/adapters/psycopg/__init__.py +10 -5
  26. sqlspec/adapters/psycopg/config/__init__.py +6 -6
  27. sqlspec/adapters/psycopg/config/_async.py +12 -12
  28. sqlspec/adapters/psycopg/config/_sync.py +13 -13
  29. sqlspec/adapters/psycopg/driver.py +432 -222
  30. sqlspec/adapters/sqlite/__init__.py +2 -2
  31. sqlspec/adapters/sqlite/config.py +2 -2
  32. sqlspec/adapters/sqlite/driver.py +176 -72
  33. sqlspec/base.py +687 -161
  34. sqlspec/exceptions.py +30 -0
  35. sqlspec/extensions/litestar/config.py +6 -0
  36. sqlspec/extensions/litestar/handlers.py +25 -0
  37. sqlspec/extensions/litestar/plugin.py +8 -1
  38. sqlspec/statement.py +373 -0
  39. sqlspec/typing.py +10 -1
  40. {sqlspec-0.8.0.dist-info → sqlspec-0.9.1.dist-info}/METADATA +144 -2
  41. sqlspec-0.9.1.dist-info/RECORD +61 -0
  42. sqlspec-0.8.0.dist-info/RECORD +0 -57
  43. {sqlspec-0.8.0.dist-info → sqlspec-0.9.1.dist-info}/WHEEL +0 -0
  44. {sqlspec-0.8.0.dist-info → sqlspec-0.9.1.dist-info}/licenses/LICENSE +0 -0
  45. {sqlspec-0.8.0.dist-info → sqlspec-0.9.1.dist-info}/licenses/NOTICE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlspec
3
- Version: 0.8.0
3
+ Version: 0.9.1
4
4
  Summary: SQL Experiments in Python
5
5
  Author-email: Cody Fincher <cody@litestar.dev>
6
6
  Maintainer-email: Litestar Developers <hello@litestar.dev>
@@ -42,6 +42,8 @@ Provides-Extra: orjson
42
42
  Requires-Dist: orjson; extra == 'orjson'
43
43
  Provides-Extra: performance
44
44
  Requires-Dist: sqlglot[rs]; extra == 'performance'
45
+ Provides-Extra: psqlpy
46
+ Requires-Dist: psqlpy; extra == 'psqlpy'
45
47
  Provides-Extra: psycopg
46
48
  Requires-Dist: psycopg[binary,pool]; extra == 'psycopg'
47
49
  Provides-Extra: pydantic
@@ -81,6 +83,145 @@ SQLSpec is an experimental Python library designed to streamline and modernize y
81
83
 
82
84
  SQLSpec is a work in progress. While it offers a solid foundation for modern SQL interactions, it does not yet include every feature you might find in a mature ORM or database toolkit. The focus is on building a robust, flexible core that can be extended over time.
83
85
 
86
+ ## Examples
87
+
88
+ We've talked about what SQLSpec is not, so let's look at what it can do.
89
+
90
+ These are just a few of the examples that demonstrate SQLSpec's flexibility and each of the bundled adapters offer the same config and driver interfaces.
91
+
92
+ ### DuckDB LLM
93
+
94
+ This is a quick implementation using some of the built in Secret and Extension management features of SQLSpec's DuckDB integration.
95
+
96
+ It allows you to communicate with any compatible OpenAPI conversations endpoint (such as Ollama). This examples:
97
+
98
+ - auto installs the `open_prompt` DuckDB extensions
99
+ - automatically creates the correct `open_prompt` comptaible secret required to use the extension
100
+
101
+ ```py
102
+ # /// script
103
+ # dependencies = [
104
+ # "sqlspec[duckdb,performance]",
105
+ # ]
106
+ # ///
107
+ import os
108
+
109
+ from sqlspec import SQLSpec
110
+ from sqlspec.adapters.duckdb import DuckDBConfig
111
+ from pydantic import BaseModel
112
+
113
+ class ChatMessage(BaseModel):
114
+ message: str
115
+
116
+ sql = SQLSpec()
117
+ etl_config = sql.add_config(
118
+ DuckDBConfig(
119
+ extensions=[{"name": "open_prompt"}],
120
+ secrets=[
121
+ {
122
+ "secret_type": "open_prompt",
123
+ "name": "open_prompt",
124
+ "value": {
125
+ "api_url": "http://127.0.0.1:11434/v1/chat/completions",
126
+ "model_name": "gemma3:1b",
127
+ "api_timeout": "120",
128
+ },
129
+ }
130
+ ],
131
+ )
132
+ )
133
+ with sql.provide_session(etl_config) as session:
134
+ result = session.select_one("SELECT open_prompt(?)", data.message, schema_type=ChatMessage)
135
+ print(result) # result is a ChatMessage pydantic model
136
+ ```
137
+
138
+ ### DuckDB Gemini Embeddings
139
+
140
+ In this example, we are again using DuckDB. However, we are going to use the built in to call the Google Gemini embeddings service directly from the database.
141
+
142
+ This example will
143
+
144
+ - auto installs the `http_client` and `vss` (vector similarity search) DuckDB extensions
145
+ - when a connection is created, it ensures that the `generate_embeddings` macro exists in the DuckDB database.
146
+ - Execute a simple query to call the Google API
147
+
148
+ ```py
149
+ # /// script
150
+ # dependencies = [
151
+ # "sqlspec[duckdb,performance]",
152
+ # ]
153
+ # ///
154
+ import os
155
+
156
+ from sqlspec import SQLSpec
157
+ from sqlspec.adapters.duckdb import DuckDBConfig
158
+
159
+ EMBEDDING_MODEL = "gemini-embedding-exp-03-07"
160
+ GOOGLE_API_KEY = os.environ.get("GOOGLE_API_KEY")
161
+ API_URL = (
162
+ f"https://generativelanguage.googleapis.com/v1beta/models/{EMBEDDING_MODEL}:embedContent?key=${GOOGLE_API_KEY}"
163
+ )
164
+
165
+ sql = SQLSpec()
166
+ etl_config = sql.add_config(
167
+ DuckDBConfig(
168
+ extensions=[{"name": "vss"}, {"name": "http_client"}],
169
+ on_connection_create=lambda connection: connection.execute(f"""
170
+ CREATE IF NOT EXISTS MACRO generate_embedding(q) AS (
171
+ WITH __request AS (
172
+ SELECT http_post(
173
+ '{API_URL}',
174
+ headers => MAP {{
175
+ 'accept': 'application/json',
176
+ }},
177
+ params => MAP {{
178
+ 'model': 'models/{EMBEDDING_MODEL}',
179
+ 'parts': [{{ 'text': q }}],
180
+ 'taskType': 'SEMANTIC_SIMILARITY'
181
+ }}
182
+ ) AS response
183
+ )
184
+ SELECT *
185
+ FROM __request,
186
+ );
187
+ """),
188
+ )
189
+ )
190
+ with sql.provide_session(etl_config) as session:
191
+ result = session.select_one("SELECT generate_embedding('example text')")
192
+ print(result) # result is a dictionary when `schema_type` is omitted.
193
+ ```
194
+
195
+ ### Basic Litestar Integration
196
+
197
+ In this example we are going to demonstrate how to create a basic configuration that integrates into Litestar.
198
+
199
+ ```py
200
+ # /// script
201
+ # dependencies = [
202
+ # "sqlspec[aiosqlite]",
203
+ # "litestar[standard]",
204
+ # ]
205
+ # ///
206
+
207
+ from aiosqlite import Connection
208
+ from litestar import Litestar, get
209
+
210
+ from sqlspec.adapters.aiosqlite import AiosqliteConfig, AiosqliteDriver
211
+ from sqlspec.extensions.litestar import SQLSpec
212
+
213
+
214
+ @get("/")
215
+ async def simple_sqlite(db_session: AiosqliteDriver) -> dict[str, str]:
216
+ return await db_session.select_one("SELECT 'Hello, world!' AS greeting")
217
+
218
+
219
+ sqlspec = SQLSpec(config=DatabaseConfig(
220
+ config=[AiosqliteConfig(), commit_mode="autocommit")],
221
+ )
222
+ app = Litestar(route_handlers=[simple_sqlite], plugins=[sqlspec])
223
+ ```
224
+
84
225
  ## Inspiration and Future Direction
85
226
 
86
227
  SQLSpec originally drew inspiration from features found in the `aiosql` library. This is a great library for working with and executed SQL stored in files. It's unclear how much of an overlap there will be between the two libraries, but it's possible that some features will be contributed back to `aiosql` where appropriate.
@@ -102,6 +243,7 @@ This list is not final. If you have a driver you'd like to see added, please ope
102
243
  | [`asyncpg`](https://magicstack.github.io/asyncpg/current/) | PostgreSQL | Async | ✅ |
103
244
  | [`psycopg`](https://www.psycopg.org/) | PostgreSQL | Sync | ✅ |
104
245
  | [`psycopg`](https://www.psycopg.org/) | PostgreSQL | Async | ✅ |
246
+ | [`psqlpy`](https://psqlpy-python.github.io/) | PostgreSQL | Async | ✅ |
105
247
  | [`aiosqlite`](https://github.com/omnilib/aiosqlite) | SQLite | Async | ✅ |
106
248
  | `sqlite3` | SQLite | Sync | ✅ |
107
249
  | [`oracledb`](https://oracle.github.io/python-oracledb/) | Oracle | Async | ✅ |
@@ -118,7 +260,7 @@ This list is not final. If you have a driver you'd like to see added, please ope
118
260
  - `sqlspec/`:
119
261
  - `adapters/`: Contains all database drivers and associated configuration.
120
262
  - `extensions/`:
121
- - `litestar/`: Future home of `litestar` integration.
263
+ - `litestar/`: Litestar framework integration
122
264
  - `fastapi/`: Future home of `fastapi` integration.
123
265
  - `flask/`: Future home of `flask` integration.
124
266
  - `*/`: Future home of your favorite framework integration 🔌 ✨
@@ -0,0 +1,61 @@
1
+ sqlspec/__init__.py,sha256=dsOivB7SmZhOcWkZQT12L4LHC6fQhWBk2s_3j85KkgQ,316
2
+ sqlspec/__metadata__.py,sha256=hNP3wXvtk8fQVPKGjRLpZ9mP-gaPJqzrmgm3UqpDIXQ,460
3
+ sqlspec/_serialization.py,sha256=tSwWwFImlYviC6ARdXRz0Bp4QXbCdc8cKGgZr33OglY,2657
4
+ sqlspec/_typing.py,sha256=6ukndnNu_XWKf2OW-HP1x1L7YmqohMwjg2HF4Hq3xdU,7111
5
+ sqlspec/base.py,sha256=-FM0xIFZSKYv4pGC3dsbiKWv_8oMAKz-UZqhRJIdE2o,35007
6
+ sqlspec/exceptions.py,sha256=EyS7B9qyyTo78CdkC5iQDYFW9eXILDA6xiSS4ABr0Ws,4033
7
+ sqlspec/filters.py,sha256=Gqwt4VQ7e8ffphkuR-jBfqW4m0OWGGUPiYWyEQ0Xn7M,3620
8
+ sqlspec/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ sqlspec/statement.py,sha256=lbnF_flv4sWPPiZtHX-53d72eCFcceBYB4BgQQYjnCU,17451
10
+ sqlspec/typing.py,sha256=AI-72LFQcwwPoW5oEdEFkNHzxnWQv6I7lxcZRoZd88U,15428
11
+ sqlspec/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ sqlspec/adapters/adbc/__init__.py,sha256=_mIoHMCXYWLCqGtnN8YEylhkNt3goTAvZgsT1dfEL6g,155
13
+ sqlspec/adapters/adbc/config.py,sha256=e2lrNsr8VN6R1ZBY16qusNj_W7npy7jp730NXCnhbBI,9866
14
+ sqlspec/adapters/adbc/driver.py,sha256=KpGxVhKf-6LoYNWfmng5VUR01GNjhHnOXBIkXznDwuE,19843
15
+ sqlspec/adapters/aiosqlite/__init__.py,sha256=TQME6tGSPswTkZBjW2oH39lbxpzSwwWG5SQfgFpSe00,185
16
+ sqlspec/adapters/aiosqlite/config.py,sha256=EjDJq9-Jn6MKnqlpL4ZwXYxaCKD0wE5GxrSYa2Ck1bA,4788
17
+ sqlspec/adapters/aiosqlite/driver.py,sha256=yjsPhpJR-9c7AVzBDGi6GyGMzRW87Bls2F02c8WhCSA,15161
18
+ sqlspec/adapters/asyncmy/__init__.py,sha256=w0hjokFrsBgYS0EnIv8Dorb7jz8M3ZBZYKMUXCUYEQg,247
19
+ sqlspec/adapters/asyncmy/config.py,sha256=5ILV46FWjc9Cy46aMuhinpfc70b_708h9ubHj9HRCmE,9412
20
+ sqlspec/adapters/asyncmy/driver.py,sha256=Mjrb0ZWVwroCI-F9pNMDQsjFn2a1Kme2iyO9NJ5d0TM,12202
21
+ sqlspec/adapters/asyncpg/__init__.py,sha256=iR-vJYxImcw5hLaDgMqPLLRxW_vOYylEpemSg5G4dP4,261
22
+ sqlspec/adapters/asyncpg/config.py,sha256=DH6ZLkL4iHmRbW80VFQK1kzWIFRyGkFAZdtF3_f13AQ,9987
23
+ sqlspec/adapters/asyncpg/driver.py,sha256=7Zp-lxA3EqAgon5HdaKEtBl35S82WuMwSj-P1zh74HM,22333
24
+ sqlspec/adapters/duckdb/__init__.py,sha256=b_4QWZC0emTsbuBjcDZrxoEc83hGuBMx7Wwha3fFTAE,167
25
+ sqlspec/adapters/duckdb/config.py,sha256=GJTzKp1cEFhKSe94n5wOXvrT4Sz3Md8mKRxmCBnfvsM,15731
26
+ sqlspec/adapters/duckdb/driver.py,sha256=NDgWlK6as96Vt_wCS7L8sI4wNjG0YwHfzg9q5OseYxU,13801
27
+ sqlspec/adapters/oracledb/__init__.py,sha256=g54_WLVzZhvD1sLC2uV0nfUs6WnYUJv2vqvvG34L7v0,398
28
+ sqlspec/adapters/oracledb/driver.py,sha256=7lSALyAiT-4SXKx1e7m3Pzli8SwZvTLyif-Zacc--Bc,30439
29
+ sqlspec/adapters/oracledb/config/__init__.py,sha256=emx5jWXqw3ifoW-m_tNI7sTz_duq2vRkubc0J2QqEQ4,306
30
+ sqlspec/adapters/oracledb/config/_asyncio.py,sha256=hu4o5q_d1O7svR_XrylWcmMrvmBzOp0T1m_Ybrbbr_o,7293
31
+ sqlspec/adapters/oracledb/config/_common.py,sha256=UJZL2DQQZM3uOn1E1A_gnsB8nX3-yCDXGd66PDI29_s,5691
32
+ sqlspec/adapters/oracledb/config/_sync.py,sha256=wvmC8bX2FhSD3W-k4RUBXnMP6cvEThsO6-vA-q5flUY,7016
33
+ sqlspec/adapters/psqlpy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
+ sqlspec/adapters/psqlpy/config.py,sha256=f6A4jxOQdd8GHhmaIX4g8mbGXQFamRbgsKXecaZ1o60,10157
35
+ sqlspec/adapters/psqlpy/driver.py,sha256=ykbozMFMJ4k7v2q-9moAnRzY2H14Mv21s2_z_mC8oLE,16838
36
+ sqlspec/adapters/psycopg/__init__.py,sha256=_aCZRfDiC4lXM5UdkYEQEHZq-bqY1nyS_sioTM91Ul0,408
37
+ sqlspec/adapters/psycopg/driver.py,sha256=edz1j_4v5ZGJidO5MzKqS4PNuXHJcV9fkoyyYh06bsA,28135
38
+ sqlspec/adapters/psycopg/config/__init__.py,sha256=TIFGht0TdHKC7NTJwaJPpG-6-BRRGzWfc2Bu756R-A4,310
39
+ sqlspec/adapters/psycopg/config/_async.py,sha256=6YpxNLxHwvI7r7ZBKKjWnd0xbEG1i4HLOOimiiDUr6w,6631
40
+ sqlspec/adapters/psycopg/config/_common.py,sha256=UqqvqPE9zlSO9G_Gh6fI190cHfCDG98S0GaznGAHpdU,2181
41
+ sqlspec/adapters/psycopg/config/_sync.py,sha256=QIybrGVkuu45GlAcYBzpcsRq7VW6EnHff4fcNATAgsw,6443
42
+ sqlspec/adapters/sqlite/__init__.py,sha256=cGsMyN4_ZWApbhtwmYG18PYEBRiO-NdOU6eecBxTwRQ,167
43
+ sqlspec/adapters/sqlite/config.py,sha256=m2TV-3jcjxIeMSCTsvvrTm50L6uE3007WVPluvqIX3Q,4447
44
+ sqlspec/adapters/sqlite/driver.py,sha256=W-upeHQAiBRKqd-NBbOlgPuc1BLvSuEdt3BryWeVI1U,13749
45
+ sqlspec/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ sqlspec/extensions/litestar/__init__.py,sha256=vJf0co-AUM75c7ZLil_TUCYilVNDtmVsdeVLbm9_xn8,512
47
+ sqlspec/extensions/litestar/_utils.py,sha256=UgwFxqLnjDw9S8G0H24DP2GsbMGas81W1lfhfTY68m8,1969
48
+ sqlspec/extensions/litestar/config.py,sha256=zq_mlwNubDhRAtAivi2d5S5ippJ1A5xhw19XC6yPC60,4443
49
+ sqlspec/extensions/litestar/handlers.py,sha256=6FNqIEWHUltnNuhcp8QNktK0j6-UB4isMpzoP7qCc3g,7932
50
+ sqlspec/extensions/litestar/plugin.py,sha256=_W-wTrGsvNu9iMVXfhuYzJUxBZp-9oEp8GcJvm_oMhU,4942
51
+ sqlspec/utils/__init__.py,sha256=nVIUuMaHhhC1vXydoSBvnc-xTArqwWJaAtpjHhiM84Q,159
52
+ sqlspec/utils/deprecation.py,sha256=4pwGxoQYI3dAc3L1lh4tszZG6e2jp5m4e0ICk8SJx5M,3886
53
+ sqlspec/utils/fixtures.py,sha256=ni51rAuen6S1wuSi1kUwn6Qh25B-XrewPEsjV8G4gQ0,2029
54
+ sqlspec/utils/module_loader.py,sha256=tmMy9JcTTQETcwT8Wt8adCIuqr4zinQnPbCiBJ6JTSQ,2703
55
+ sqlspec/utils/sync_tools.py,sha256=xxHZ-5rnTrPEUNr7gxQUVvJd0NGJeO_MgisR8X7sI3c,10425
56
+ sqlspec/utils/text.py,sha256=Ya-fWBcfkQRhguNs7MNFIYtAUiArBo62w8sRPHavMWM,1476
57
+ sqlspec-0.9.1.dist-info/METADATA,sha256=tk5LLeFdKAV99QguC9jnTD6BT6obRTSdfQLUGdmGanw,13935
58
+ sqlspec-0.9.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
59
+ sqlspec-0.9.1.dist-info/licenses/LICENSE,sha256=MdujfZ6l5HuLz4mElxlu049itenOR3gnhN1_Nd3nVcM,1078
60
+ sqlspec-0.9.1.dist-info/licenses/NOTICE,sha256=Lyir8ozXWov7CyYS4huVaOCNrtgL17P-bNV-5daLntQ,1634
61
+ sqlspec-0.9.1.dist-info/RECORD,,
@@ -1,57 +0,0 @@
1
- sqlspec/__init__.py,sha256=dsOivB7SmZhOcWkZQT12L4LHC6fQhWBk2s_3j85KkgQ,316
2
- sqlspec/__metadata__.py,sha256=hNP3wXvtk8fQVPKGjRLpZ9mP-gaPJqzrmgm3UqpDIXQ,460
3
- sqlspec/_serialization.py,sha256=tSwWwFImlYviC6ARdXRz0Bp4QXbCdc8cKGgZr33OglY,2657
4
- sqlspec/_typing.py,sha256=soCl97IyIUqfIiIZlXBJuYd97yV6M45VHpSld7E46Eg,6026
5
- sqlspec/base.py,sha256=vmhhs2bLqNjWfL5eSqej-t455p2cpWpy_e5wYbpGmtI,20639
6
- sqlspec/exceptions.py,sha256=i8pGJGWdGdTZVrYkapQ8VbcPtyA6JND_roHjd70l0W8,3022
7
- sqlspec/filters.py,sha256=Gqwt4VQ7e8ffphkuR-jBfqW4m0OWGGUPiYWyEQ0Xn7M,3620
8
- sqlspec/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- sqlspec/typing.py,sha256=Rho16Vzz-cg3iuYQUB4_Ebj5GpPLpBFutavjubSSGPA,15190
10
- sqlspec/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- sqlspec/adapters/adbc/__init__.py,sha256=nRry16NCO52X9qtF4loOhvDCaIRIQKSJnXEpSLXTUDg,143
12
- sqlspec/adapters/adbc/config.py,sha256=838ZtrLzYHXf3oBuvk8XTtNsw9IG6_hH6YzDUqzmOys,9299
13
- sqlspec/adapters/adbc/driver.py,sha256=UsUqeufq6fairswyySjK11dn-17XE7QX940A8Fcdw_0,14935
14
- sqlspec/adapters/aiosqlite/__init__.py,sha256=KZ5rkNByrc2YvRhOuVM5KxcvN9Ow8H3laL3LKMA8qHA,173
15
- sqlspec/adapters/aiosqlite/config.py,sha256=L-W6md_t4542dUe7zgrQ0Gkie1sJ2v7FNppFjGzU33w,4776
16
- sqlspec/adapters/aiosqlite/driver.py,sha256=zT1PYFzld6a4yFm47vSJ2sYOGad0H1z1J1FqA9FEvxM,12277
17
- sqlspec/adapters/asyncmy/__init__.py,sha256=M5f0oz5EwEduNX7Fv3g1QCZTzPLRY1-MoH4yUbHwkGQ,223
18
- sqlspec/adapters/asyncmy/config.py,sha256=efDUGRDpmhJxAkM-p2iA_cER6vDc9Dm4Ul99A0SDekA,9393
19
- sqlspec/adapters/asyncmy/driver.py,sha256=Dxe11Pnvdr-AC4nQA3IcJNI9_wg_1lhGESIoGuRRgsA,9134
20
- sqlspec/adapters/asyncpg/__init__.py,sha256=MTFZVXHYaOr0vNLo8puivzL0M8eR_gzVgG_IAtDbB8g,227
21
- sqlspec/adapters/asyncpg/config.py,sha256=wG6jg4Qn6pTQg-1jAPl8QgE2IPNr09-HnVQ6JUHiR_o,9939
22
- sqlspec/adapters/asyncpg/driver.py,sha256=tr3nrip9Rhr6BB0m_ug5NMRlQZjaURFxqpiKYMc8jlI,11377
23
- sqlspec/adapters/duckdb/__init__.py,sha256=cXOKO5T-1lfaX-9wD9c2qLYftll3rh7CzHk7Zw5cHhM,155
24
- sqlspec/adapters/duckdb/config.py,sha256=8I-3_yzcHq7If-1nWj_JkvHPaytlB_Yq7nCQm4gQods,15719
25
- sqlspec/adapters/duckdb/driver.py,sha256=_AN4NiVIIJjdCGLWCXK_7UUpAzcrp_UQN244V42Xmpk,10407
26
- sqlspec/adapters/oracledb/__init__.py,sha256=ZKmlCLknOBLbN-mvKSqK3DCwGyBuffngxWWEccZsdWY,350
27
- sqlspec/adapters/oracledb/driver.py,sha256=aQTFJUnLQ2EeD6T_NpUGdPHPuh6FsWS4Fae5NAM9PpM,20799
28
- sqlspec/adapters/oracledb/config/__init__.py,sha256=LBZ6qdX4yyJfEcmNlCsWmQRYBNpWj8zfoZdl1NtMVx0,258
29
- sqlspec/adapters/oracledb/config/_asyncio.py,sha256=GAPH_VlHWOKK3j-PbVVf8mxdjul4lkFp8BtAe-R-z-I,7227
30
- sqlspec/adapters/oracledb/config/_common.py,sha256=UJZL2DQQZM3uOn1E1A_gnsB8nX3-yCDXGd66PDI29_s,5691
31
- sqlspec/adapters/oracledb/config/_sync.py,sha256=kwuyJNEtsXYNYSQHnFmNUetVCLEuQjkx_1RxttxX2so,6995
32
- sqlspec/adapters/psycopg/__init__.py,sha256=G-7ZS7e9sr14AVSCixANQkZuFu3brk6jSz4I3mPRLe8,339
33
- sqlspec/adapters/psycopg/driver.py,sha256=g3vo5-WAATBA1poJgPsI7sfPLYNvt-uM0FaKY8iJ0bk,23095
34
- sqlspec/adapters/psycopg/config/__init__.py,sha256=1bvEp1CphubDxQUcxCtPqb2AiDXebekiuZpWOj-c8Rs,262
35
- sqlspec/adapters/psycopg/config/_async.py,sha256=qB94FFlAZYhsfTXomT2Aa7PzomdPPLRjxMgWbGeT5t8,6565
36
- sqlspec/adapters/psycopg/config/_common.py,sha256=UqqvqPE9zlSO9G_Gh6fI190cHfCDG98S0GaznGAHpdU,2181
37
- sqlspec/adapters/psycopg/config/_sync.py,sha256=vjUEmTFTyOu4W5gBgsuAVIZXUm7IV12G-GtUpg-Jros,6357
38
- sqlspec/adapters/sqlite/__init__.py,sha256=b-JM-82PlwALjuGYIL-MUDARtdh02pJRKrjfeDOp4fk,155
39
- sqlspec/adapters/sqlite/config.py,sha256=Ni6xJnZGPkRlyyjfEdaQPZX_T2QgTvivA5q09L3378U,4435
40
- sqlspec/adapters/sqlite/driver.py,sha256=ofitI6owJcKOiFd_ijfN5x5PQHCBy_axCXRm_G2wK3o,11802
41
- sqlspec/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
- sqlspec/extensions/litestar/__init__.py,sha256=vJf0co-AUM75c7ZLil_TUCYilVNDtmVsdeVLbm9_xn8,512
43
- sqlspec/extensions/litestar/_utils.py,sha256=UgwFxqLnjDw9S8G0H24DP2GsbMGas81W1lfhfTY68m8,1969
44
- sqlspec/extensions/litestar/config.py,sha256=LsKFO9SfPjsHZvUV9Sek6857PzuF0QjTaleEB-FBK_g,4044
45
- sqlspec/extensions/litestar/handlers.py,sha256=144rcGAXcuxvod7y4r1kn1agmupu2UlV_vLzKa-cX58,7009
46
- sqlspec/extensions/litestar/plugin.py,sha256=lxFzRqPkLXAdUr9z2aQWdoiyxgzA9mm5RXyG_wZ56ak,4746
47
- sqlspec/utils/__init__.py,sha256=nVIUuMaHhhC1vXydoSBvnc-xTArqwWJaAtpjHhiM84Q,159
48
- sqlspec/utils/deprecation.py,sha256=4pwGxoQYI3dAc3L1lh4tszZG6e2jp5m4e0ICk8SJx5M,3886
49
- sqlspec/utils/fixtures.py,sha256=ni51rAuen6S1wuSi1kUwn6Qh25B-XrewPEsjV8G4gQ0,2029
50
- sqlspec/utils/module_loader.py,sha256=tmMy9JcTTQETcwT8Wt8adCIuqr4zinQnPbCiBJ6JTSQ,2703
51
- sqlspec/utils/sync_tools.py,sha256=xxHZ-5rnTrPEUNr7gxQUVvJd0NGJeO_MgisR8X7sI3c,10425
52
- sqlspec/utils/text.py,sha256=Ya-fWBcfkQRhguNs7MNFIYtAUiArBo62w8sRPHavMWM,1476
53
- sqlspec-0.8.0.dist-info/METADATA,sha256=IpDN4SPp1-FddDQqI4w6uyeTLratU2bjuii60UoNd4I,9402
54
- sqlspec-0.8.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
55
- sqlspec-0.8.0.dist-info/licenses/LICENSE,sha256=MdujfZ6l5HuLz4mElxlu049itenOR3gnhN1_Nd3nVcM,1078
56
- sqlspec-0.8.0.dist-info/licenses/NOTICE,sha256=Lyir8ozXWov7CyYS4huVaOCNrtgL17P-bNV-5daLntQ,1634
57
- sqlspec-0.8.0.dist-info/RECORD,,