synalog 2.1.0__tar.gz → 2.3.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 (199) hide show
  1. synalog-2.3.0/Cargo.lock +491 -0
  2. {synalog-2.1.0 → synalog-2.3.0}/Cargo.toml +5 -8
  3. {synalog-2.1.0 → synalog-2.3.0}/PKG-INFO +32 -29
  4. {synalog-2.1.0 → synalog-2.3.0}/README.md +31 -28
  5. {synalog-2.1.0 → synalog-2.3.0}/docs/assertions.md +5 -4
  6. synalog-2.3.0/docs/assets/synalog-dark.svg +11 -0
  7. synalog-2.3.0/docs/assets/synalog-light.svg +11 -0
  8. {synalog-2.1.0 → synalog-2.3.0}/docs/cli.md +8 -8
  9. {synalog-2.1.0 → synalog-2.3.0}/docs/development.md +23 -3
  10. {synalog-2.1.0 → synalog-2.3.0}/docs/differences-datalog.md +8 -8
  11. {synalog-2.1.0 → synalog-2.3.0}/docs/differences.md +2 -2
  12. {synalog-2.1.0 → synalog-2.3.0}/docs/engines.md +1 -1
  13. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/aggregation.log +8 -8
  14. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/directives.log +2 -2
  15. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/functions.log +6 -6
  16. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/functors.log +8 -8
  17. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/getting_started.log +2 -2
  18. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/knowledge_graphs.log +14 -14
  19. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/recursion.log +4 -4
  20. synalog-2.1.0/docs/examples/shop/concepts/Customer.l → synalog-2.3.0/docs/examples/shop/concepts/customer.l +1 -1
  21. synalog-2.1.0/docs/examples/shop/concepts/OrderStatus.l → synalog-2.3.0/docs/examples/shop/concepts/order_status.l +1 -1
  22. synalog-2.1.0/docs/examples/shop/rules/CustomerRevenue.l → synalog-2.3.0/docs/examples/shop/rules/customer_revenue.l +2 -2
  23. synalog-2.1.0/docs/examples/shop/rules/OrdersByStatus.l → synalog-2.3.0/docs/examples/shop/rules/orders_by_status.l +2 -2
  24. synalog-2.1.0/docs/examples/shop/rules/TopCustomers.l → synalog-2.3.0/docs/examples/shop/rules/top_customers.l +1 -1
  25. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/shop.log +6 -6
  26. synalog-2.1.0/docs/examples/smoke/concepts/Device.l → synalog-2.3.0/docs/examples/smoke/concepts/device.l +1 -1
  27. synalog-2.1.0/docs/examples/smoke/concepts/TestStatus.l → synalog-2.3.0/docs/examples/smoke/concepts/test_status.l +1 -1
  28. synalog-2.1.0/docs/examples/smoke/rules/FailuresByDevice.l → synalog-2.3.0/docs/examples/smoke/rules/failures_by_device.l +2 -2
  29. synalog-2.1.0/docs/examples/smoke/rules/RunsPerDay.l → synalog-2.3.0/docs/examples/smoke/rules/runs_per_day.l +1 -1
  30. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/smoke.log +5 -5
  31. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/syntax.log +11 -11
  32. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/temporal.log +8 -8
  33. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/temporal_graph.log +11 -11
  34. {synalog-2.1.0 → synalog-2.3.0}/docs/getting-started.md +15 -15
  35. {synalog-2.1.0 → synalog-2.3.0}/docs/javascripts/playground.js +2 -2
  36. synalog-2.3.0/docs/javascripts/synalog-highlight.js +302 -0
  37. {synalog-2.1.0 → synalog-2.3.0}/docs/knowledge-graphs.md +24 -24
  38. {synalog-2.1.0 → synalog-2.3.0}/docs/language/aggregation.md +7 -7
  39. {synalog-2.1.0 → synalog-2.3.0}/docs/language/directives.md +8 -8
  40. {synalog-2.1.0 → synalog-2.3.0}/docs/language/functions.md +9 -5
  41. {synalog-2.1.0 → synalog-2.3.0}/docs/language/functors.md +4 -4
  42. {synalog-2.1.0 → synalog-2.3.0}/docs/language/index.md +31 -31
  43. {synalog-2.1.0 → synalog-2.3.0}/docs/language/recursion.md +9 -7
  44. {synalog-2.1.0 → synalog-2.3.0}/docs/language/syntax.md +15 -15
  45. {synalog-2.1.0 → synalog-2.3.0}/docs/language/temporal.md +11 -11
  46. {synalog-2.1.0 → synalog-2.3.0}/docs/python-api.md +35 -4
  47. {synalog-2.1.0 → synalog-2.3.0}/docs/stylesheets/extra.css +49 -0
  48. {synalog-2.1.0 → synalog-2.3.0}/docs/verification.md +34 -6
  49. synalog-2.3.0/img/synalog-dark.svg +11 -0
  50. synalog-2.3.0/img/synalog-light.svg +11 -0
  51. {synalog-2.1.0 → synalog-2.3.0}/pyproject.toml +1 -1
  52. {synalog-2.1.0 → synalog-2.3.0}/python/synalog/__init__.py +6 -0
  53. {synalog-2.1.0 → synalog-2.3.0}/python/synalog/cli.py +3 -3
  54. {synalog-2.1.0 → synalog-2.3.0}/python/synalog/introspect.py +26 -11
  55. {synalog-2.1.0 → synalog-2.3.0}/python/synalog/runners.py +13 -1
  56. {synalog-2.1.0 → synalog-2.3.0}/skills/synalog/SKILL.md +35 -34
  57. synalog-2.1.0/skills/synalog/examples/company/concepts/Department.l → synalog-2.3.0/skills/synalog/examples/company/concepts/department.l +1 -1
  58. synalog-2.1.0/skills/synalog/examples/company/concepts/Person.l → synalog-2.3.0/skills/synalog/examples/company/concepts/person.l +1 -1
  59. synalog-2.1.0/skills/synalog/examples/company/concepts/WorksIn.l → synalog-2.3.0/skills/synalog/examples/company/concepts/works_in.l +3 -3
  60. synalog-2.1.0/skills/synalog/examples/company/rules/TeamMate.l → synalog-2.3.0/skills/synalog/examples/company/rules/team_mate.l +3 -3
  61. synalog-2.1.0/skills/synalog/examples/org/concepts/AllManagers.l → synalog-2.3.0/skills/synalog/examples/org/concepts/all_managers.l +1 -1
  62. synalog-2.1.0/skills/synalog/examples/sales/concepts/Region.l → synalog-2.3.0/skills/synalog/examples/sales/concepts/region.l +1 -1
  63. synalog-2.1.0/skills/synalog/examples/sales/rules/MonthlySales.l → synalog-2.3.0/skills/synalog/examples/sales/rules/monthly_sales.l +1 -1
  64. synalog-2.1.0/skills/synalog/examples/sales/rules/TopRegion.l → synalog-2.3.0/skills/synalog/examples/sales/rules/top_region.l +1 -1
  65. synalog-2.1.0/skills/synalog/examples/sales/rules/TotalByRegion.l → synalog-2.3.0/skills/synalog/examples/sales/rules/total_by_region.l +2 -2
  66. {synalog-2.1.0 → synalog-2.3.0}/src/assertion/mod.rs +1 -1
  67. {synalog-2.1.0 → synalog-2.3.0}/src/assertion/parse.rs +10 -0
  68. {synalog-2.1.0 → synalog-2.3.0}/src/assertion/translate.rs +22 -18
  69. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/annotations.rs +12 -9
  70. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/annotations_test.rs +4 -4
  71. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/dialects.rs +36 -31
  72. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/expr_translate.rs +14 -7
  73. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/expr_translate_test.rs +17 -5
  74. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/functors.rs +256 -25
  75. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/functors_test.rs +32 -0
  76. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/mod.rs +2 -4
  77. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/rule_translate.rs +3 -3
  78. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/rule_translate_test.rs +1 -1
  79. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/type_inference/builder.rs +5 -5
  80. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/type_inference/built_in.rs +14 -14
  81. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/type_inference/edge.rs +9 -9
  82. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/type_inference/inference.rs +1 -1
  83. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/type_inference/mod.rs +2 -2
  84. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/type_inference/types.rs +2 -2
  85. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/universe.rs +236 -120
  86. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/universe_test.rs +282 -133
  87. {synalog-2.1.0 → synalog-2.3.0}/src/errors.rs +11 -0
  88. {synalog-2.1.0 → synalog-2.3.0}/src/parser/parse.rs +2 -2
  89. {synalog-2.1.0 → synalog-2.3.0}/src/parser/parse_test.rs +1 -1
  90. {synalog-2.1.0 → synalog-2.3.0}/src/python.rs +157 -26
  91. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/assertions.rs +5 -0
  92. synalog-2.3.0/src/verifier/cast.rs +146 -0
  93. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/contradiction.rs +28 -26
  94. synalog-2.3.0/src/verifier/dependencies.rs +63 -0
  95. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/directives.rs +3 -2
  96. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/functors.rs +1 -1
  97. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/mod.rs +42 -1
  98. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/positional.rs +5 -5
  99. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/recursion.rs +9 -29
  100. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/reserved.rs +1 -1
  101. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/safety.rs +4 -4
  102. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/stratification.rs +72 -122
  103. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/undefined.rs +120 -4
  104. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/vars.rs +8 -8
  105. {synalog-2.1.0 → synalog-2.3.0}/src/wasm.rs +16 -5
  106. synalog-2.3.0/uv.lock +3470 -0
  107. synalog-2.3.0/verified/Cargo.toml +18 -0
  108. synalog-2.3.0/verified/src/cast.rs +153 -0
  109. synalog-2.3.0/verified/src/contradiction.rs +220 -0
  110. synalog-2.3.0/verified/src/lib.rs +633 -0
  111. synalog-2.3.0/verified/src/page.rs +112 -0
  112. synalog-2.3.0/verified/src/plan.rs +707 -0
  113. synalog-2.3.0/verified/src/quote.rs +546 -0
  114. synalog-2.3.0/verified/src/types.rs +625 -0
  115. {synalog-2.1.0 → synalog-2.3.0}/zensical.toml +4 -2
  116. synalog-2.1.0/Cargo.lock +0 -3315
  117. synalog-2.1.0/docs/assets/synalog-dark.svg +0 -11
  118. synalog-2.1.0/docs/assets/synalog-light.svg +0 -11
  119. synalog-2.1.0/docs/examples/axioms.l +0 -122
  120. synalog-2.1.0/docs/examples/axioms.log +0 -12968
  121. synalog-2.1.0/docs/examples/axioms.ttl +0 -68
  122. synalog-2.1.0/img/synalog-dark.svg +0 -11
  123. synalog-2.1.0/img/synalog-light.svg +0 -11
  124. synalog-2.1.0/src/compiler/concertina.rs +0 -787
  125. synalog-2.1.0/src/compiler/program.rs +0 -617
  126. synalog-2.1.0/src/compiler/program_test.rs +0 -519
  127. synalog-2.1.0/uv.lock +0 -2447
  128. {synalog-2.1.0 → synalog-2.3.0}/.gitignore +0 -0
  129. {synalog-2.1.0 → synalog-2.3.0}/LICENSE +0 -0
  130. {synalog-2.1.0 → synalog-2.3.0}/NOTICE +0 -0
  131. {synalog-2.1.0 → synalog-2.3.0}/docs/assets/synalog_favicon.png +0 -0
  132. {synalog-2.1.0 → synalog-2.3.0}/docs/benchmark/results.json +0 -0
  133. {synalog-2.1.0 → synalog-2.3.0}/docs/benchmark/speedup_by_engine.png +0 -0
  134. {synalog-2.1.0 → synalog-2.3.0}/docs/benchmark/speedup_distribution.png +0 -0
  135. {synalog-2.1.0 → synalog-2.3.0}/docs/benchmark/summary.md +0 -0
  136. {synalog-2.1.0 → synalog-2.3.0}/docs/benchmark/summary.png +0 -0
  137. {synalog-2.1.0 → synalog-2.3.0}/docs/benchmark/time_comparison.png +0 -0
  138. {synalog-2.1.0 → synalog-2.3.0}/docs/benchmark/verify_by_engine.png +0 -0
  139. {synalog-2.1.0 → synalog-2.3.0}/docs/benchmark.md +0 -0
  140. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/aggregation.l +0 -0
  141. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/directives.l +0 -0
  142. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/functions.l +0 -0
  143. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/functors.l +0 -0
  144. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/getting_started.l +0 -0
  145. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/knowledge_graphs.l +0 -0
  146. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/recursion.l +0 -0
  147. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/run.py +0 -0
  148. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/shop/data/orders.csv +0 -0
  149. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/shop/layer.toml +0 -0
  150. /synalog-2.1.0/docs/examples/shop/tables/Orders.l → /synalog-2.3.0/docs/examples/shop/tables/orders.l +0 -0
  151. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/smoke/data/smoke_tests.csv +0 -0
  152. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/smoke/layer.toml +0 -0
  153. /synalog-2.1.0/docs/examples/smoke/tables/SmokeTests.l → /synalog-2.3.0/docs/examples/smoke/tables/smoke_tests.l +0 -0
  154. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/syntax.l +0 -0
  155. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/temporal.l +0 -0
  156. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/temporal_graph.l +0 -0
  157. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/verification.l +0 -0
  158. {synalog-2.1.0 → synalog-2.3.0}/docs/examples/verification.log +0 -0
  159. {synalog-2.1.0 → synalog-2.3.0}/docs/index.md +0 -0
  160. {synalog-2.1.0 → synalog-2.3.0}/docs/javascripts/summarize.js +0 -0
  161. {synalog-2.1.0 → synalog-2.3.0}/docs/playground/vendor/codemirror.js +0 -0
  162. {synalog-2.1.0 → synalog-2.3.0}/docs/playground.md +0 -0
  163. {synalog-2.1.0 → synalog-2.3.0}/docs/why.md +0 -0
  164. {synalog-2.1.0 → synalog-2.3.0}/python/synalog/__main__.py +0 -0
  165. {synalog-2.1.0 → synalog-2.3.0}/python/synalog/checking.py +0 -0
  166. {synalog-2.1.0 → synalog-2.3.0}/python/synalog/config.py +0 -0
  167. {synalog-2.1.0 → synalog-2.3.0}/python/synalog/execution.py +0 -0
  168. {synalog-2.1.0 → synalog-2.3.0}/python/synalog/project.py +0 -0
  169. {synalog-2.1.0 → synalog-2.3.0}/skills/synalog/examples/company/data/departments.csv +0 -0
  170. {synalog-2.1.0 → synalog-2.3.0}/skills/synalog/examples/company/data/employees.csv +0 -0
  171. {synalog-2.1.0 → synalog-2.3.0}/skills/synalog/examples/company/layer.toml +0 -0
  172. /synalog-2.1.0/skills/synalog/examples/company/tables/Departments.l → /synalog-2.3.0/skills/synalog/examples/company/tables/departments.l +0 -0
  173. /synalog-2.1.0/skills/synalog/examples/company/tables/Employees.l → /synalog-2.3.0/skills/synalog/examples/company/tables/employees.l +0 -0
  174. {synalog-2.1.0 → synalog-2.3.0}/skills/synalog/examples/org/data/employees.csv +0 -0
  175. {synalog-2.1.0 → synalog-2.3.0}/skills/synalog/examples/org/layer.toml +0 -0
  176. /synalog-2.1.0/skills/synalog/examples/org/tables/Employees.l → /synalog-2.3.0/skills/synalog/examples/org/tables/employees.l +0 -0
  177. {synalog-2.1.0 → synalog-2.3.0}/skills/synalog/examples/sales/data/sales.csv +0 -0
  178. {synalog-2.1.0 → synalog-2.3.0}/skills/synalog/examples/sales/layer.toml +0 -0
  179. /synalog-2.1.0/skills/synalog/examples/sales/tables/Sales.l → /synalog-2.3.0/skills/synalog/examples/sales/tables/sales.l +0 -0
  180. {synalog-2.1.0 → synalog-2.3.0}/src/assertion/report.rs +0 -0
  181. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/dialects_test.rs +0 -0
  182. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/type_inference/expression.rs +0 -0
  183. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/type_inference/graph.rs +0 -0
  184. {synalog-2.1.0 → synalog-2.3.0}/src/compiler/type_inference/intersection.rs +0 -0
  185. {synalog-2.1.0 → synalog-2.3.0}/src/lib.rs +0 -0
  186. {synalog-2.1.0 → synalog-2.3.0}/src/parser/json.rs +0 -0
  187. {synalog-2.1.0 → synalog-2.3.0}/src/parser/json_test.rs +0 -0
  188. {synalog-2.1.0 → synalog-2.3.0}/src/parser/mod.rs +0 -0
  189. {synalog-2.1.0 → synalog-2.3.0}/src/parser/names.rs +0 -0
  190. {synalog-2.1.0 → synalog-2.3.0}/src/parser/rewrite.rs +0 -0
  191. {synalog-2.1.0 → synalog-2.3.0}/src/parser/rewrite_test.rs +0 -0
  192. {synalog-2.1.0 → synalog-2.3.0}/src/parser/span.rs +0 -0
  193. {synalog-2.1.0 → synalog-2.3.0}/src/parser/span_test.rs +0 -0
  194. {synalog-2.1.0 → synalog-2.3.0}/src/parser/traverse.rs +0 -0
  195. {synalog-2.1.0 → synalog-2.3.0}/src/parser/traverse_test.rs +0 -0
  196. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/arity.rs +0 -0
  197. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/front_matter.rs +0 -0
  198. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/orderby.rs +0 -0
  199. {synalog-2.1.0 → synalog-2.3.0}/src/verifier/sqlexpr.rs +0 -0
