pytrilogy 0.3.142__cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.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.
Files changed (200) hide show
  1. LICENSE.md +19 -0
  2. _preql_import_resolver/__init__.py +5 -0
  3. _preql_import_resolver/_preql_import_resolver.cpython-313-x86_64-linux-gnu.so +0 -0
  4. pytrilogy-0.3.142.dist-info/METADATA +555 -0
  5. pytrilogy-0.3.142.dist-info/RECORD +200 -0
  6. pytrilogy-0.3.142.dist-info/WHEEL +5 -0
  7. pytrilogy-0.3.142.dist-info/entry_points.txt +2 -0
  8. pytrilogy-0.3.142.dist-info/licenses/LICENSE.md +19 -0
  9. trilogy/__init__.py +16 -0
  10. trilogy/ai/README.md +10 -0
  11. trilogy/ai/__init__.py +19 -0
  12. trilogy/ai/constants.py +92 -0
  13. trilogy/ai/conversation.py +107 -0
  14. trilogy/ai/enums.py +7 -0
  15. trilogy/ai/execute.py +50 -0
  16. trilogy/ai/models.py +34 -0
  17. trilogy/ai/prompts.py +100 -0
  18. trilogy/ai/providers/__init__.py +0 -0
  19. trilogy/ai/providers/anthropic.py +106 -0
  20. trilogy/ai/providers/base.py +24 -0
  21. trilogy/ai/providers/google.py +146 -0
  22. trilogy/ai/providers/openai.py +89 -0
  23. trilogy/ai/providers/utils.py +68 -0
  24. trilogy/authoring/README.md +3 -0
  25. trilogy/authoring/__init__.py +148 -0
  26. trilogy/constants.py +113 -0
  27. trilogy/core/README.md +52 -0
  28. trilogy/core/__init__.py +0 -0
  29. trilogy/core/constants.py +6 -0
  30. trilogy/core/enums.py +443 -0
  31. trilogy/core/env_processor.py +120 -0
  32. trilogy/core/environment_helpers.py +320 -0
  33. trilogy/core/ergonomics.py +193 -0
  34. trilogy/core/exceptions.py +123 -0
  35. trilogy/core/functions.py +1227 -0
  36. trilogy/core/graph_models.py +139 -0
  37. trilogy/core/internal.py +85 -0
  38. trilogy/core/models/__init__.py +0 -0
  39. trilogy/core/models/author.py +2669 -0
  40. trilogy/core/models/build.py +2521 -0
  41. trilogy/core/models/build_environment.py +180 -0
  42. trilogy/core/models/core.py +501 -0
  43. trilogy/core/models/datasource.py +322 -0
  44. trilogy/core/models/environment.py +751 -0
  45. trilogy/core/models/execute.py +1177 -0
  46. trilogy/core/optimization.py +251 -0
  47. trilogy/core/optimizations/__init__.py +12 -0
  48. trilogy/core/optimizations/base_optimization.py +17 -0
  49. trilogy/core/optimizations/hide_unused_concept.py +47 -0
  50. trilogy/core/optimizations/inline_datasource.py +102 -0
  51. trilogy/core/optimizations/predicate_pushdown.py +245 -0
  52. trilogy/core/processing/README.md +94 -0
  53. trilogy/core/processing/READMEv2.md +121 -0
  54. trilogy/core/processing/VIRTUAL_UNNEST.md +30 -0
  55. trilogy/core/processing/__init__.py +0 -0
  56. trilogy/core/processing/concept_strategies_v3.py +508 -0
  57. trilogy/core/processing/constants.py +15 -0
  58. trilogy/core/processing/discovery_node_factory.py +451 -0
  59. trilogy/core/processing/discovery_utility.py +548 -0
  60. trilogy/core/processing/discovery_validation.py +167 -0
  61. trilogy/core/processing/graph_utils.py +43 -0
  62. trilogy/core/processing/node_generators/README.md +9 -0
  63. trilogy/core/processing/node_generators/__init__.py +31 -0
  64. trilogy/core/processing/node_generators/basic_node.py +160 -0
  65. trilogy/core/processing/node_generators/common.py +268 -0
  66. trilogy/core/processing/node_generators/constant_node.py +38 -0
  67. trilogy/core/processing/node_generators/filter_node.py +315 -0
  68. trilogy/core/processing/node_generators/group_node.py +213 -0
  69. trilogy/core/processing/node_generators/group_to_node.py +117 -0
  70. trilogy/core/processing/node_generators/multiselect_node.py +205 -0
  71. trilogy/core/processing/node_generators/node_merge_node.py +653 -0
  72. trilogy/core/processing/node_generators/recursive_node.py +88 -0
  73. trilogy/core/processing/node_generators/rowset_node.py +165 -0
  74. trilogy/core/processing/node_generators/select_helpers/__init__.py +0 -0
  75. trilogy/core/processing/node_generators/select_helpers/datasource_injection.py +261 -0
  76. trilogy/core/processing/node_generators/select_merge_node.py +748 -0
  77. trilogy/core/processing/node_generators/select_node.py +95 -0
  78. trilogy/core/processing/node_generators/synonym_node.py +98 -0
  79. trilogy/core/processing/node_generators/union_node.py +91 -0
  80. trilogy/core/processing/node_generators/unnest_node.py +182 -0
  81. trilogy/core/processing/node_generators/window_node.py +201 -0
  82. trilogy/core/processing/nodes/README.md +28 -0
  83. trilogy/core/processing/nodes/__init__.py +179 -0
  84. trilogy/core/processing/nodes/base_node.py +519 -0
  85. trilogy/core/processing/nodes/filter_node.py +75 -0
  86. trilogy/core/processing/nodes/group_node.py +194 -0
  87. trilogy/core/processing/nodes/merge_node.py +420 -0
  88. trilogy/core/processing/nodes/recursive_node.py +46 -0
  89. trilogy/core/processing/nodes/select_node_v2.py +242 -0
  90. trilogy/core/processing/nodes/union_node.py +53 -0
  91. trilogy/core/processing/nodes/unnest_node.py +62 -0
  92. trilogy/core/processing/nodes/window_node.py +56 -0
  93. trilogy/core/processing/utility.py +823 -0
  94. trilogy/core/query_processor.py +596 -0
  95. trilogy/core/statements/README.md +35 -0
  96. trilogy/core/statements/__init__.py +0 -0
  97. trilogy/core/statements/author.py +536 -0
  98. trilogy/core/statements/build.py +0 -0
  99. trilogy/core/statements/common.py +20 -0
  100. trilogy/core/statements/execute.py +155 -0
  101. trilogy/core/table_processor.py +66 -0
  102. trilogy/core/utility.py +8 -0
  103. trilogy/core/validation/README.md +46 -0
  104. trilogy/core/validation/__init__.py +0 -0
  105. trilogy/core/validation/common.py +161 -0
  106. trilogy/core/validation/concept.py +146 -0
  107. trilogy/core/validation/datasource.py +227 -0
  108. trilogy/core/validation/environment.py +73 -0
  109. trilogy/core/validation/fix.py +256 -0
  110. trilogy/dialect/__init__.py +32 -0
  111. trilogy/dialect/base.py +1392 -0
  112. trilogy/dialect/bigquery.py +308 -0
  113. trilogy/dialect/common.py +147 -0
  114. trilogy/dialect/config.py +144 -0
  115. trilogy/dialect/dataframe.py +50 -0
  116. trilogy/dialect/duckdb.py +231 -0
  117. trilogy/dialect/enums.py +147 -0
  118. trilogy/dialect/metadata.py +173 -0
  119. trilogy/dialect/mock.py +190 -0
  120. trilogy/dialect/postgres.py +117 -0
  121. trilogy/dialect/presto.py +110 -0
  122. trilogy/dialect/results.py +89 -0
  123. trilogy/dialect/snowflake.py +129 -0
  124. trilogy/dialect/sql_server.py +137 -0
  125. trilogy/engine.py +48 -0
  126. trilogy/execution/config.py +75 -0
  127. trilogy/executor.py +568 -0
  128. trilogy/hooks/__init__.py +4 -0
  129. trilogy/hooks/base_hook.py +40 -0
  130. trilogy/hooks/graph_hook.py +139 -0
  131. trilogy/hooks/query_debugger.py +166 -0
  132. trilogy/metadata/__init__.py +0 -0
  133. trilogy/parser.py +10 -0
  134. trilogy/parsing/README.md +21 -0
  135. trilogy/parsing/__init__.py +0 -0
  136. trilogy/parsing/common.py +1069 -0
  137. trilogy/parsing/config.py +5 -0
  138. trilogy/parsing/exceptions.py +8 -0
  139. trilogy/parsing/helpers.py +1 -0
  140. trilogy/parsing/parse_engine.py +2813 -0
  141. trilogy/parsing/render.py +769 -0
  142. trilogy/parsing/trilogy.lark +540 -0
  143. trilogy/py.typed +0 -0
  144. trilogy/render.py +42 -0
  145. trilogy/scripts/README.md +9 -0
  146. trilogy/scripts/__init__.py +0 -0
  147. trilogy/scripts/agent.py +41 -0
  148. trilogy/scripts/agent_info.py +303 -0
  149. trilogy/scripts/common.py +355 -0
  150. trilogy/scripts/dependency/Cargo.lock +617 -0
  151. trilogy/scripts/dependency/Cargo.toml +39 -0
  152. trilogy/scripts/dependency/README.md +131 -0
  153. trilogy/scripts/dependency/build.sh +25 -0
  154. trilogy/scripts/dependency/src/directory_resolver.rs +177 -0
  155. trilogy/scripts/dependency/src/lib.rs +16 -0
  156. trilogy/scripts/dependency/src/main.rs +770 -0
  157. trilogy/scripts/dependency/src/parser.rs +435 -0
  158. trilogy/scripts/dependency/src/preql.pest +208 -0
  159. trilogy/scripts/dependency/src/python_bindings.rs +303 -0
  160. trilogy/scripts/dependency/src/resolver.rs +716 -0
  161. trilogy/scripts/dependency/tests/base.preql +3 -0
  162. trilogy/scripts/dependency/tests/cli_integration.rs +377 -0
  163. trilogy/scripts/dependency/tests/customer.preql +6 -0
  164. trilogy/scripts/dependency/tests/main.preql +9 -0
  165. trilogy/scripts/dependency/tests/orders.preql +7 -0
  166. trilogy/scripts/dependency/tests/test_data/base.preql +9 -0
  167. trilogy/scripts/dependency/tests/test_data/consumer.preql +1 -0
  168. trilogy/scripts/dependency.py +323 -0
  169. trilogy/scripts/display.py +512 -0
  170. trilogy/scripts/environment.py +46 -0
  171. trilogy/scripts/fmt.py +32 -0
  172. trilogy/scripts/ingest.py +471 -0
  173. trilogy/scripts/ingest_helpers/__init__.py +1 -0
  174. trilogy/scripts/ingest_helpers/foreign_keys.py +123 -0
  175. trilogy/scripts/ingest_helpers/formatting.py +93 -0
  176. trilogy/scripts/ingest_helpers/typing.py +161 -0
  177. trilogy/scripts/init.py +105 -0
  178. trilogy/scripts/parallel_execution.py +713 -0
  179. trilogy/scripts/plan.py +189 -0
  180. trilogy/scripts/run.py +63 -0
  181. trilogy/scripts/serve.py +140 -0
  182. trilogy/scripts/serve_helpers/__init__.py +41 -0
  183. trilogy/scripts/serve_helpers/file_discovery.py +142 -0
  184. trilogy/scripts/serve_helpers/index_generation.py +206 -0
  185. trilogy/scripts/serve_helpers/models.py +38 -0
  186. trilogy/scripts/single_execution.py +131 -0
  187. trilogy/scripts/testing.py +119 -0
  188. trilogy/scripts/trilogy.py +68 -0
  189. trilogy/std/__init__.py +0 -0
  190. trilogy/std/color.preql +3 -0
  191. trilogy/std/date.preql +13 -0
  192. trilogy/std/display.preql +18 -0
  193. trilogy/std/geography.preql +22 -0
  194. trilogy/std/metric.preql +15 -0
  195. trilogy/std/money.preql +67 -0
  196. trilogy/std/net.preql +14 -0
  197. trilogy/std/ranking.preql +7 -0
  198. trilogy/std/report.preql +5 -0
  199. trilogy/std/semantic.preql +6 -0
  200. trilogy/utility.py +34 -0
