openlineage-sql 1.43.0__tar.gz

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.
Files changed (45) hide show
  1. openlineage_sql-1.43.0/Cargo.lock +488 -0
  2. openlineage_sql-1.43.0/Cargo.toml +6 -0
  3. openlineage_sql-1.43.0/PKG-INFO +22 -0
  4. openlineage_sql-1.43.0/README.md +4 -0
  5. openlineage_sql-1.43.0/iface-py/Cargo.toml +25 -0
  6. openlineage_sql-1.43.0/iface-py/README.md +4 -0
  7. openlineage_sql-1.43.0/iface-py/build.rs +6 -0
  8. openlineage_sql-1.43.0/iface-py/openlineage_sql.pyi +77 -0
  9. openlineage_sql-1.43.0/iface-py/requirements.txt +1 -0
  10. openlineage_sql-1.43.0/iface-py/script/build-macos.sh +60 -0
  11. openlineage_sql-1.43.0/iface-py/script/build.sh +51 -0
  12. openlineage_sql-1.43.0/iface-py/src/lib.rs +497 -0
  13. openlineage_sql-1.43.0/iface-py/tests/python/sql_tester.py +78 -0
  14. openlineage_sql-1.43.0/iface-py/tests/python/test_small.py +11 -0
  15. openlineage_sql-1.43.0/impl/Cargo.toml +17 -0
  16. openlineage_sql-1.43.0/impl/src/context/alias_table.rs +55 -0
  17. openlineage_sql-1.43.0/impl/src/context/mod.rs +781 -0
  18. openlineage_sql-1.43.0/impl/src/dialect.rs +57 -0
  19. openlineage_sql-1.43.0/impl/src/lib.rs +111 -0
  20. openlineage_sql-1.43.0/impl/src/lineage.rs +237 -0
  21. openlineage_sql-1.43.0/impl/src/visitor.rs +983 -0
  22. openlineage_sql-1.43.0/impl/tests/column_lineage/mod.rs +7 -0
  23. openlineage_sql-1.43.0/impl/tests/column_lineage/tests_aliases.rs +191 -0
  24. openlineage_sql-1.43.0/impl/tests/column_lineage/tests_cte.rs +41 -0
  25. openlineage_sql-1.43.0/impl/tests/column_lineage/tests_select.rs +78 -0
  26. openlineage_sql-1.43.0/impl/tests/column_lineage/tests_simple.rs +328 -0
  27. openlineage_sql-1.43.0/impl/tests/table_lineage/mod.rs +17 -0
  28. openlineage_sql-1.43.0/impl/tests/table_lineage/test_alias_resolving.rs +591 -0
  29. openlineage_sql-1.43.0/impl/tests/table_lineage/test_use.rs +390 -0
  30. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_alter.rs +58 -0
  31. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_copy.rs +139 -0
  32. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_create.rs +192 -0
  33. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_cte.rs +197 -0
  34. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_delete.rs +81 -0
  35. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_drop.rs +18 -0
  36. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_error_handling.rs +60 -0
  37. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_insert.rs +673 -0
  38. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_merge.rs +130 -0
  39. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_select.rs +240 -0
  40. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_tpcds.rs +806 -0
  41. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_truncate.rs +16 -0
  42. openlineage_sql-1.43.0/impl/tests/table_lineage/tests_update.rs +137 -0
  43. openlineage_sql-1.43.0/impl/tests/test_utils/mod.rs +35 -0
  44. openlineage_sql-1.43.0/impl/tests/tests.rs +6 -0
  45. openlineage_sql-1.43.0/pyproject.toml +52 -0
