relationalai 0.11.2__tar.gz → 0.11.4__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 (473) hide show
  1. {relationalai-0.11.2 → relationalai-0.11.4}/.gitignore +1 -0
  2. {relationalai-0.11.2 → relationalai-0.11.4}/PKG-INFO +3 -2
  3. {relationalai-0.11.2 → relationalai-0.11.4}/pyproject.toml +3 -2
  4. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/snowflake.py +44 -15
  5. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/types.py +1 -0
  6. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/use_index_poller.py +446 -178
  7. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/builder/std/__init__.py +1 -1
  8. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/bindings/csv.py +4 -4
  9. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/internal/internal.py +22 -4
  10. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/executor.py +69 -18
  11. relationalai-0.11.4/src/relationalai/semantics/lqp/intrinsics.py +23 -0
  12. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/model2lqp.py +16 -6
  13. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/passes.py +3 -4
  14. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/primitives.py +38 -14
  15. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/builtins.py +152 -11
  16. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/factory.py +3 -2
  17. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/helpers.py +78 -2
  18. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/core.py +343 -40
  19. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/optimization/solvers_dev.py +20 -1
  20. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/optimization/solvers_pb.py +24 -3
  21. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/rel/compiler.py +5 -17
  22. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/rel/executor.py +2 -2
  23. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/rel/rel.py +6 -0
  24. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/rel/rel_utils.py +37 -1
  25. relationalai-0.11.4/src/relationalai/semantics/rel/rewrite/extract_common.py +362 -0
  26. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/sql/compiler.py +540 -202
  27. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/sql/executor/duck_db.py +21 -0
  28. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/sql/executor/result_helpers.py +7 -0
  29. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/sql/executor/snowflake.py +9 -2
  30. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/sql/rewrite/denormalize.py +4 -6
  31. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/sql/rewrite/recursive_union.py +23 -3
  32. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/sql/sql.py +120 -46
  33. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/std/__init__.py +9 -4
  34. relationalai-0.11.4/src/relationalai/semantics/std/datetime.py +363 -0
  35. relationalai-0.11.4/src/relationalai/semantics/std/math.py +141 -0
  36. relationalai-0.11.4/src/relationalai/semantics/std/re.py +83 -0
  37. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/std/strings.py +1 -1
  38. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/cli_controls.py +445 -60
  39. relationalai-0.11.4/src/relationalai/util/format.py +123 -0
  40. relationalai-0.11.2/src/relationalai/semantics/rel/rewrite/extract_common.py +0 -451
  41. relationalai-0.11.2/src/relationalai/semantics/std/dates.py +0 -213
  42. relationalai-0.11.2/src/relationalai/semantics/std/math.py +0 -64
  43. relationalai-0.11.2/src/relationalai/util/format.py +0 -46
  44. {relationalai-0.11.2 → relationalai-0.11.4}/LICENSE +0 -0
  45. {relationalai-0.11.2 → relationalai-0.11.4}/docs/pypi/README.md +0 -0
  46. {relationalai-0.11.2 → relationalai-0.11.4}/frontend/debugger/dist/.gitignore +0 -0
  47. {relationalai-0.11.2 → relationalai-0.11.4}/frontend/debugger/dist/assets/favicon-Dy0ZgA6N.png +0 -0
  48. {relationalai-0.11.2 → relationalai-0.11.4}/frontend/debugger/dist/assets/index-Cssla-O7.js +0 -0
  49. {relationalai-0.11.2 → relationalai-0.11.4}/frontend/debugger/dist/assets/index-DlHsYx1V.css +0 -0
  50. {relationalai-0.11.2 → relationalai-0.11.4}/frontend/debugger/dist/index.html +0 -0
  51. {relationalai-0.11.2 → relationalai-0.11.4}/src/__init__.py +0 -0
  52. {relationalai-0.11.2 → relationalai-0.11.4}/src/raitoolkit/__init__.py +0 -0
  53. {relationalai-0.11.2 → relationalai-0.11.4}/src/raitoolkit/events/__init__.py +0 -0
  54. {relationalai-0.11.2 → relationalai-0.11.4}/src/raitoolkit/procedures/__init__.py +0 -0
  55. {relationalai-0.11.2 → relationalai-0.11.4}/src/raitoolkit/procedures/procedure.py +0 -0
  56. {relationalai-0.11.2 → relationalai-0.11.4}/src/raitoolkit/rel/__init__.py +0 -0
  57. {relationalai-0.11.2 → relationalai-0.11.4}/src/raitoolkit/tables/__init__.py +0 -0
  58. {relationalai-0.11.2 → relationalai-0.11.4}/src/raitoolkit/tasks/__init__.py +0 -0
  59. {relationalai-0.11.2 → relationalai-0.11.4}/src/raitoolkit/tasks/task.py +0 -0
  60. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/__init__.py +0 -0
  61. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/analysis/__init__.py +0 -0
  62. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/analysis/mechanistic.py +0 -0
  63. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/analysis/whynot.py +0 -0
  64. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/auth/__init__.py +0 -0
  65. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/auth/jwt_generator.py +0 -0
  66. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/auth/oauth_callback_server.py +0 -0
  67. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/auth/token_handler.py +0 -0
  68. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/auth/util.py +0 -0
  69. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/__init__.py +0 -0
  70. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/azure.py +0 -0
  71. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/cache_store.py +0 -0
  72. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/client.py +0 -0
  73. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/config.py +0 -0
  74. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/export_procedure.py.jinja +0 -0
  75. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/hash_util.py +0 -0
  76. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/profile_polling.py +0 -0
  77. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/result_helpers.py +0 -0
  78. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/clients/util.py +0 -0
  79. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/compiler.py +0 -0
  80. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/debugging.py +0 -0
  81. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/dependencies.py +0 -0
  82. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/docutils.py +0 -0
  83. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/dsl.py +0 -0
  84. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/__init__.py +0 -0
  85. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/builder/__init__.py +0 -0
  86. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/builder/builder/__init__.py +0 -0
  87. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/builder/snowflake/__init__.py +0 -0
  88. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/builder/std/decimals/__init__.py +0 -0
  89. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/builder/std/integers/__init__.py +0 -0
  90. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/builder/std/math/__init__.py +0 -0
  91. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/builder/std/strings/__init__.py +0 -0
  92. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/devtools/__init__.py +0 -0
  93. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/devtools/benchmark_lqp/__init__.py +0 -0
  94. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/devtools/extract_lqp/__init__.py +0 -0
  95. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/__init__.py +0 -0
  96. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/adapters/__init__.py +0 -0
  97. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/adapters/orm/__init__.py +0 -0
  98. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/adapters/orm/adapter_qb.py +0 -0
  99. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/adapters/orm/model.py +0 -0
  100. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/adapters/orm/parser.py +0 -0
  101. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/adapters/owl/__init__.py +0 -0
  102. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/adapters/owl/adapter.py +0 -0
  103. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/adapters/owl/model.py +0 -0
  104. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/adapters/owl/parser.py +0 -0
  105. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/bindings/__init__.py +0 -0
  106. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/bindings/common.py +0 -0
  107. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/bindings/legacy/__init__.py +0 -0
  108. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/bindings/legacy/binding_models.py +0 -0
  109. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/bindings/snowflake.py +0 -0
  110. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/codegen/__init__.py +0 -0
  111. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/codegen/binder.py +0 -0
  112. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/codegen/common.py +0 -0
  113. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/codegen/helpers.py +0 -0
  114. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/codegen/relations.py +0 -0
  115. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/codegen/weaver.py +0 -0
  116. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/constants.py +0 -0
  117. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/__init__.py +0 -0
  118. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/builders/__init__.py +0 -0
  119. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/builders/logic.py +0 -0
  120. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/builders/scalar_constraint.py +0 -0
  121. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/constraints/__init__.py +0 -0
  122. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/constraints/predicate/__init__.py +0 -0
  123. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/constraints/predicate/atomic.py +0 -0
  124. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/constraints/predicate/universal.py +0 -0
  125. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/constraints/scalar.py +0 -0
  126. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/context.py +0 -0
  127. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/cset.py +0 -0
  128. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/exprs/__init__.py +0 -0
  129. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/exprs/relational.py +0 -0
  130. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/exprs/scalar.py +0 -0
  131. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/instances.py +0 -0
  132. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/logic/__init__.py +0 -0
  133. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/logic/aggregation.py +0 -0
  134. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/logic/exists.py +0 -0
  135. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/logic/helper.py +0 -0
  136. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/namespaces.py +0 -0
  137. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/relations.py +0 -0
  138. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/rules.py +0 -0
  139. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/stack.py +0 -0
  140. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/std/__init__.py +0 -0
  141. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/temporal/__init__.py +0 -0
  142. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/temporal/recall.py +0 -0
  143. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/types/__init__.py +0 -0
  144. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/types/concepts.py +0 -0
  145. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/types/constrained/__init__.py +0 -0
  146. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/types/constrained/nominal.py +0 -0
  147. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/types/constrained/subtype.py +0 -0
  148. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/types/standard.py +0 -0
  149. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/types/unconstrained.py +0 -0
  150. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/types/variables.py +0 -0
  151. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/core/utils.py +0 -0
  152. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ir/__init__.py +0 -0
  153. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ir/compiler.py +0 -0
  154. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ir/executor.py +0 -0
  155. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ontologies/__init__.py +0 -0
  156. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ontologies/constraints.py +0 -0
  157. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ontologies/export.py +0 -0
  158. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ontologies/models.py +0 -0
  159. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ontologies/python_printer.py +0 -0
  160. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ontologies/raw_source.py +0 -0
  161. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ontologies/readings.py +0 -0
  162. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ontologies/relationships.py +0 -0
  163. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ontologies/roles.py +0 -0
  164. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/ontologies/subtyping.py +0 -0
  165. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/__init__.py +0 -0
  166. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/constraints.py +0 -0
  167. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/measures/__init__.py +0 -0
  168. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/measures/dimensions.py +0 -0
  169. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/measures/initializer.py +0 -0
  170. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/measures/measure_rules.py +0 -0
  171. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/measures/measures.py +0 -0
  172. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/measures/role_exprs.py +0 -0
  173. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/models.py +0 -0
  174. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/object_oriented_printer.py +0 -0
  175. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/printer.py +0 -0
  176. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/reasoner_errors.py +0 -0
  177. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/reasoners.py +0 -0
  178. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/relations.py +0 -0
  179. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/relationships.py +0 -0
  180. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/types.py +0 -0
  181. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/utils.py +0 -0
  182. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/orm/verb.py +0 -0
  183. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/physical_metadata/__init__.py +0 -0
  184. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/physical_metadata/tables.py +0 -0
  185. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/relations.py +0 -0
  186. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/rulesets.py +0 -0
  187. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/schemas/__init__.py +0 -0
  188. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/schemas/builder.py +0 -0
  189. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/schemas/comp_names.py +0 -0
  190. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/schemas/components.py +0 -0
  191. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/schemas/contexts.py +0 -0
  192. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/schemas/exprs.py +0 -0
  193. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/schemas/fragments.py +0 -0
  194. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/serialization.py +0 -0
  195. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/serialize/__init__.py +0 -0
  196. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/serialize/binding_model.py +0 -0
  197. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/serialize/exporter.py +0 -0
  198. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/serialize/model.py +0 -0
  199. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/snow/__init__.py +0 -0
  200. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/snow/api.py +0 -0
  201. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/snow/common.py +0 -0
  202. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/state_mgmt/__init__.py +0 -0
  203. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/state_mgmt/state_charts.py +0 -0
  204. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/state_mgmt/transitions.py +0 -0
  205. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/types/__init__.py +0 -0
  206. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/types/concepts.py +0 -0
  207. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/types/entities.py +0 -0
  208. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/types/values.py +0 -0
  209. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/dsl/utils.py +0 -0
  210. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/graphs/__init__.py +0 -0
  211. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/lqp/__init__.py +0 -0
  212. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/lqp/compiler/__init__.py +0 -0
  213. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/lqp/constructors/__init__.py +0 -0
  214. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/lqp/executor/__init__.py +0 -0
  215. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/lqp/ir/__init__.py +0 -0
  216. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/lqp/passes/__init__.py +0 -0
  217. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/lqp/pragmas/__init__.py +0 -0
  218. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/lqp/primitives/__init__.py +0 -0
  219. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/lqp/types/__init__.py +0 -0
  220. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/lqp/utils/__init__.py +0 -0
  221. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/lqp/validators/__init__.py +0 -0
  222. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/__init__.py +0 -0
  223. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/builtins/__init__.py +0 -0
  224. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/compiler/__init__.py +0 -0
  225. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/dependency/__init__.py +0 -0
  226. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/factory/__init__.py +0 -0
  227. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/helpers/__init__.py +0 -0
  228. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/ir/__init__.py +0 -0
  229. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/rewrite/__init__.py +0 -0
  230. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/typer/__init__.py +0 -0
  231. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/typer/typer/__init__.py +0 -0
  232. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/types/__init__.py +0 -0
  233. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/util/__init__.py +0 -0
  234. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/metamodel/visitor/__init__.py +0 -0
  235. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/__init__.py +0 -0
  236. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/api/__init__.py +0 -0
  237. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/benchmarks/__init__.py +0 -0
  238. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/graph/__init__.py +0 -0
  239. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/path_algorithms/__init__.py +0 -0
  240. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/path_algorithms/find_paths/__init__.py +0 -0
  241. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/path_algorithms/one_sided_ball_repetition/__init__.py +0 -0
  242. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/path_algorithms/one_sided_ball_upto/__init__.py +0 -0
  243. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/path_algorithms/single/__init__.py +0 -0
  244. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/path_algorithms/two_sided_balls_repetition/__init__.py +0 -0
  245. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/path_algorithms/two_sided_balls_upto/__init__.py +0 -0
  246. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/path_algorithms/usp/__init__.py +0 -0
  247. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/rpq/__init__.py +0 -0
  248. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/utilities/__init__.py +0 -0
  249. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/paths/utilities/iterators/__init__.py +0 -0
  250. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/rel/__init__.py +0 -0
  251. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/rel/executor/__init__.py +0 -0
  252. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/rel/rel_utils/__init__.py +0 -0
  253. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/rel/rewrite/__init__.py +0 -0
  254. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/solvers/__init__.py +0 -0
  255. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/sql/__init__.py +0 -0
  256. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/sql/executor/__init__.py +0 -0
  257. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/sql/rewrite/__init__.py +0 -0
  258. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/tests/__init__.py +0 -0
  259. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/tests/logging/__init__.py +0 -0
  260. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/tests/test_snapshot_base/__init__.py +0 -0
  261. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/early_access/tests/utils/__init__.py +0 -0
  262. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/environments/__init__.py +0 -0
  263. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/environments/base.py +0 -0
  264. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/environments/ci.py +0 -0
  265. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/environments/colab.py +0 -0
  266. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/environments/generic.py +0 -0
  267. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/environments/hex.py +0 -0
  268. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/environments/ipython.py +0 -0
  269. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/environments/jupyter.py +0 -0
  270. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/environments/snowbook.py +0 -0
  271. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/environments/terminal.py +0 -0
  272. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/errors.py +0 -0
  273. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/SF.py +0 -0
  274. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/__init__.py +0 -0
  275. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/graphs.py +0 -0
  276. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/inspect.py +0 -0
  277. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/__init__.py +0 -0
  278. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/api.py +0 -0
  279. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/automaton.py +0 -0
  280. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/bridge.py +0 -0
  281. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/compiler.py +0 -0
  282. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/datalog.py +0 -0
  283. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/diagnostics.py +0 -0
  284. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/filter.py +0 -0
  285. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/glushkov.py +0 -0
  286. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/options.py +0 -0
  287. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/pathfinder-v0.7.0.rel +0 -0
  288. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/rpq.py +0 -0
  289. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/transition.py +0 -0
  290. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/pathfinder/utils.py +0 -0
  291. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/paths/__init__.py +0 -0
  292. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/paths/pathfinder.rel +0 -0
  293. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/paths/tree_agg.py +0 -0
  294. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/experimental/solvers.py +0 -0
  295. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/loaders/__init__.py +0 -0
  296. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/loaders/csv.py +0 -0
  297. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/loaders/loader.py +0 -0
  298. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/loaders/types.py +0 -0
  299. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/metagen.py +0 -0
  300. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/metamodel.py +0 -0
  301. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/rel.py +0 -0
  302. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/rel_emitter.py +0 -0
  303. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/rel_utils.py +0 -0
  304. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/__init__.py +0 -0
  305. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/designs/query_builder/identify_by.md +0 -0
  306. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/devtools/__init__.py +0 -0
  307. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/devtools/benchmark_lqp.py +0 -0
  308. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/devtools/compilation_manager.py +0 -0
  309. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/devtools/extract_lqp.py +0 -0
  310. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/internal/__init__.py +0 -0
  311. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/internal/annotations.py +0 -0
  312. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/internal/snowflake.py +0 -0
  313. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/__init__.py +0 -0
  314. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/builtins.py +0 -0
  315. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/compiler.py +0 -0
  316. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/constructors.py +0 -0
  317. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/ir.py +0 -0
  318. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/pragmas.py +0 -0
  319. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/result_helpers.py +0 -0
  320. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/types.py +0 -0
  321. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/utils.py +0 -0
  322. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/lqp/validators.py +0 -0
  323. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/__init__.py +0 -0
  324. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/compiler.py +0 -0
  325. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/dataflow.py +0 -0
  326. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/dependency.py +0 -0
  327. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/executor.py +0 -0
  328. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/ir.py +0 -0
  329. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/rewrite/__init__.py +0 -0
  330. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/rewrite/discharge_constraints.py +0 -0
  331. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/rewrite/dnf_union_splitter.py +0 -0
  332. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/rewrite/extract_keys.py +0 -0
  333. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/rewrite/extract_nested_logicals.py +0 -0
  334. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/rewrite/fd_constraints.py +0 -0
  335. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/rewrite/flatten.py +0 -0
  336. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/rewrite/gc_nodes.py +0 -0
  337. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/rewrite/list_types.py +0 -0
  338. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/rewrite/splinter.py +0 -0
  339. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/typer/__init__.py +0 -0
  340. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/typer/checker.py +0 -0
  341. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/typer/typer.py +0 -0
  342. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/types.py +0 -0
  343. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/util.py +0 -0
  344. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/metamodel/visitor.py +0 -0
  345. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/__init__.py +0 -0
  346. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/README.md +0 -0
  347. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/__init__.py +0 -0
  348. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/design/beyond_demand_transform.md +0 -0
  349. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/README.md +0 -0
  350. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/__init__.py +0 -0
  351. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/api.py +0 -0
  352. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/benchmarks/__init__.py +0 -0
  353. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/benchmarks/grid_graph.py +0 -0
  354. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/code_organization.md +0 -0
  355. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/Movies.ipynb +0 -0
  356. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/basic_example.py +0 -0
  357. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/minimal_engine_warmup.py +0 -0
  358. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/movie_example.py +0 -0
  359. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/actedin.csv +0 -0
  360. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/directed.csv +0 -0
  361. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/follows.csv +0 -0
  362. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/movies.csv +0 -0
  363. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/person.csv +0 -0
  364. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/produced.csv +0 -0
  365. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/ratings.csv +0 -0
  366. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/wrote.csv +0 -0
  367. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/paths_benchmark.py +0 -0
  368. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/paths_example.py +0 -0
  369. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/examples/pattern_to_automaton.py +0 -0
  370. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/find_paths_via_automaton.py +0 -0
  371. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/graph.py +0 -0
  372. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/__init__.py +0 -0
  373. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/find_paths.py +0 -0
  374. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/one_sided_ball_repetition.py +0 -0
  375. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/one_sided_ball_upto.py +0 -0
  376. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/single.py +0 -0
  377. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/two_sided_balls_repetition.py +0 -0
  378. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/two_sided_balls_upto.py +0 -0
  379. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/usp-old.py +0 -0
  380. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/usp-tuple.py +0 -0
  381. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/usp.py +0 -0
  382. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/product_graph.py +0 -0
  383. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/rpq/__init__.py +0 -0
  384. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/rpq/automaton.py +0 -0
  385. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/rpq/diagnostics.py +0 -0
  386. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/rpq/filter.py +0 -0
  387. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/rpq/glushkov.py +0 -0
  388. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/rpq/rpq.py +0 -0
  389. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/rpq/transition.py +0 -0
  390. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_limit_sp_max_length.py +0 -0
  391. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_limit_sp_multiple.py +0 -0
  392. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_limit_sp_single.py +0 -0
  393. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_limit_walks_multiple.py +0 -0
  394. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_limit_walks_single.py +0 -0
  395. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_one_sided_ball_repetition_multiple.py +0 -0
  396. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_one_sided_ball_repetition_single.py +0 -0
  397. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_one_sided_ball_upto_multiple.py +0 -0
  398. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_one_sided_ball_upto_single.py +0 -0
  399. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_single_paths.py +0 -0
  400. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_single_walks.py +0 -0
  401. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_single_walks_undirected.py +0 -0
  402. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_two_sided_balls_repetition_multiple.py +0 -0
  403. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_two_sided_balls_repetition_single.py +0 -0
  404. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_two_sided_balls_upto_multiple.py +0 -0
  405. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_two_sided_balls_upto_single.py +0 -0
  406. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_usp_nsp_multiple.py +0 -0
  407. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_usp_nsp_single.py +0 -0
  408. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/utilities/__init__.py +0 -0
  409. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/utilities/iterators.py +0 -0
  410. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/utilities/prefix_sum.py +0 -0
  411. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/paths/utilities/utilities.py +0 -0
  412. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/graph/tests/README.md +0 -0
  413. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/optimization/__init__.py +0 -0
  414. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/reasoners/optimization/common.py +0 -0
  415. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/rel/__init__.py +0 -0
  416. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/rel/builtins.py +0 -0
  417. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/rel/rewrite/__init__.py +0 -0
  418. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/rel/rewrite/cdc.py +0 -0
  419. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/rel/rewrite/quantify_vars.py +0 -0
  420. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/snowflake/__init__.py +0 -0
  421. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/sql/__init__.py +0 -0
  422. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/sql/executor/__init__.py +0 -0
  423. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/sql/rewrite/__init__.py +0 -0
  424. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/sql/rewrite/double_negation.py +0 -0
  425. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/sql/rewrite/sort_output_query.py +0 -0
  426. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/std/constraints.py +0 -0
  427. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/std/decimals.py +0 -0
  428. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/std/floats.py +0 -0
  429. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/std/integers.py +0 -0
  430. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/std/pragmas.py +0 -0
  431. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/std/std.py +0 -0
  432. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/tests/__init__.py +0 -0
  433. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/tests/logging.py +0 -0
  434. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/tests/test_snapshot_abstract.py +0 -0
  435. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/tests/test_snapshot_base.py +0 -0
  436. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/semantics/tests/utils.py +0 -0
  437. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/std/__init__.py +0 -0
  438. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/std/aggregates.py +0 -0
  439. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/std/dates.py +0 -0
  440. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/std/graphs.py +0 -0
  441. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/std/inspect.py +0 -0
  442. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/std/math.py +0 -0
  443. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/std/re.py +0 -0
  444. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/std/strings.py +0 -0
  445. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/__init__.py +0 -0
  446. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/cleanup_snapshots.py +0 -0
  447. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/cli.py +0 -0
  448. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/cli_helpers.py +0 -0
  449. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/constants.py +0 -0
  450. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/debugger.py +0 -0
  451. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/debugger_client.py +0 -0
  452. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/debugger_server.py +0 -0
  453. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/dev.py +0 -0
  454. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/notes +0 -0
  455. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/qb_debugger.py +0 -0
  456. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/tools/snapshot_viewer.py +0 -0
  457. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/__init__.py +0 -0
  458. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/clean_up_databases.py +0 -0
  459. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/constants.py +0 -0
  460. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/graph.py +0 -0
  461. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/list_databases.py +0 -0
  462. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/otel_configuration.py +0 -0
  463. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/otel_handler.py +0 -0
  464. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/snowflake_handler.py +0 -0
  465. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/span_format_test.py +0 -0
  466. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/span_tracker.py +0 -0
  467. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/spans_file_handler.py +0 -0
  468. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/timeout.py +0 -0
  469. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai/util/tracing_handler.py +0 -0
  470. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai_test_util/__init__.py +0 -0
  471. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai_test_util/fixtures.py +0 -0
  472. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai_test_util/snapshot.py +0 -0
  473. {relationalai-0.11.2 → relationalai-0.11.4}/src/relationalai_test_util/traceback.py +0 -0