@@ -0,0 +1,491 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "aho-corasick"
7
+ version = "1.1.4"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
10
+ dependencies = [
11
+ "memchr",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "anyhow"
16
+ version = "1.0.102"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
19
+
20
+ [[package]]
21
+ name = "arraydeque"
22
+ version = "0.5.1"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236"
25
+
26
+ [[package]]
27
+ name = "bumpalo"
28
+ version = "3.20.2"
29
+ source = "registry+https://github.com/rust-lang/crates.io-index"
30
+ checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
31
+
32
+ [[package]]
33
+ name = "cfg-if"
34
+ version = "1.0.4"
35
+ source = "registry+https://github.com/rust-lang/crates.io-index"
36
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
37
+
38
+ [[package]]
39
+ name = "convert_case"
40
+ version = "0.4.0"
41
+ source = "registry+https://github.com/rust-lang/crates.io-index"
42
+ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
43
+
44
+ [[package]]
45
+ name = "equivalent"
46
+ version = "1.0.2"
47
+ source = "registry+https://github.com/rust-lang/crates.io-index"
48
+ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
49
+
50
+ [[package]]
51
+ name = "foldhash"
52
+ version = "0.2.0"
53
+ source = "registry+https://github.com/rust-lang/crates.io-index"
54
+ checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
55
+
56
+ [[package]]
57
+ name = "hashbrown"
58
+ version = "0.16.1"
59
+ source = "registry+https://github.com/rust-lang/crates.io-index"
60
+ checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
61
+
62
+ [[package]]
63
+ name = "hashbrown"
64
+ version = "0.17.1"
65
+ source = "registry+https://github.com/rust-lang/crates.io-index"
66
+ checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
67
+ dependencies = [
68
+ "foldhash",
69
+ ]
70
+
71
+ [[package]]
72
+ name = "hashlink"
73
+ version = "0.12.2"
74
+ source = "registry+https://github.com/rust-lang/crates.io-index"
75
+ checksum = "a596f1b20ed2cc5ecac41a164aaebc7258057060f06c0cf7a2ba3991ee7990fb"
76
+ dependencies = [
77
+ "hashbrown 0.17.1",
78
+ ]
79
+
80
+ [[package]]
81
+ name = "heck"
82
+ version = "0.5.0"
83
+ source = "registry+https://github.com/rust-lang/crates.io-index"
84
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
85
+
86
+ [[package]]
87
+ name = "indexmap"
88
+ version = "2.13.0"
89
+ source = "registry+https://github.com/rust-lang/crates.io-index"
90
+ checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017"
91
+ dependencies = [
92
+ "equivalent",
93
+ "hashbrown 0.16.1",
94
+ ]
95
+
96
+ [[package]]
97
+ name = "itoa"
98
+ version = "1.0.17"
99
+ source = "registry+https://github.com/rust-lang/crates.io-index"
100
+ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
101
+
102
+ [[package]]
103
+ name = "libc"
104
+ version = "0.2.191"
105
+ source = "registry+https://github.com/rust-lang/crates.io-index"
106
+ checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
107
+
108
+ [[package]]
109
+ name = "memchr"
110
+ version = "2.8.0"
111
+ source = "registry+https://github.com/rust-lang/crates.io-index"
112
+ checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
113
+
114
+ [[package]]
115
+ name = "once_cell"
116
+ version = "1.21.3"
117
+ source = "registry+https://github.com/rust-lang/crates.io-index"
118
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
119
+
120
+ [[package]]
121
+ name = "portable-atomic"
122
+ version = "1.13.1"
123
+ source = "registry+https://github.com/rust-lang/crates.io-index"
124
+ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
125
+
126
+ [[package]]
127
+ name = "proc-macro2"
128
+ version = "1.0.106"
129
+ source = "registry+https://github.com/rust-lang/crates.io-index"
130
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
131
+ dependencies = [
132
+ "unicode-ident",
133
+ ]
134
+
135
+ [[package]]
136
+ name = "pyo3"
137
+ version = "0.29.0"
138
+ source = "registry+https://github.com/rust-lang/crates.io-index"
139
+ checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c"
140
+ dependencies = [
141
+ "libc",
142
+ "once_cell",
143
+ "portable-atomic",
144
+ "pyo3-build-config",
145
+ "pyo3-ffi",
146
+ "pyo3-macros",
147
+ ]
148
+
149
+ [[package]]
150
+ name = "pyo3-build-config"
151
+ version = "0.29.0"
152
+ source = "registry+https://github.com/rust-lang/crates.io-index"
153
+ checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078"
154
+ dependencies = [
155
+ "target-lexicon",
156
+ ]
157
+
158
+ [[package]]
159
+ name = "pyo3-ffi"
160
+ version = "0.29.0"
161
+ source = "registry+https://github.com/rust-lang/crates.io-index"
162
+ checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b"
163
+ dependencies = [
164
+ "libc",
165
+ "pyo3-build-config",
166
+ ]
167
+
168
+ [[package]]
169
+ name = "pyo3-macros"
170
+ version = "0.29.0"
171
+ source = "registry+https://github.com/rust-lang/crates.io-index"
172
+ checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771"
173
+ dependencies = [
174
+ "proc-macro2",
175
+ "pyo3-macros-backend",
176
+ "quote",
177
+ "syn 2.0.117",
178
+ ]
179
+
180
+ [[package]]
181
+ name = "pyo3-macros-backend"
182
+ version = "0.29.0"
183
+ source = "registry+https://github.com/rust-lang/crates.io-index"
184
+ checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362"
185
+ dependencies = [
186
+ "heck",
187
+ "proc-macro2",
188
+ "quote",
189
+ "syn 2.0.117",
190
+ ]
191
+
192
+ [[package]]
193
+ name = "quote"
194
+ version = "1.0.45"
195
+ source = "registry+https://github.com/rust-lang/crates.io-index"
196
+ checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
197
+ dependencies = [
198
+ "proc-macro2",
199
+ ]
200
+
201
+ [[package]]
202
+ name = "regex"
203
+ version = "1.12.3"
204
+ source = "registry+https://github.com/rust-lang/crates.io-index"
205
+ checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
206
+ dependencies = [
207
+ "aho-corasick",
208
+ "memchr",
209
+ "regex-automata",
210
+ "regex-syntax",
211
+ ]
212
+
213
+ [[package]]
214
+ name = "regex-automata"
215
+ version = "0.4.14"
216
+ source = "registry+https://github.com/rust-lang/crates.io-index"
217
+ checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
218
+ dependencies = [
219
+ "aho-corasick",
220
+ "memchr",
221
+ "regex-syntax",
222
+ ]
223
+
224
+ [[package]]
225
+ name = "regex-syntax"
226
+ version = "0.8.10"
227
+ source = "registry+https://github.com/rust-lang/crates.io-index"
228
+ checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
229
+
230
+ [[package]]
231
+ name = "rustversion"
232
+ version = "1.0.22"
233
+ source = "registry+https://github.com/rust-lang/crates.io-index"
234
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
235
+
236
+ [[package]]
237
+ name = "serde"
238
+ version = "1.0.228"
239
+ source = "registry+https://github.com/rust-lang/crates.io-index"
240
+ checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
241
+ dependencies = [
242
+ "serde_core",
243
+ "serde_derive",
244
+ ]
245
+
246
+ [[package]]
247
+ name = "serde_core"
248
+ version = "1.0.228"
249
+ source = "registry+https://github.com/rust-lang/crates.io-index"
250
+ checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
251
+ dependencies = [
252
+ "serde_derive",
253
+ ]
254
+
255
+ [[package]]
256
+ name = "serde_derive"
257
+ version = "1.0.228"
258
+ source = "registry+https://github.com/rust-lang/crates.io-index"
259
+ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
260
+ dependencies = [
261
+ "proc-macro2",
262
+ "quote",
263
+ "syn 2.0.117",
264
+ ]
265
+
266
+ [[package]]
267
+ name = "serde_json"
268
+ version = "1.0.149"
269
+ source = "registry+https://github.com/rust-lang/crates.io-index"
270
+ checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
271
+ dependencies = [
272
+ "itoa",
273
+ "memchr",
274
+ "serde",
275
+ "serde_core",
276
+ "zmij",
277
+ ]
278
+
279
+ [[package]]
280
+ name = "syn"
281
+ version = "2.0.117"
282
+ source = "registry+https://github.com/rust-lang/crates.io-index"
283
+ checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
284
+ dependencies = [
285
+ "proc-macro2",
286
+ "quote",
287
+ "unicode-ident",
288
+ ]
289
+
290
+ [[package]]
291
+ name = "syn"
292
+ version = "3.0.9"
293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
294
+ checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b"
295
+ dependencies = [
296
+ "proc-macro2",
297
+ "quote",
298
+ "unicode-ident",
299
+ ]
300
+
301
+ [[package]]
302
+ name = "synalog"
303
+ version = "2.3.0"
304
+ dependencies = [
305
+ "anyhow",
306
+ "indexmap",
307
+ "pyo3",
308
+ "regex",
309
+ "serde",
310
+ "serde_json",
311
+ "synalog-verified",
312
+ "thiserror",
313
+ "wasm-bindgen",
314
+ "yaml-rust2",
315
+ ]
316
+
317
+ [[package]]
318
+ name = "synalog-verified"
319
+ version = "2.3.0"
320
+ dependencies = [
321
+ "vstd",
322
+ ]
323
+
324
+ [[package]]
325
+ name = "synstructure"
326
+ version = "0.13.2"
327
+ source = "registry+https://github.com/rust-lang/crates.io-index"
328
+ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
329
+ dependencies = [
330
+ "proc-macro2",
331
+ "quote",
332
+ "syn 2.0.117",
333
+ ]
334
+
335
+ [[package]]
336
+ name = "target-lexicon"
337
+ version = "0.13.5"
338
+ source = "registry+https://github.com/rust-lang/crates.io-index"
339
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
340
+
341
+ [[package]]
342
+ name = "thiserror"
343
+ version = "2.0.18"
344
+ source = "registry+https://github.com/rust-lang/crates.io-index"
345
+ checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
346
+ dependencies = [
347
+ "thiserror-impl",
348
+ ]
349
+
350
+ [[package]]
351
+ name = "thiserror-impl"
352
+ version = "2.0.18"
353
+ source = "registry+https://github.com/rust-lang/crates.io-index"
354
+ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
355
+ dependencies = [
356
+ "proc-macro2",
357
+ "quote",
358
+ "syn 2.0.117",
359
+ ]
360
+
361
+ [[package]]
362
+ name = "unicode-ident"
363
+ version = "1.0.24"
364
+ source = "registry+https://github.com/rust-lang/crates.io-index"
365
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
366
+
367
+ [[package]]
368
+ name = "verus_builtin"
369
+ version = "0.0.0-2026-10-11-0230"
370
+ source = "registry+https://github.com/rust-lang/crates.io-index"
371
+ checksum = "d2e5d0972903f31da5271f50645c402122804a4e5292e1694706977ce18cbe67"
372
+
373
+ [[package]]
374
+ name = "verus_builtin_macros"
375
+ version = "0.0.0-2026-10-18-0147"
376
+ source = "registry+https://github.com/rust-lang/crates.io-index"
377
+ checksum = "c420824c5f3528bc29892c12c9083c03e8abe09119456e0ffe98ec3fb16ee5b8"
378
+ dependencies = [
379
+ "convert_case",
380
+ "proc-macro2",
381
+ "quote",
382
+ "syn 2.0.117",
383
+ "synstructure",
384
+ "verus_prettyplease",
385
+ "verus_syn",
386
+ ]
387
+
388
+ [[package]]
389
+ name = "verus_prettyplease"
390
+ version = "0.0.0-2026-09-06-0133"
391
+ source = "registry+https://github.com/rust-lang/crates.io-index"
392
+ checksum = "71956c0dcf55f57fd5a5335fff16981f7e0912d2e887914518c5a64fe36c063c"
393
+ dependencies = [
394
+ "proc-macro2",
395
+ "verus_syn",
396
+ ]
397
+
398
+ [[package]]
399
+ name = "verus_state_machines_macros"
400
+ version = "0.0.0-2026-10-18-0147"
401
+ source = "registry+https://github.com/rust-lang/crates.io-index"
402
+ checksum = "999032b29d28518b813f7b474adbb958a2f41c606d72d84e986546309469eeef"
403
+ dependencies = [
404
+ "indexmap",
405
+ "proc-macro2",
406
+ "quote",
407
+ "verus_syn",
408
+ ]
409
+
410
+ [[package]]
411
+ name = "verus_syn"
412
+ version = "0.0.0-2026-09-06-0133"
413
+ source = "registry+https://github.com/rust-lang/crates.io-index"
414
+ checksum = "7d8b53574934e1f608dfccd809ce17f3733d6eb99c14ce8220326121929e1637"
415
+ dependencies = [
416
+ "proc-macro2",
417
+ "quote",
418
+ "unicode-ident",
419
+ ]
420
+
421
+ [[package]]
422
+ name = "vstd"
423
+ version = "0.0.0-2026-10-18-0147"
424
+ source = "registry+https://github.com/rust-lang/crates.io-index"
425
+ checksum = "eb200973a51d678d3432092ce692c110bf262e281d7ffd55ec028708be84d676"
426
+ dependencies = [
427
+ "verus_builtin",
428
+ "verus_builtin_macros",
429
+ "verus_state_machines_macros",
430
+ ]
431
+
432
+ [[package]]
433
+ name = "wasm-bindgen"
434
+ version = "0.2.129"
435
+ source = "registry+https://github.com/rust-lang/crates.io-index"
436
+ checksum = "9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409"
437
+ dependencies = [
438
+ "cfg-if",
439
+ "once_cell",
440
+ "rustversion",
441
+ "wasm-bindgen-macro",
442
+ "wasm-bindgen-shared",
443
+ ]
444
+
445
+ [[package]]
446
+ name = "wasm-bindgen-macro"
447
+ version = "0.2.129"
448
+ source = "registry+https://github.com/rust-lang/crates.io-index"
449
+ checksum = "2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535"
450
+ dependencies = [
451
+ "quote",
452
+ "wasm-bindgen-macro-support",
453
+ ]
454
+
455
+ [[package]]
456
+ name = "wasm-bindgen-macro-support"
457
+ version = "0.2.129"
458
+ source = "registry+https://github.com/rust-lang/crates.io-index"
459
+ checksum = "6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7"
460
+ dependencies = [
461
+ "bumpalo",
462
+ "proc-macro2",
463
+ "quote",
464
+ "syn 3.0.9",
465
+ "wasm-bindgen-shared",
466
+ ]
467
+
468
+ [[package]]
469
+ name = "wasm-bindgen-shared"
470
+ version = "0.2.129"
471
+ source = "registry+https://github.com/rust-lang/crates.io-index"
472
+ checksum = "23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6"
473
+ dependencies = [
474
+ "unicode-ident",
475
+ ]
476
+
477
+ [[package]]
478
+ name = "yaml-rust2"
479
+ version = "0.13.0"
480
+ source = "registry+https://github.com/rust-lang/crates.io-index"
481
+ checksum = "57e5b818a27a4cd30884ea380857a5e56f7ec3ba24a3990a3cc0b95af3238e18"
482
+ dependencies = [
483
+ "arraydeque",
484
+ "hashlink",
485
+ ]
486
+
487
+ [[package]]
488
+ name = "zmij"
489
+ version = "1.0.21"
490
+ source = "registry+https://github.com/rust-lang/crates.io-index"
491
+ checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "synalog"
3
- version = "2.1.0"
3
+ version = "2.3.0"
4
4
  edition = "2024"
5
5
  description = "Logic programming for AI agents: Datalog-family language compiling to optimized SQL"
6
6
  license = "Apache-2.0"
@@ -18,11 +18,12 @@ python = ["dep:pyo3"]
18
18
  # Browser playground: compiles the parser + compiler to wasm via wasm-bindgen.
19
19
  # Build with: --no-default-features --features wasm
20
20
  wasm = ["dep:wasm-bindgen"]
21
- run = ["rusqlite", "duckdb", "postgres-db", "bigquery-db"]
22
- postgres-db = ["postgres"]
23
- bigquery-db = ["reqwest"]
21
+
22
+ [workspace]
23
+ members = ["verified"]
24
24
 
25
25
  [dependencies]
26
+ synalog-verified = { path = "verified" }
26
27
  indexmap = "2"
27
28
  regex = "1.12.3"
28
29
  serde = { version = "1", features = ["derive"] }
@@ -31,10 +32,6 @@ thiserror = "2"
31
32
  anyhow = "1"
32
33
  pyo3 = { version = "0.29", optional = true, features = ["extension-module", "abi3-py310"] }
33
34
  wasm-bindgen = { version = "0.2", optional = true }
34
- rusqlite = { version = "0.34", optional = true, features = ["bundled"] }
35
- duckdb = { version = "1.2", optional = true, features = ["bundled"] }
36
- postgres = { version = "0.19", optional = true }
37
- reqwest = { version = "0.12", optional = true, features = ["blocking", "json"] }
38
35
  yaml-rust2 = { version = "0.13.0", default-features = false }
39
36
 
40
37
  [dev-dependencies]