@@ -0,0 +1,488 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "anyhow"
7
+ version = "1.0.100"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
10
+
11
+ [[package]]
12
+ name = "ar_archive_writer"
13
+ version = "0.2.0"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "f0c269894b6fe5e9d7ada0cf69b5bf847ff35bc25fc271f08e1d080fce80339a"
16
+ dependencies = [
17
+ "object",
18
+ ]
19
+
20
+ [[package]]
21
+ name = "autocfg"
22
+ version = "1.5.0"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
25
+
26
+ [[package]]
27
+ name = "bytes"
28
+ version = "1.11.0"
29
+ source = "registry+https://github.com/rust-lang/crates.io-index"
30
+ checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3"
31
+
32
+ [[package]]
33
+ name = "cc"
34
+ version = "1.2.53"
35
+ source = "registry+https://github.com/rust-lang/crates.io-index"
36
+ checksum = "755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932"
37
+ dependencies = [
38
+ "find-msvc-tools",
39
+ "shlex",
40
+ ]
41
+
42
+ [[package]]
43
+ name = "cesu8"
44
+ version = "1.1.0"
45
+ source = "registry+https://github.com/rust-lang/crates.io-index"
46
+ checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
47
+
48
+ [[package]]
49
+ name = "cfg-if"
50
+ version = "1.0.4"
51
+ source = "registry+https://github.com/rust-lang/crates.io-index"
52
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
53
+
54
+ [[package]]
55
+ name = "combine"
56
+ version = "4.6.7"
57
+ source = "registry+https://github.com/rust-lang/crates.io-index"
58
+ checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
59
+ dependencies = [
60
+ "bytes",
61
+ "memchr",
62
+ ]
63
+
64
+ [[package]]
65
+ name = "find-msvc-tools"
66
+ version = "0.1.8"
67
+ source = "registry+https://github.com/rust-lang/crates.io-index"
68
+ checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db"
69
+
70
+ [[package]]
71
+ name = "heck"
72
+ version = "0.5.0"
73
+ source = "registry+https://github.com/rust-lang/crates.io-index"
74
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
75
+
76
+ [[package]]
77
+ name = "indoc"
78
+ version = "2.0.7"
79
+ source = "registry+https://github.com/rust-lang/crates.io-index"
80
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
81
+ dependencies = [
82
+ "rustversion",
83
+ ]
84
+
85
+ [[package]]
86
+ name = "jni"
87
+ version = "0.20.0"
88
+ source = "registry+https://github.com/rust-lang/crates.io-index"
89
+ checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c"
90
+ dependencies = [
91
+ "cesu8",
92
+ "combine",
93
+ "jni-sys",
94
+ "log",
95
+ "thiserror",
96
+ "walkdir",
97
+ ]
98
+
99
+ [[package]]
100
+ name = "jni-sys"
101
+ version = "0.3.0"
102
+ source = "registry+https://github.com/rust-lang/crates.io-index"
103
+ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
104
+
105
+ [[package]]
106
+ name = "libc"
107
+ version = "0.2.180"
108
+ source = "registry+https://github.com/rust-lang/crates.io-index"
109
+ checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc"
110
+
111
+ [[package]]
112
+ name = "log"
113
+ version = "0.4.29"
114
+ source = "registry+https://github.com/rust-lang/crates.io-index"
115
+ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
116
+
117
+ [[package]]
118
+ name = "memchr"
119
+ version = "2.7.6"
120
+ source = "registry+https://github.com/rust-lang/crates.io-index"
121
+ checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
122
+
123
+ [[package]]
124
+ name = "memoffset"
125
+ version = "0.9.1"
126
+ source = "registry+https://github.com/rust-lang/crates.io-index"
127
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
128
+ dependencies = [
129
+ "autocfg",
130
+ ]
131
+
132
+ [[package]]
133
+ name = "object"
134
+ version = "0.32.2"
135
+ source = "registry+https://github.com/rust-lang/crates.io-index"
136
+ checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
137
+ dependencies = [
138
+ "memchr",
139
+ ]
140
+
141
+ [[package]]
142
+ name = "once_cell"
143
+ version = "1.21.3"
144
+ source = "registry+https://github.com/rust-lang/crates.io-index"
145
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
146
+
147
+ [[package]]
148
+ name = "openlineage_sql"
149
+ version = "1.43.0"
150
+ dependencies = [
151
+ "anyhow",
152
+ "sqlparser",
153
+ ]
154
+
155
+ [[package]]
156
+ name = "openlineage_sql_java"
157
+ version = "1.43.0"
158
+ dependencies = [
159
+ "anyhow",
160
+ "jni",
161
+ "openlineage_sql",
162
+ ]
163
+
164
+ [[package]]
165
+ name = "openlineage_sql_python"
166
+ version = "1.43.0"
167
+ dependencies = [
168
+ "anyhow",
169
+ "openlineage_sql",
170
+ "pyo3",
171
+ "pyo3-build-config",
172
+ ]
173
+
174
+ [[package]]
175
+ name = "portable-atomic"
176
+ version = "1.13.0"
177
+ source = "registry+https://github.com/rust-lang/crates.io-index"
178
+ checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950"
179
+
180
+ [[package]]
181
+ name = "proc-macro2"
182
+ version = "1.0.106"
183
+ source = "registry+https://github.com/rust-lang/crates.io-index"
184
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
185
+ dependencies = [
186
+ "unicode-ident",
187
+ ]
188
+
189
+ [[package]]
190
+ name = "psm"
191
+ version = "0.1.28"
192
+ source = "registry+https://github.com/rust-lang/crates.io-index"
193
+ checksum = "d11f2fedc3b7dafdc2851bc52f277377c5473d378859be234bc7ebb593144d01"
194
+ dependencies = [
195
+ "ar_archive_writer",
196
+ "cc",
197
+ ]
198
+
199
+ [[package]]
200
+ name = "pyo3"
201
+ version = "0.27.2"
202
+ source = "registry+https://github.com/rust-lang/crates.io-index"
203
+ checksum = "ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d"
204
+ dependencies = [
205
+ "anyhow",
206
+ "indoc",
207
+ "libc",
208
+ "memoffset",
209
+ "once_cell",
210
+ "portable-atomic",
211
+ "pyo3-build-config",
212
+ "pyo3-ffi",
213
+ "pyo3-macros",
214
+ "unindent",
215
+ ]
216
+
217
+ [[package]]
218
+ name = "pyo3-build-config"
219
+ version = "0.27.2"
220
+ source = "registry+https://github.com/rust-lang/crates.io-index"
221
+ checksum = "b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6"
222
+ dependencies = [
223
+ "target-lexicon",
224
+ ]
225
+
226
+ [[package]]
227
+ name = "pyo3-ffi"
228
+ version = "0.27.2"
229
+ source = "registry+https://github.com/rust-lang/crates.io-index"
230
+ checksum = "1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089"
231
+ dependencies = [
232
+ "libc",
233
+ "pyo3-build-config",
234
+ ]
235
+
236
+ [[package]]
237
+ name = "pyo3-macros"
238
+ version = "0.27.2"
239
+ source = "registry+https://github.com/rust-lang/crates.io-index"
240
+ checksum = "0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02"
241
+ dependencies = [
242
+ "proc-macro2",
243
+ "pyo3-macros-backend",
244
+ "quote",
245
+ "syn",
246
+ ]
247
+
248
+ [[package]]
249
+ name = "pyo3-macros-backend"
250
+ version = "0.27.2"
251
+ source = "registry+https://github.com/rust-lang/crates.io-index"
252
+ checksum = "03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9"
253
+ dependencies = [
254
+ "heck",
255
+ "proc-macro2",
256
+ "pyo3-build-config",
257
+ "quote",
258
+ "syn",
259
+ ]
260
+
261
+ [[package]]
262
+ name = "quote"
263
+ version = "1.0.43"
264
+ source = "registry+https://github.com/rust-lang/crates.io-index"
265
+ checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a"
266
+ dependencies = [
267
+ "proc-macro2",
268
+ ]
269
+
270
+ [[package]]
271
+ name = "recursive"
272
+ version = "0.1.1"
273
+ source = "registry+https://github.com/rust-lang/crates.io-index"
274
+ checksum = "0786a43debb760f491b1bc0269fe5e84155353c67482b9e60d0cfb596054b43e"
275
+ dependencies = [
276
+ "recursive-proc-macro-impl",
277
+ "stacker",
278
+ ]
279
+
280
+ [[package]]
281
+ name = "recursive-proc-macro-impl"
282
+ version = "0.1.1"
283
+ source = "registry+https://github.com/rust-lang/crates.io-index"
284
+ checksum = "76009fbe0614077fc1a2ce255e3a1881a2e3a3527097d5dc6d8212c585e7e38b"
285
+ dependencies = [
286
+ "quote",
287
+ "syn",
288
+ ]
289
+
290
+ [[package]]
291
+ name = "rustversion"
292
+ version = "1.0.22"
293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
294
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
295
+
296
+ [[package]]
297
+ name = "same-file"
298
+ version = "1.0.6"
299
+ source = "registry+https://github.com/rust-lang/crates.io-index"
300
+ checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
301
+ dependencies = [
302
+ "winapi-util",
303
+ ]
304
+
305
+ [[package]]
306
+ name = "shlex"
307
+ version = "1.3.0"
308
+ source = "registry+https://github.com/rust-lang/crates.io-index"
309
+ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
310
+
311
+ [[package]]
312
+ name = "sqlparser"
313
+ version = "0.60.0"
314
+ source = "registry+https://github.com/rust-lang/crates.io-index"
315
+ checksum = "505aa16b045c4c1375bf5f125cce3813d0176325bfe9ffc4a903f423de7774ff"
316
+ dependencies = [
317
+ "log",
318
+ "recursive",
319
+ ]
320
+
321
+ [[package]]
322
+ name = "stacker"
323
+ version = "0.1.22"
324
+ source = "registry+https://github.com/rust-lang/crates.io-index"
325
+ checksum = "e1f8b29fb42aafcea4edeeb6b2f2d7ecd0d969c48b4cf0d2e64aafc471dd6e59"
326
+ dependencies = [
327
+ "cc",
328
+ "cfg-if",
329
+ "libc",
330
+ "psm",
331
+ "windows-sys 0.59.0",
332
+ ]
333
+
334
+ [[package]]
335
+ name = "syn"
336
+ version = "2.0.114"
337
+ source = "registry+https://github.com/rust-lang/crates.io-index"
338
+ checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a"
339
+ dependencies = [
340
+ "proc-macro2",
341
+ "quote",
342
+ "unicode-ident",
343
+ ]
344
+
345
+ [[package]]
346
+ name = "target-lexicon"
347
+ version = "0.13.4"
348
+ source = "registry+https://github.com/rust-lang/crates.io-index"
349
+ checksum = "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba"
350
+
351
+ [[package]]
352
+ name = "thiserror"
353
+ version = "1.0.69"
354
+ source = "registry+https://github.com/rust-lang/crates.io-index"
355
+ checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
356
+ dependencies = [
357
+ "thiserror-impl",
358
+ ]
359
+
360
+ [[package]]
361
+ name = "thiserror-impl"
362
+ version = "1.0.69"
363
+ source = "registry+https://github.com/rust-lang/crates.io-index"
364
+ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
365
+ dependencies = [
366
+ "proc-macro2",
367
+ "quote",
368
+ "syn",
369
+ ]
370
+
371
+ [[package]]
372
+ name = "unicode-ident"
373
+ version = "1.0.22"
374
+ source = "registry+https://github.com/rust-lang/crates.io-index"
375
+ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
376
+
377
+ [[package]]
378
+ name = "unindent"
379
+ version = "0.2.4"
380
+ source = "registry+https://github.com/rust-lang/crates.io-index"
381
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
382
+
383
+ [[package]]
384
+ name = "walkdir"
385
+ version = "2.5.0"
386
+ source = "registry+https://github.com/rust-lang/crates.io-index"
387
+ checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
388
+ dependencies = [
389
+ "same-file",
390
+ "winapi-util",
391
+ ]
392
+
393
+ [[package]]
394
+ name = "winapi-util"
395
+ version = "0.1.11"
396
+ source = "registry+https://github.com/rust-lang/crates.io-index"
397
+ checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
398
+ dependencies = [
399
+ "windows-sys 0.61.2",
400
+ ]
401
+
402
+ [[package]]
403
+ name = "windows-link"
404
+ version = "0.2.1"
405
+ source = "registry+https://github.com/rust-lang/crates.io-index"
406
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
407
+
408
+ [[package]]
409
+ name = "windows-sys"
410
+ version = "0.59.0"
411
+ source = "registry+https://github.com/rust-lang/crates.io-index"
412
+ checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
413
+ dependencies = [
414
+ "windows-targets",
415
+ ]
416
+
417
+ [[package]]
418
+ name = "windows-sys"
419
+ version = "0.61.2"
420
+ source = "registry+https://github.com/rust-lang/crates.io-index"
421
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
422
+ dependencies = [
423
+ "windows-link",
424
+ ]
425
+
426
+ [[package]]
427
+ name = "windows-targets"
428
+ version = "0.52.6"
429
+ source = "registry+https://github.com/rust-lang/crates.io-index"
430
+ checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
431
+ dependencies = [
432
+ "windows_aarch64_gnullvm",
433
+ "windows_aarch64_msvc",
434
+ "windows_i686_gnu",
435
+ "windows_i686_gnullvm",
436
+ "windows_i686_msvc",
437
+ "windows_x86_64_gnu",
438
+ "windows_x86_64_gnullvm",
439
+ "windows_x86_64_msvc",
440
+ ]
441
+
442
+ [[package]]
443
+ name = "windows_aarch64_gnullvm"
444
+ version = "0.52.6"
445
+ source = "registry+https://github.com/rust-lang/crates.io-index"
446
+ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
447
+
448
+ [[package]]
449
+ name = "windows_aarch64_msvc"
450
+ version = "0.52.6"
451
+ source = "registry+https://github.com/rust-lang/crates.io-index"
452
+ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
453
+
454
+ [[package]]
455
+ name = "windows_i686_gnu"
456
+ version = "0.52.6"
457
+ source = "registry+https://github.com/rust-lang/crates.io-index"
458
+ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
459
+
460
+ [[package]]
461
+ name = "windows_i686_gnullvm"
462
+ version = "0.52.6"
463
+ source = "registry+https://github.com/rust-lang/crates.io-index"
464
+ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
465
+
466
+ [[package]]
467
+ name = "windows_i686_msvc"
468
+ version = "0.52.6"
469
+ source = "registry+https://github.com/rust-lang/crates.io-index"
470
+ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
471
+
472
+ [[package]]
473
+ name = "windows_x86_64_gnu"
474
+ version = "0.52.6"
475
+ source = "registry+https://github.com/rust-lang/crates.io-index"
476
+ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
477
+
478
+ [[package]]
479
+ name = "windows_x86_64_gnullvm"
480
+ version = "0.52.6"
481
+ source = "registry+https://github.com/rust-lang/crates.io-index"
482
+ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
483
+
484
+ [[package]]
485
+ name = "windows_x86_64_msvc"
486
+ version = "0.52.6"
487
+ source = "registry+https://github.com/rust-lang/crates.io-index"
488
+ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
@@ -0,0 +1,6 @@
1
+ [workspace]
2
+ members = ["iface-py"]
3
+ resolver = "2"
4
+
5
+ [workspace.dependencies]
6
+ anyhow = "1.0.6"
@@ -0,0 +1,22 @@
1
+ Metadata-Version: 2.4
2
+ Name: openlineage_sql
3
+ Version: 1.43.0
4
+ Classifier: Programming Language :: Rust
5
+ Classifier: Programming Language :: Python :: 3.9
6
+ Classifier: Programming Language :: Python :: 3.10
7
+ Classifier: Programming Language :: Python :: 3.11
8
+ Classifier: Programming Language :: Python :: 3.12
9
+ Classifier: Programming Language :: Python :: 3.13
10
+ Classifier: Programming Language :: Python :: Implementation :: CPython
11
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
12
+ Summary: Python interface for the Rust OpenLineage lineage extraction library
13
+ Keywords: openlineage
14
+ Author: OpenLineage
15
+ Requires-Python: >=3.9
16
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
17
+
18
+ # Python interface for the OpenLineage SQL Parser
19
+
20
+ Refer to the [GitHub for details](https://github.com/OpenLineage/OpenLineage). This package is not meant to be used alone by end-user.
21
+
22
+
@@ -0,0 +1,4 @@
1
+ # Python interface for the OpenLineage SQL Parser
2
+
3
+ Refer to the [GitHub for details](https://github.com/OpenLineage/OpenLineage). This package is not meant to be used alone by end-user.
4
+
@@ -0,0 +1,25 @@
1
+ [package]
2
+ name = "openlineage_sql_python"
3
+ description = "Python interface for the Rust OpenLineage lineage extraction library"
4
+ version = "1.43.0"
5
+ edition = "2021"
6
+ authors = ["Maciej Obuchowski <obuchowski.maciej@gmail.com>"]
7
+ keywords = ["sql", "lineage", "openlineage", "python"]
8
+ readme = "README.md"
9
+
10
+ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
11
+ [lib]
12
+ name = "openlineage_sql"
13
+ crate-type = ["cdylib"]
14
+
15
+ [dependencies]
16
+ openlineage_sql = {path = "../impl"}
17
+ anyhow = {workspace = true}
18
+ pyo3 = {version = "0.27.2", features = ["extension-module", "abi3", "abi3-py39", "anyhow"]}
19
+
20
+ [build-dependencies]
21
+ pyo3-build-config = {version = "0.27.2"}
22
+
23
+ [features]
24
+ extension-module = ["pyo3/extension-module"]
25
+ default = ["extension-module"]
@@ -0,0 +1,4 @@
1
+ # Python interface for the OpenLineage SQL Parser
2
+
3
+ Refer to the [GitHub for details](https://github.com/OpenLineage/OpenLineage). This package is not meant to be used alone by end-user.
4
+
@@ -0,0 +1,6 @@
1
+ // Copyright 2018-2026 contributors to the OpenLineage project
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ fn main() {
5
+ pyo3_build_config::add_extension_module_link_args();
6
+ }
@@ -0,0 +1,77 @@
1
+ # Copyright 2018-2026 contributors to the OpenLineage project
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ """
5
+ Definition of the public interface for openlineage_sql
6
+ """
7
+
8
+ class QuoteStyle:
9
+ database: str | None
10
+ schema: str | None
11
+ name: str | None
12
+ def __init__(self, database, schema, name) -> None: ...
13
+
14
+ class DbTableMeta:
15
+ """
16
+ Represents a table in a database.
17
+ """
18
+
19
+ qualified_name: str
20
+ database: str | None
21
+ schema: str | None
22
+ name: str
23
+ # determines if namespace is already contained within a name, for example
24
+ # external stage location for Snowflake
25
+ provided_namespace: bool
26
+ # determines if fields schema is provided by parser
27
+ provided_field_schema: bool
28
+ # quotes information
29
+ quote_style: QuoteStyle | None
30
+ def __init__(self, name: str) -> None: ...
31
+
32
+ class ColumnMeta:
33
+ """
34
+ Represents a table in a database.
35
+ """
36
+
37
+ origin: DbTableMeta | None
38
+ name: str
39
+ def __init__(self, name: str, origin: DbTableMeta | None) -> None: ...
40
+
41
+ class ColumnLineage:
42
+ """
43
+ Represents column lineage.
44
+ """
45
+
46
+ descendant: ColumnMeta
47
+ lineage: list[ColumnMeta]
48
+ def __init__(self, descendant: ColumnMeta, lineage: list[ColumnMeta]) -> None: ...
49
+
50
+ class ExtractionError:
51
+ """
52
+ Represents an error during parsing of a SQL statement.
53
+ """
54
+
55
+ index: int
56
+ message: str
57
+ origin_statement: str
58
+
59
+ class SqlMeta:
60
+ """
61
+ Contains metadata about a SQL statement:
62
+ - in & out table metadata
63
+ - column lineage metadata
64
+ - potential parsing errors
65
+ """
66
+
67
+ in_tables: list[DbTableMeta]
68
+ out_tables: list[DbTableMeta]
69
+ column_lineage: list[ColumnLineage]
70
+ errors: list[ExtractionError]
71
+
72
+ def parse(
73
+ sql: list[str],
74
+ dialect: str | None = None,
75
+ default_schema: str | None = None,
76
+ ) -> SqlMeta: ...
77
+ def provider() -> str: ...
@@ -0,0 +1 @@
1
+ pytest==7.1.1
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # Copyright 2018-2026 contributors to the OpenLineage project
4
+ # SPDX-License-Identifier: Apache-2.0
5
+ #
6
+ # Build script for OpenLineage SQL parser.
7
+ # It's assumed that it will be run on MacOS
8
+ set -e
9
+
10
+ if [[ -d "./iface-py" ]]
11
+ then
12
+ cd iface-py
13
+ fi
14
+
15
+ echo "Checking for Rust"
16
+ if [[ ! $(command -v cargo) ]]
17
+ then
18
+ echo "Installing Rust"
19
+ curl https://sh.rustup.rs -sSf | sh -s -- -y
20
+ source "$HOME"/.cargo/env
21
+ fi
22
+
23
+ echo "Checking for uv"
24
+ if [[ ! $(command -v uv) ]]
25
+ then
26
+ echo "Installing uv"
27
+ curl -LsSf https://astral.sh/uv/install.sh | sh
28
+ source "$HOME"/.local/bin/env
29
+ fi
30
+
31
+ rustup target add aarch64-apple-darwin
32
+ rustup target add x86_64-apple-darwin
33
+
34
+ echo "Installing Python 3.10"
35
+ uv python install 3.10
36
+
37
+ # Maturin is build tool that we're using. It can build python wheels based on standard Rust Cargo.toml.
38
+ echo "Installing Maturin"
39
+ uv sync --no-install-project
40
+
41
+ # Disable incremental compilation, since it causes issues.
42
+ export CARGO_INCREMENTAL=0
43
+
44
+ # Run test if indicated to do so.
45
+ if [[ $RUN_TESTS = true ]]; then
46
+ cargo test --no-default-features
47
+ cargo clippy --all-targets --all-features -- -D warnings
48
+ cargo fmt -- --check
49
+ fi
50
+
51
+ # Build release wheels
52
+ uv tool run maturin build --target universal2-apple-darwin --out target/wheels --release --strip
53
+
54
+ echo "Package build, trying to import"
55
+ echo "Platform:"
56
+ echo "import platform; print(platform.platform())" | uv run -
57
+ # Verify that it imports and works properly
58
+ uv pip install openlineage-sql --no-index --find-links target/wheels --force-reinstall
59
+ echo "from openlineage_sql import parse, ColumnLineage; import sys; sys.exit(len(parse([\"SELECT b.a from b\"]).column_lineage) != 1)" | uv run -
60
+ echo "all good"