@@ -37,3 +37,4 @@ relationalai*.zip
37
37
  logs/
38
38
  .envrc
39
39
  metadata.json
40
+ dev-notes/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: relationalai
3
- Version: 0.11.2
3
+ Version: 0.11.4
4
4
  Summary: RelationalAI Library and CLI
5
5
  Author-email: RelationalAI <support@relational.ai>
6
6
  License-File: LICENSE
@@ -12,7 +12,7 @@ Requires-Dist: cryptography
12
12
  Requires-Dist: gravis
13
13
  Requires-Dist: inquirerpy
14
14
  Requires-Dist: lqp==0.1.16
15
- Requires-Dist: nicegui
15
+ Requires-Dist: nicegui==2.16.1
16
16
  Requires-Dist: numpy<2
17
17
  Requires-Dist: opentelemetry-api
18
18
  Requires-Dist: opentelemetry-exporter-otlp-proto-http
@@ -52,6 +52,7 @@ Requires-Dist: pytest-mock; extra == 'dev'
52
52
  Requires-Dist: pytest-snapshot; extra == 'dev'
53
53
  Requires-Dist: pytest-timeout; extra == 'dev'
54
54
  Requires-Dist: ruff; extra == 'dev'
55
+ Requires-Dist: scipy; extra == 'dev'
55
56
  Requires-Dist: sqlite-utils; extra == 'dev'