@@ -0,0 +1,617 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "anstream"
7
+ version = "0.6.21"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a"
10
+ dependencies = [
11
+ "anstyle",
12
+ "anstyle-parse",
13
+ "anstyle-query",
14
+ "anstyle-wincon",
15
+ "colorchoice",
16
+ "is_terminal_polyfill",
17
+ "utf8parse",
18
+ ]
19
+
20
+ [[package]]
21
+ name = "anstyle"
22
+ version = "1.0.13"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78"
25
+
26
+ [[package]]
27
+ name = "anstyle-parse"
28
+ version = "0.2.7"
29
+ source = "registry+https://github.com/rust-lang/crates.io-index"
30
+ checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2"
31
+ dependencies = [
32
+ "utf8parse",
33
+ ]
34
+
35
+ [[package]]
36
+ name = "anstyle-query"
37
+ version = "1.1.5"
38
+ source = "registry+https://github.com/rust-lang/crates.io-index"
39
+ checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
40
+ dependencies = [
41
+ "windows-sys",
42
+ ]
43
+
44
+ [[package]]
45
+ name = "anstyle-wincon"
46
+ version = "3.0.11"
47
+ source = "registry+https://github.com/rust-lang/crates.io-index"
48
+ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
49
+ dependencies = [
50
+ "anstyle",
51
+ "once_cell_polyfill",
52
+ "windows-sys",
53
+ ]
54
+
55
+ [[package]]
56
+ name = "autocfg"
57
+ version = "1.5.0"
58
+ source = "registry+https://github.com/rust-lang/crates.io-index"
59
+ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
60
+
61
+ [[package]]
62
+ name = "bitflags"
63
+ version = "2.10.0"
64
+ source = "registry+https://github.com/rust-lang/crates.io-index"
65
+ checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
66
+
67
+ [[package]]
68
+ name = "block-buffer"
69
+ version = "0.10.4"
70
+ source = "registry+https://github.com/rust-lang/crates.io-index"
71
+ checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
72
+ dependencies = [
73
+ "generic-array",
74
+ ]
75
+
76
+ [[package]]
77
+ name = "cfg-if"
78
+ version = "1.0.4"
79
+ source = "registry+https://github.com/rust-lang/crates.io-index"
80
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
81
+
82
+ [[package]]
83
+ name = "clap"
84
+ version = "4.5.53"
85
+ source = "registry+https://github.com/rust-lang/crates.io-index"
86
+ checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8"
87
+ dependencies = [
88
+ "clap_builder",
89
+ "clap_derive",
90
+ ]
91
+
92
+ [[package]]
93
+ name = "clap_builder"
94
+ version = "4.5.53"
95
+ source = "registry+https://github.com/rust-lang/crates.io-index"
96
+ checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00"
97
+ dependencies = [
98
+ "anstream",
99
+ "anstyle",
100
+ "clap_lex",
101
+ "strsim",
102
+ ]
103
+
104
+ [[package]]
105
+ name = "clap_derive"
106
+ version = "4.5.49"
107
+ source = "registry+https://github.com/rust-lang/crates.io-index"
108
+ checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671"
109
+ dependencies = [
110
+ "heck",
111
+ "proc-macro2",
112
+ "quote",
113
+ "syn",
114
+ ]
115
+
116
+ [[package]]
117
+ name = "clap_lex"
118
+ version = "0.7.6"
119
+ source = "registry+https://github.com/rust-lang/crates.io-index"
120
+ checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d"
121
+
122
+ [[package]]
123
+ name = "colorchoice"
124
+ version = "1.0.4"
125
+ source = "registry+https://github.com/rust-lang/crates.io-index"
126
+ checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75"
127
+
128
+ [[package]]
129
+ name = "cpufeatures"
130
+ version = "0.2.17"
131
+ source = "registry+https://github.com/rust-lang/crates.io-index"
132
+ checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
133
+ dependencies = [
134
+ "libc",
135
+ ]
136
+
137
+ [[package]]
138
+ name = "crypto-common"
139
+ version = "0.1.7"
140
+ source = "registry+https://github.com/rust-lang/crates.io-index"
141
+ checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
142
+ dependencies = [
143
+ "generic-array",
144
+ "typenum",
145
+ ]
146
+
147
+ [[package]]
148
+ name = "digest"
149
+ version = "0.10.7"
150
+ source = "registry+https://github.com/rust-lang/crates.io-index"
151
+ checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
152
+ dependencies = [
153
+ "block-buffer",
154
+ "crypto-common",
155
+ ]
156
+
157
+ [[package]]
158
+ name = "errno"
159
+ version = "0.3.14"
160
+ source = "registry+https://github.com/rust-lang/crates.io-index"
161
+ checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
162
+ dependencies = [
163
+ "libc",
164
+ "windows-sys",
165
+ ]
166
+
167
+ [[package]]
168
+ name = "fastrand"
169
+ version = "2.3.0"
170
+ source = "registry+https://github.com/rust-lang/crates.io-index"
171
+ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
172
+
173
+ [[package]]
174
+ name = "generic-array"
175
+ version = "0.14.7"
176
+ source = "registry+https://github.com/rust-lang/crates.io-index"
177
+ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
178
+ dependencies = [
179
+ "typenum",
180
+ "version_check",
181
+ ]
182
+
183
+ [[package]]
184
+ name = "getrandom"
185
+ version = "0.3.4"
186
+ source = "registry+https://github.com/rust-lang/crates.io-index"
187
+ checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
188
+ dependencies = [
189
+ "cfg-if",
190
+ "libc",
191
+ "r-efi",
192
+ "wasip2",
193
+ ]
194
+
195
+ [[package]]
196
+ name = "heck"
197
+ version = "0.5.0"
198
+ source = "registry+https://github.com/rust-lang/crates.io-index"
199
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
200
+
201
+ [[package]]
202
+ name = "indoc"
203
+ version = "2.0.7"
204
+ source = "registry+https://github.com/rust-lang/crates.io-index"
205
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
206
+ dependencies = [
207
+ "rustversion",
208
+ ]
209
+
210
+ [[package]]
211
+ name = "is_terminal_polyfill"
212
+ version = "1.70.2"
213
+ source = "registry+https://github.com/rust-lang/crates.io-index"
214
+ checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
215
+
216
+ [[package]]
217
+ name = "itoa"
218
+ version = "1.0.15"
219
+ source = "registry+https://github.com/rust-lang/crates.io-index"
220
+ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
221
+
222
+ [[package]]
223
+ name = "libc"
224
+ version = "0.2.178"
225
+ source = "registry+https://github.com/rust-lang/crates.io-index"
226
+ checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
227
+
228
+ [[package]]
229
+ name = "linux-raw-sys"
230
+ version = "0.11.0"
231
+ source = "registry+https://github.com/rust-lang/crates.io-index"
232
+ checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039"
233
+
234
+ [[package]]
235
+ name = "memchr"
236
+ version = "2.7.6"
237
+ source = "registry+https://github.com/rust-lang/crates.io-index"
238
+ checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
239
+
240
+ [[package]]
241
+ name = "memoffset"
242
+ version = "0.9.1"
243
+ source = "registry+https://github.com/rust-lang/crates.io-index"
244
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
245
+ dependencies = [
246
+ "autocfg",
247
+ ]
248
+
249
+ [[package]]
250
+ name = "once_cell"
251
+ version = "1.21.3"
252
+ source = "registry+https://github.com/rust-lang/crates.io-index"
253
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
254
+
255
+ [[package]]
256
+ name = "once_cell_polyfill"
257
+ version = "1.70.2"
258
+ source = "registry+https://github.com/rust-lang/crates.io-index"
259
+ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
260
+
261
+ [[package]]
262
+ name = "pathdiff"
263
+ version = "0.2.3"
264
+ source = "registry+https://github.com/rust-lang/crates.io-index"
265
+ checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3"
266
+
267
+ [[package]]
268
+ name = "pest"
269
+ version = "2.8.4"
270
+ source = "registry+https://github.com/rust-lang/crates.io-index"
271
+ checksum = "cbcfd20a6d4eeba40179f05735784ad32bdaef05ce8e8af05f180d45bb3e7e22"
272
+ dependencies = [
273
+ "memchr",
274
+ "ucd-trie",
275
+ ]
276
+
277
+ [[package]]
278
+ name = "pest_derive"
279
+ version = "2.8.4"
280
+ source = "registry+https://github.com/rust-lang/crates.io-index"
281
+ checksum = "51f72981ade67b1ca6adc26ec221be9f463f2b5839c7508998daa17c23d94d7f"
282
+ dependencies = [
283
+ "pest",
284
+ "pest_generator",
285
+ ]
286
+
287
+ [[package]]
288
+ name = "pest_generator"
289
+ version = "2.8.4"
290
+ source = "registry+https://github.com/rust-lang/crates.io-index"
291
+ checksum = "dee9efd8cdb50d719a80088b76f81aec7c41ed6d522ee750178f83883d271625"
292
+ dependencies = [
293
+ "pest",
294
+ "pest_meta",
295
+ "proc-macro2",
296
+ "quote",
297
+ "syn",
298
+ ]
299
+
300
+ [[package]]
301
+ name = "pest_meta"
302
+ version = "2.8.4"
303
+ source = "registry+https://github.com/rust-lang/crates.io-index"
304
+ checksum = "bf1d70880e76bdc13ba52eafa6239ce793d85c8e43896507e43dd8984ff05b82"
305
+ dependencies = [
306
+ "pest",
307
+ "sha2",
308
+ ]
309
+
310
+ [[package]]
311
+ name = "portable-atomic"
312
+ version = "1.11.1"
313
+ source = "registry+https://github.com/rust-lang/crates.io-index"
314
+ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
315
+
316
+ [[package]]
317
+ name = "preql-import-resolver"
318
+ version = "0.3.142"
319
+ dependencies = [
320
+ "clap",
321
+ "pathdiff",
322
+ "pest",
323
+ "pest_derive",
324
+ "pyo3",
325
+ "serde",
326
+ "serde_json",
327
+ "tempfile",
328
+ "thiserror",
329
+ ]
330
+
331
+ [[package]]
332
+ name = "proc-macro2"
333
+ version = "1.0.103"
334
+ source = "registry+https://github.com/rust-lang/crates.io-index"
335
+ checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
336
+ dependencies = [
337
+ "unicode-ident",
338
+ ]
339
+
340
+ [[package]]
341
+ name = "pyo3"
342
+ version = "0.22.6"
343
+ source = "registry+https://github.com/rust-lang/crates.io-index"
344
+ checksum = "f402062616ab18202ae8319da13fa4279883a2b8a9d9f83f20dbade813ce1884"
345
+ dependencies = [
346
+ "cfg-if",
347
+ "indoc",
348
+ "libc",
349
+ "memoffset",
350
+ "once_cell",
351
+ "portable-atomic",
352
+ "pyo3-build-config",
353
+ "pyo3-ffi",
354
+ "pyo3-macros",
355
+ "unindent",
356
+ ]
357
+
358
+ [[package]]
359
+ name = "pyo3-build-config"
360
+ version = "0.22.6"
361
+ source = "registry+https://github.com/rust-lang/crates.io-index"
362
+ checksum = "b14b5775b5ff446dd1056212d778012cbe8a0fbffd368029fd9e25b514479c38"
363
+ dependencies = [
364
+ "once_cell",
365
+ "target-lexicon",
366
+ ]
367
+
368
+ [[package]]
369
+ name = "pyo3-ffi"
370
+ version = "0.22.6"
371
+ source = "registry+https://github.com/rust-lang/crates.io-index"
372
+ checksum = "9ab5bcf04a2cdcbb50c7d6105de943f543f9ed92af55818fd17b660390fc8636"
373
+ dependencies = [
374
+ "libc",
375
+ "pyo3-build-config",
376
+ ]
377
+
378
+ [[package]]
379
+ name = "pyo3-macros"
380
+ version = "0.22.6"
381
+ source = "registry+https://github.com/rust-lang/crates.io-index"
382
+ checksum = "0fd24d897903a9e6d80b968368a34e1525aeb719d568dba8b3d4bfa5dc67d453"
383
+ dependencies = [
384
+ "proc-macro2",
385
+ "pyo3-macros-backend",
386
+ "quote",
387
+ "syn",
388
+ ]
389
+
390
+ [[package]]
391
+ name = "pyo3-macros-backend"
392
+ version = "0.22.6"
393
+ source = "registry+https://github.com/rust-lang/crates.io-index"
394
+ checksum = "36c011a03ba1e50152b4b394b479826cad97e7a21eb52df179cd91ac411cbfbe"
395
+ dependencies = [
396
+ "heck",
397
+ "proc-macro2",
398
+ "pyo3-build-config",
399
+ "quote",
400
+ "syn",
401
+ ]
402
+
403
+ [[package]]
404
+ name = "quote"
405
+ version = "1.0.42"
406
+ source = "registry+https://github.com/rust-lang/crates.io-index"
407
+ checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
408
+ dependencies = [
409
+ "proc-macro2",
410
+ ]
411
+
412
+ [[package]]
413
+ name = "r-efi"
414
+ version = "5.3.0"
415
+ source = "registry+https://github.com/rust-lang/crates.io-index"
416
+ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
417
+
418
+ [[package]]
419
+ name = "rustix"
420
+ version = "1.1.2"
421
+ source = "registry+https://github.com/rust-lang/crates.io-index"
422
+ checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e"
423
+ dependencies = [
424
+ "bitflags",
425
+ "errno",
426
+ "libc",
427
+ "linux-raw-sys",
428
+ "windows-sys",
429
+ ]
430
+
431
+ [[package]]
432
+ name = "rustversion"
433
+ version = "1.0.22"
434
+ source = "registry+https://github.com/rust-lang/crates.io-index"
435
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
436
+
437
+ [[package]]
438
+ name = "ryu"
439
+ version = "1.0.20"
440
+ source = "registry+https://github.com/rust-lang/crates.io-index"
441
+ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
442
+
443
+ [[package]]
444
+ name = "serde"
445
+ version = "1.0.228"
446
+ source = "registry+https://github.com/rust-lang/crates.io-index"
447
+ checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
448
+ dependencies = [
449
+ "serde_core",
450
+ "serde_derive",
451
+ ]
452
+
453
+ [[package]]
454
+ name = "serde_core"
455
+ version = "1.0.228"
456
+ source = "registry+https://github.com/rust-lang/crates.io-index"
457
+ checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
458
+ dependencies = [
459
+ "serde_derive",
460
+ ]
461
+
462
+ [[package]]
463
+ name = "serde_derive"
464
+ version = "1.0.228"
465
+ source = "registry+https://github.com/rust-lang/crates.io-index"
466
+ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
467
+ dependencies = [
468
+ "proc-macro2",
469
+ "quote",
470
+ "syn",
471
+ ]
472
+
473
+ [[package]]
474
+ name = "serde_json"
475
+ version = "1.0.145"
476
+ source = "registry+https://github.com/rust-lang/crates.io-index"
477
+ checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
478
+ dependencies = [
479
+ "itoa",
480
+ "memchr",
481
+ "ryu",
482
+ "serde",
483
+ "serde_core",
484
+ ]
485
+
486
+ [[package]]
487
+ name = "sha2"
488
+ version = "0.10.9"
489
+ source = "registry+https://github.com/rust-lang/crates.io-index"
490
+ checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
491
+ dependencies = [
492
+ "cfg-if",
493
+ "cpufeatures",
494
+ "digest",
495
+ ]
496
+
497
+ [[package]]
498
+ name = "strsim"
499
+ version = "0.11.1"
500
+ source = "registry+https://github.com/rust-lang/crates.io-index"
501
+ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
502
+
503
+ [[package]]
504
+ name = "syn"
505
+ version = "2.0.111"
506
+ source = "registry+https://github.com/rust-lang/crates.io-index"
507
+ checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
508
+ dependencies = [
509
+ "proc-macro2",
510
+ "quote",
511
+ "unicode-ident",
512
+ ]
513
+
514
+ [[package]]
515
+ name = "target-lexicon"
516
+ version = "0.12.16"
517
+ source = "registry+https://github.com/rust-lang/crates.io-index"
518
+ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
519
+
520
+ [[package]]
521
+ name = "tempfile"
522
+ version = "3.23.0"
523
+ source = "registry+https://github.com/rust-lang/crates.io-index"
524
+ checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16"
525
+ dependencies = [
526
+ "fastrand",
527
+ "getrandom",
528
+ "once_cell",
529
+ "rustix",
530
+ "windows-sys",
531
+ ]
532
+
533
+ [[package]]
534
+ name = "thiserror"
535
+ version = "1.0.69"
536
+ source = "registry+https://github.com/rust-lang/crates.io-index"
537
+ checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
538
+ dependencies = [
539
+ "thiserror-impl",
540
+ ]
541
+
542
+ [[package]]
543
+ name = "thiserror-impl"
544
+ version = "1.0.69"
545
+ source = "registry+https://github.com/rust-lang/crates.io-index"
546
+ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
547
+ dependencies = [
548
+ "proc-macro2",
549
+ "quote",
550
+ "syn",
551
+ ]
552
+
553
+ [[package]]
554
+ name = "typenum"
555
+ version = "1.19.0"
556
+ source = "registry+https://github.com/rust-lang/crates.io-index"
557
+ checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
558
+
559
+ [[package]]
560
+ name = "ucd-trie"
561
+ version = "0.1.7"
562
+ source = "registry+https://github.com/rust-lang/crates.io-index"
563
+ checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
564
+
565
+ [[package]]
566
+ name = "unicode-ident"
567
+ version = "1.0.22"
568
+ source = "registry+https://github.com/rust-lang/crates.io-index"
569
+ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
570
+
571
+ [[package]]
572
+ name = "unindent"
573
+ version = "0.2.4"
574
+ source = "registry+https://github.com/rust-lang/crates.io-index"
575
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
576
+
577
+ [[package]]
578
+ name = "utf8parse"
579
+ version = "0.2.2"
580
+ source = "registry+https://github.com/rust-lang/crates.io-index"
581
+ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
582
+
583
+ [[package]]
584
+ name = "version_check"
585
+ version = "0.9.5"
586
+ source = "registry+https://github.com/rust-lang/crates.io-index"
587
+ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
588
+
589
+ [[package]]
590
+ name = "wasip2"
591
+ version = "1.0.1+wasi-0.2.4"
592
+ source = "registry+https://github.com/rust-lang/crates.io-index"
593
+ checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7"
594
+ dependencies = [
595
+ "wit-bindgen",
596
+ ]
597
+
598
+ [[package]]
599
+ name = "windows-link"
600
+ version = "0.2.1"
601
+ source = "registry+https://github.com/rust-lang/crates.io-index"
602
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
603
+
604
+ [[package]]
605
+ name = "windows-sys"
606
+ version = "0.61.2"
607
+ source = "registry+https://github.com/rust-lang/crates.io-index"
608
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
609
+ dependencies = [
610
+ "windows-link",
611
+ ]
612
+
613
+ [[package]]
614
+ name = "wit-bindgen"
615
+ version = "0.46.0"
616
+ source = "registry+https://github.com/rust-lang/crates.io-index"
617
+ checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
@@ -0,0 +1,39 @@
1
+ [package]
2
+ name = "preql-import-resolver"
3
+ # version is synced from python __init__ in build backend/deploy flow
4
+ version = "0.3.142"
5
+ edition = "2021"
6
+ description = "A CLI tool to parse Trilogy files and resolve import dependencies"
7
+ license = "MIT"
8
+
9
+ [lib]
10
+ name = "preql_import_resolver"
11
+ crate-type = ["cdylib", "rlib"]
12
+
13
+ [dependencies]
14
+ # Parser generator
15
+ pest = "2.7"
16
+ pest_derive = "2.7"
17
+
18
+ # CLI argument parsing
19
+ clap = { version = "4.4", features = ["derive"] }
20
+
21
+ # Serialization for structured output
22
+ serde = { version = "1.0", features = ["derive"] }
23
+ serde_json = "1.0"
24
+
25
+ # Error handling
26
+ thiserror = "1.0"
27
+
28
+ # Path manipulation
29
+ pathdiff = "0.2"
30
+
31
+ # Python bindings
32
+ pyo3 = { version = "0.22", features = ["extension-module"] }
33
+
34
+ [dev-dependencies]
35
+ tempfile = "3.0"
36
+
37
+ [profile.release]
38
+ opt-level = 3
39
+ lto = true