56
57
  Requires-Dist: sympy; extra == 'dev'
57
58
  Requires-Dist: tablescope; extra == 'dev'
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = 'relationalai'
3
- version = '0.11.2'
3
+ version = '0.11.4'
4
4
  description = 'RelationalAI Library and CLI'
5
5
  readme="docs/pypi/README.md"
6
6
  authors = [
@@ -14,7 +14,7 @@ dependencies = [
14
14
  "rai-sdk>=0.7.5",
15
15
  "typing-extensions",
16
16
  "rich",
17
- "nicegui",
17
+ "nicegui==2.16.1",
18
18
  "numpy<2",
19
19
  "pandas",
20
20
  "colorama",
@@ -61,6 +61,7 @@ dev = [
61
61
  "sympy",
62
62
  "duckdb",
63
63
  "polars",
64
+ "scipy"
64
65
  ]
65
66
  ea = [
66
67
  "pysmt",
@@ -2048,7 +2048,7 @@ Otherwise, remove it from your '{profile}' configuration profile.
2048
2048
  assert len(parsed) == 4, f"Invalid source: {source}"
2049
2049
  db, schema, entity, identity = parsed
2050
2050
  assert db and schema and entity and identity, f"Invalid source: {source}"
2051
- source_types[identity] = cast(SourceInfo, {"type": None, "state": ""})
2051
+ source_types[identity] = cast(SourceInfo, {"type": None, "state": "", "columns_hash": None})
2052
2052
  partitioned_sources[db][schema].append(entity)
2053
2053
 
2054
2054
  # TODO: Move to NA layer
@@ -2057,6 +2057,7 @@ Otherwise, remove it from your '{profile}' configuration profile.
2057
2057
  f"""SELECT
2058
2058
  inf.FQN,
2059
2059
  inf.KIND,
2060
+ inf.COLUMNS_HASH,
2060
2061
  IFF(DATEDIFF(second, ds.created_at::TIMESTAMP, inf.LAST_DDL::TIMESTAMP) > 0, 'STALE', 'CURRENT') AS STATE
2061
2062
  FROM (
2062
2063
  SELECT (SELECT {app_name}.api.normalize_fq_ids(ARRAY_CONSTRUCT(FQ_OBJECT_NAME))[0]:identifier::string) as FQ_OBJECT_NAME,
@@ -2068,26 +2069,45 @@ Otherwise, remove it from your '{profile}' configuration profile.
2068
2069
  (SELECT {app_name}.api.normalize_fq_ids(
2069
2070
  ARRAY_CONSTRUCT(
2070
2071
  CASE
2071
- WHEN TABLE_CATALOG = UPPER(TABLE_CATALOG) THEN TABLE_CATALOG
2072
- ELSE '"' || TABLE_CATALOG || '"'
2072
+ WHEN t.TABLE_CATALOG = UPPER(t.TABLE_CATALOG) THEN t.TABLE_CATALOG
2073
+ ELSE '"' || t.TABLE_CATALOG || '"'
2073
2074
  END || '.' ||
2074
2075
  CASE
2075
- WHEN TABLE_SCHEMA = UPPER(TABLE_SCHEMA) THEN TABLE_SCHEMA
2076
- ELSE '"' || TABLE_SCHEMA || '"'
2076
+ WHEN t.TABLE_SCHEMA = UPPER(t.TABLE_SCHEMA) THEN t.TABLE_SCHEMA
2077
+ ELSE '"' || t.TABLE_SCHEMA || '"'
2077
2078
  END || '.' ||
2078
2079
  CASE
2079
- WHEN TABLE_NAME = UPPER(TABLE_NAME) THEN TABLE_NAME
2080
- ELSE '"' || TABLE_NAME || '"'
2080
+ WHEN t.TABLE_NAME = UPPER(t.TABLE_NAME) THEN t.TABLE_NAME
2081
+ ELSE '"' || t.TABLE_NAME || '"'
2081
2082
  END
2082
2083
  )
2083
2084
  )[0]:identifier::string) as FQN,
2084
2085
  CONVERT_TIMEZONE('UTC', LAST_DDL) AS LAST_DDL,
2085
- TABLE_TYPE as KIND
2086
- FROM {db}.INFORMATION_SCHEMA.TABLES
2087
- WHERE TABLE_CATALOG = {IdentityParser.to_sql_value(db)} AND ({" OR ".join(
2088
- f"(TABLE_SCHEMA = {IdentityParser.to_sql_value(schema)} AND TABLE_NAME IN ({','.join(f'{IdentityParser.to_sql_value(table)}' for table in tables)}))"
2086
+ TABLE_TYPE as KIND,
2087
+ SHA2(LISTAGG(
2088
+ COLUMN_NAME ||
2089
+ CASE
2090
+ WHEN c.NUMERIC_PRECISION IS NOT NULL AND c.NUMERIC_SCALE IS NOT NULL
2091
+ THEN c.DATA_TYPE || '(' || c.NUMERIC_PRECISION || ',' || c.NUMERIC_SCALE || ')'
2092
+ WHEN c.DATETIME_PRECISION IS NOT NULL
2093
+ THEN c.DATA_TYPE || '(0,' || c.DATETIME_PRECISION || ')'
2094
+ WHEN c.CHARACTER_MAXIMUM_LENGTH IS NOT NULL
2095
+ THEN c.DATA_TYPE || '(' || c.CHARACTER_MAXIMUM_LENGTH || ')'
2096
+ ELSE c.DATA_TYPE
2097
+ END ||
2098
+ IS_NULLABLE,
2099
+ ','
2100
+ ) WITHIN GROUP (ORDER BY COLUMN_NAME), 256) as COLUMNS_HASH
2101
+ FROM {db}.INFORMATION_SCHEMA.TABLES t
2102
+ JOIN {db}.INFORMATION_SCHEMA.COLUMNS c
2103
+ ON t.TABLE_CATALOG = c.TABLE_CATALOG
2104
+ AND t.TABLE_SCHEMA = c.TABLE_SCHEMA
2105
+ AND t.TABLE_NAME = c.TABLE_NAME
2106
+ WHERE t.TABLE_CATALOG = {IdentityParser.to_sql_value(db)} AND ({" OR ".join(
2107
+ f"(t.TABLE_SCHEMA = {IdentityParser.to_sql_value(schema)} AND t.TABLE_NAME IN ({','.join(f'{IdentityParser.to_sql_value(table)}' for table in tables)}))"
2089
2108
  for schema, tables in schemas.items()
2090
2109
  )})
2110
+ GROUP BY t.TABLE_CATALOG, t.TABLE_SCHEMA, t.TABLE_NAME, t.LAST_DDL, t.TABLE_TYPE
2091
2111
  ) inf on inf.FQN = ds.FQ_OBJECT_NAME
2092
2112
  """
2093
2113
  for db, schemas in partitioned_sources.items()
@@ -2102,6 +2122,7 @@ Otherwise, remove it from your '{profile}' configuration profile.
2102
2122
  assert fqn, f"Error parsing returned FQN: {row_fqn}"
2103
2123
 
2104
2124
  source_types[fqn]["type"] = "TABLE" if row["KIND"] == "BASE TABLE" else row["KIND"]
2125
+ source_types[fqn]["columns_hash"] = row["COLUMNS_HASH"]
2105
2126
  source_types[fqn]["state"] = row["STATE"]
2106
2127
 
2107
2128
  return source_types
@@ -3058,10 +3079,13 @@ class DirectAccessResources(Resources):
3058
3079
  return self._retrieve_service_endpoint()
3059
3080
 
3060
3081
  def _retrieve_service_endpoint(self, enforce_update=False) -> str:
3082
+ account = self.config.get("account")
3083
+ app_name = self.config.get("rai_app_name")
3084
+ service_endpoint_key = f"{account}.{app_name}.service_endpoint"
3061
3085
  if self._service_endpoint and not enforce_update:
3062
3086
  return self._service_endpoint
3063
- if self._endpoint_info.get("service_endpoint", "") and not enforce_update:
3064
- self._service_endpoint = str(self._endpoint_info.get("service_endpoint", ""))
3087
+ if self._endpoint_info.get(service_endpoint_key, "") and not enforce_update:
3088
+ self._service_endpoint = str(self._endpoint_info.get(service_endpoint_key, ""))
3065
3089
  return self._service_endpoint
3066
3090
 
3067
3091
  is_snowflake_notebook = isinstance(runtime_env, SnowbookEnvironment)
@@ -3073,7 +3097,7 @@ class DirectAccessResources(Resources):
3073
3097
  else:
3074
3098
  self._service_endpoint = f"https://{result[0]['SERVICE_ENDPOINT']}"
3075
3099
 
3076
- self._endpoint_info.set("service_endpoint", self._service_endpoint)
3100
+ self._endpoint_info.set(service_endpoint_key, self._service_endpoint)
3077
3101
  # save the endpoint to `ENDPOINT_FILE` to avoid calling the endpoint with every
3078
3102
  # pyrel execution
3079
3103
  try:
@@ -3116,7 +3140,12 @@ class DirectAccessResources(Resources):
3116
3140
  try:
3117
3141
  response = _send_request()
3118
3142
  if response.status_code != 200:
3119
- message = response.json().get("message", "")
3143
+ try:
3144
+ message = response.json().get("message", "")
3145
+ except requests.exceptions.JSONDecodeError:
3146
+ raise ResponseStatusException(
3147
+ f"Failed to parse error response from endpoint {endpoint}.", response
3148
+ )
3120
3149
 
3121
3150
  # fix engine on engine error and retry
3122
3151
  if _is_engine_issue(message):
@@ -41,6 +41,7 @@ class EngineState(TypedDict):
41
41
  class SourceInfo(TypedDict):
42
42
  type: str|None
43
43
  state: str
44
+ columns_hash: str|None
44
45
  source: str
45
46
 
46
47