relationalai 0.12.3__tar.gz → 0.12.6__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 (470) hide show
  1. {relationalai-0.12.3 → relationalai-0.12.6}/PKG-INFO +1 -1
  2. {relationalai-0.12.3 → relationalai-0.12.6}/pyproject.toml +1 -2
  3. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/__init__.py +4 -0
  4. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/snowflake.py +129 -28
  5. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/use_index_poller.py +3 -0
  6. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/README.md +2 -2
  7. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/__init__.py +0 -2
  8. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/basic_example.py +2 -2
  9. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/paths_benchmark.py +2 -2
  10. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/paths_example.py +2 -2
  11. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/pattern_to_automaton.py +1 -1
  12. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/path_algorithms/one_sided_ball_repetition.py +1 -1
  13. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/path_algorithms/single.py +3 -3
  14. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/path_algorithms/two_sided_balls_repetition.py +1 -1
  15. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/path_algorithms/two_sided_balls_upto.py +2 -2
  16. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/path_algorithms/usp-old.py +3 -3
  17. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/path_algorithms/usp-tuple.py +3 -3
  18. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/path_algorithms/usp.py +3 -3
  19. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_limit_sp_max_length.py +2 -2
  20. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_limit_sp_multiple.py +2 -2
  21. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_limit_sp_single.py +2 -2
  22. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_limit_walks_multiple.py +2 -2
  23. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_limit_walks_single.py +2 -2
  24. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_one_sided_ball_repetition_multiple.py +2 -2
  25. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_one_sided_ball_repetition_single.py +2 -2
  26. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_one_sided_ball_upto_multiple.py +2 -2
  27. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_one_sided_ball_upto_single.py +2 -2
  28. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_single_paths.py +2 -2
  29. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_single_walks.py +2 -2
  30. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_single_walks_undirected.py +2 -2
  31. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_two_sided_balls_repetition_multiple.py +2 -2
  32. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_two_sided_balls_repetition_single.py +2 -2
  33. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_two_sided_balls_upto_multiple.py +2 -2
  34. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_two_sided_balls_upto_single.py +2 -2
  35. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_usp_nsp_multiple.py +2 -2
  36. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/tests/tests_usp_nsp_single.py +2 -2
  37. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/__init__.py +4 -0
  38. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/internal/annotations.py +1 -0
  39. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/internal/internal.py +2 -0
  40. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/internal/snowflake.py +2 -3
  41. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/builtins.py +1 -0
  42. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/executor.py +15 -10
  43. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/model2lqp.py +96 -4
  44. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/primitives.py +3 -0
  45. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/rewrite/extract_common.py +26 -6
  46. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/builtins.py +50 -1
  47. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/dependency.py +14 -11
  48. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/rewrite/flatten.py +1 -13
  49. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/typer/typer.py +3 -0
  50. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/reasoners/__init__.py +4 -0
  51. relationalai-0.12.6/src/relationalai/semantics/reasoners/experimental/__init__.py +7 -0
  52. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/reasoners/graph/core.py +1226 -148
  53. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/rel/builtins.py +3 -1
  54. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/rel/executor.py +13 -6
  55. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/rel/rel_utils.py +5 -0
  56. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/sql/compiler.py +6 -0
  57. relationalai-0.12.3/src/relationalai/early_access/paths/__init__.py +0 -22
  58. relationalai-0.12.3/src/relationalai/early_access/paths/api/__init__.py +0 -12
  59. relationalai-0.12.3/src/relationalai/early_access/paths/benchmarks/__init__.py +0 -13
  60. relationalai-0.12.3/src/relationalai/early_access/paths/graph/__init__.py +0 -12
  61. relationalai-0.12.3/src/relationalai/early_access/paths/path_algorithms/find_paths/__init__.py +0 -12
  62. relationalai-0.12.3/src/relationalai/early_access/paths/path_algorithms/one_sided_ball_repetition/__init__.py +0 -12
  63. relationalai-0.12.3/src/relationalai/early_access/paths/path_algorithms/one_sided_ball_upto/__init__.py +0 -12
  64. relationalai-0.12.3/src/relationalai/early_access/paths/path_algorithms/single/__init__.py +0 -12
  65. relationalai-0.12.3/src/relationalai/early_access/paths/path_algorithms/two_sided_balls_repetition/__init__.py +0 -12
  66. relationalai-0.12.3/src/relationalai/early_access/paths/path_algorithms/two_sided_balls_upto/__init__.py +0 -12
  67. relationalai-0.12.3/src/relationalai/early_access/paths/path_algorithms/usp/__init__.py +0 -12
  68. relationalai-0.12.3/src/relationalai/early_access/paths/rpq/__init__.py +0 -13
  69. relationalai-0.12.3/src/relationalai/early_access/paths/utilities/iterators/__init__.py +0 -12
  70. relationalai-0.12.3/src/relationalai/experimental/paths/__init__.py +0 -309
  71. relationalai-0.12.3/src/relationalai/experimental/paths/pathfinder.rel +0 -2560
  72. relationalai-0.12.3/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/__init__.py +0 -3
  73. relationalai-0.12.3/src/relationalai/semantics/reasoners/graph/paths/utilities/__init__.py +0 -3
  74. {relationalai-0.12.3 → relationalai-0.12.6}/.gitignore +0 -0
  75. {relationalai-0.12.3 → relationalai-0.12.6}/LICENSE +0 -0
  76. {relationalai-0.12.3 → relationalai-0.12.6}/docs/pypi/README.md +0 -0
  77. {relationalai-0.12.3 → relationalai-0.12.6}/frontend/debugger/dist/.gitignore +0 -0
  78. {relationalai-0.12.3 → relationalai-0.12.6}/frontend/debugger/dist/assets/favicon-Dy0ZgA6N.png +0 -0
  79. {relationalai-0.12.3 → relationalai-0.12.6}/frontend/debugger/dist/assets/index-Cssla-O7.js +0 -0
  80. {relationalai-0.12.3 → relationalai-0.12.6}/frontend/debugger/dist/assets/index-DlHsYx1V.css +0 -0
  81. {relationalai-0.12.3 → relationalai-0.12.6}/frontend/debugger/dist/index.html +0 -0
  82. {relationalai-0.12.3 → relationalai-0.12.6}/src/__init__.py +0 -0
  83. {relationalai-0.12.3 → relationalai-0.12.6}/src/raitoolkit/__init__.py +0 -0
  84. {relationalai-0.12.3 → relationalai-0.12.6}/src/raitoolkit/events/__init__.py +0 -0
  85. {relationalai-0.12.3 → relationalai-0.12.6}/src/raitoolkit/procedures/__init__.py +0 -0
  86. {relationalai-0.12.3 → relationalai-0.12.6}/src/raitoolkit/procedures/procedure.py +0 -0
  87. {relationalai-0.12.3 → relationalai-0.12.6}/src/raitoolkit/rel/__init__.py +0 -0
  88. {relationalai-0.12.3 → relationalai-0.12.6}/src/raitoolkit/tables/__init__.py +0 -0
  89. {relationalai-0.12.3 → relationalai-0.12.6}/src/raitoolkit/tasks/__init__.py +0 -0
  90. {relationalai-0.12.3 → relationalai-0.12.6}/src/raitoolkit/tasks/task.py +0 -0
  91. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/analysis/__init__.py +0 -0
  92. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/analysis/mechanistic.py +0 -0
  93. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/analysis/whynot.py +0 -0
  94. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/auth/__init__.py +0 -0
  95. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/auth/jwt_generator.py +0 -0
  96. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/auth/oauth_callback_server.py +0 -0
  97. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/auth/token_handler.py +0 -0
  98. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/auth/util.py +0 -0
  99. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/__init__.py +0 -0
  100. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/azure.py +0 -0
  101. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/cache_store.py +0 -0
  102. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/client.py +0 -0
  103. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/config.py +0 -0
  104. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/direct_access_client.py +0 -0
  105. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/export_procedure.py.jinja +0 -0
  106. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/hash_util.py +0 -0
  107. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/profile_polling.py +0 -0
  108. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/result_helpers.py +0 -0
  109. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/types.py +0 -0
  110. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/clients/util.py +0 -0
  111. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/compiler.py +0 -0
  112. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/debugging.py +0 -0
  113. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/dependencies.py +0 -0
  114. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/docutils.py +0 -0
  115. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/dsl.py +0 -0
  116. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/__init__.py +0 -0
  117. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/builder/__init__.py +0 -0
  118. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/builder/builder/__init__.py +0 -0
  119. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/builder/snowflake/__init__.py +0 -0
  120. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/builder/std/__init__.py +0 -0
  121. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/builder/std/decimals/__init__.py +0 -0
  122. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/builder/std/integers/__init__.py +0 -0
  123. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/builder/std/math/__init__.py +0 -0
  124. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/builder/std/strings/__init__.py +0 -0
  125. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/devtools/__init__.py +0 -0
  126. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/devtools/benchmark_lqp/__init__.py +0 -0
  127. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/devtools/extract_lqp/__init__.py +0 -0
  128. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/__init__.py +0 -0
  129. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/adapters/__init__.py +0 -0
  130. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/adapters/orm/__init__.py +0 -0
  131. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/adapters/orm/adapter_qb.py +0 -0
  132. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/adapters/orm/model.py +0 -0
  133. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/adapters/orm/parser.py +0 -0
  134. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/adapters/owl/__init__.py +0 -0
  135. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/adapters/owl/adapter.py +0 -0
  136. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/adapters/owl/model.py +0 -0
  137. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/adapters/owl/parser.py +0 -0
  138. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/bindings/__init__.py +0 -0
  139. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/bindings/common.py +0 -0
  140. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/bindings/csv.py +0 -0
  141. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/bindings/legacy/__init__.py +0 -0
  142. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/bindings/legacy/binding_models.py +0 -0
  143. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/bindings/snowflake.py +0 -0
  144. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/codegen/__init__.py +0 -0
  145. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/codegen/binder.py +0 -0
  146. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/codegen/common.py +0 -0
  147. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/codegen/helpers.py +0 -0
  148. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/codegen/relations.py +0 -0
  149. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/codegen/weaver.py +0 -0
  150. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/constants.py +0 -0
  151. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/__init__.py +0 -0
  152. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/builders/__init__.py +0 -0
  153. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/builders/logic.py +0 -0
  154. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/builders/scalar_constraint.py +0 -0
  155. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/constraints/__init__.py +0 -0
  156. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/constraints/predicate/__init__.py +0 -0
  157. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/constraints/predicate/atomic.py +0 -0
  158. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/constraints/predicate/universal.py +0 -0
  159. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/constraints/scalar.py +0 -0
  160. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/context.py +0 -0
  161. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/cset.py +0 -0
  162. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/exprs/__init__.py +0 -0
  163. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/exprs/relational.py +0 -0
  164. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/exprs/scalar.py +0 -0
  165. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/instances.py +0 -0
  166. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/logic/__init__.py +0 -0
  167. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/logic/aggregation.py +0 -0
  168. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/logic/exists.py +0 -0
  169. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/logic/helper.py +0 -0
  170. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/namespaces.py +0 -0
  171. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/relations.py +0 -0
  172. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/rules.py +0 -0
  173. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/stack.py +0 -0
  174. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/std/__init__.py +0 -0
  175. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/temporal/__init__.py +0 -0
  176. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/temporal/recall.py +0 -0
  177. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/types/__init__.py +0 -0
  178. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/types/concepts.py +0 -0
  179. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/types/constrained/__init__.py +0 -0
  180. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/types/constrained/nominal.py +0 -0
  181. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/types/constrained/subtype.py +0 -0
  182. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/types/standard.py +0 -0
  183. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/types/unconstrained.py +0 -0
  184. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/types/variables.py +0 -0
  185. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/core/utils.py +0 -0
  186. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ir/__init__.py +0 -0
  187. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ir/compiler.py +0 -0
  188. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ir/executor.py +0 -0
  189. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ontologies/__init__.py +0 -0
  190. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ontologies/constraints.py +0 -0
  191. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ontologies/export.py +0 -0
  192. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ontologies/models.py +0 -0
  193. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ontologies/python_printer.py +0 -0
  194. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ontologies/raw_source.py +0 -0
  195. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ontologies/readings.py +0 -0
  196. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ontologies/relationships.py +0 -0
  197. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ontologies/roles.py +0 -0
  198. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/ontologies/subtyping.py +0 -0
  199. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/__init__.py +0 -0
  200. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/constraints.py +0 -0
  201. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/measures/__init__.py +0 -0
  202. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/measures/dimensions.py +0 -0
  203. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/measures/initializer.py +0 -0
  204. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/measures/measure_rules.py +0 -0
  205. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/measures/measures.py +0 -0
  206. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/measures/role_exprs.py +0 -0
  207. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/models.py +0 -0
  208. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/object_oriented_printer.py +0 -0
  209. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/printer.py +0 -0
  210. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/reasoner_errors.py +0 -0
  211. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/reasoners.py +0 -0
  212. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/relations.py +0 -0
  213. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/relationships.py +0 -0
  214. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/types.py +0 -0
  215. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/utils.py +0 -0
  216. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/orm/verb.py +0 -0
  217. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/physical_metadata/__init__.py +0 -0
  218. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/physical_metadata/tables.py +0 -0
  219. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/relations.py +0 -0
  220. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/rulesets.py +0 -0
  221. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/schemas/__init__.py +0 -0
  222. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/schemas/builder.py +0 -0
  223. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/schemas/comp_names.py +0 -0
  224. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/schemas/components.py +0 -0
  225. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/schemas/contexts.py +0 -0
  226. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/schemas/exprs.py +0 -0
  227. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/schemas/fragments.py +0 -0
  228. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/serialization.py +0 -0
  229. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/serialize/__init__.py +0 -0
  230. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/serialize/binding_model.py +0 -0
  231. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/serialize/exporter.py +0 -0
  232. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/serialize/model.py +0 -0
  233. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/snow/__init__.py +0 -0
  234. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/snow/api.py +0 -0
  235. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/snow/common.py +0 -0
  236. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/state_mgmt/__init__.py +0 -0
  237. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/state_mgmt/state_charts.py +0 -0
  238. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/state_mgmt/transitions.py +0 -0
  239. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/types/__init__.py +0 -0
  240. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/types/concepts.py +0 -0
  241. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/types/entities.py +0 -0
  242. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/types/values.py +0 -0
  243. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/dsl/utils.py +0 -0
  244. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/graphs/__init__.py +0 -0
  245. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/lqp/__init__.py +0 -0
  246. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/lqp/compiler/__init__.py +0 -0
  247. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/lqp/constructors/__init__.py +0 -0
  248. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/lqp/executor/__init__.py +0 -0
  249. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/lqp/ir/__init__.py +0 -0
  250. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/lqp/passes/__init__.py +0 -0
  251. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/lqp/pragmas/__init__.py +0 -0
  252. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/lqp/primitives/__init__.py +0 -0
  253. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/lqp/types/__init__.py +0 -0
  254. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/lqp/utils/__init__.py +0 -0
  255. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/lqp/validators/__init__.py +0 -0
  256. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/__init__.py +0 -0
  257. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/builtins/__init__.py +0 -0
  258. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/compiler/__init__.py +0 -0
  259. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/dependency/__init__.py +0 -0
  260. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/factory/__init__.py +0 -0
  261. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/helpers/__init__.py +0 -0
  262. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/ir/__init__.py +0 -0
  263. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/rewrite/__init__.py +0 -0
  264. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/typer/__init__.py +0 -0
  265. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/typer/typer/__init__.py +0 -0
  266. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/types/__init__.py +0 -0
  267. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/util/__init__.py +0 -0
  268. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/metamodel/visitor/__init__.py +0 -0
  269. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/rel/__init__.py +0 -0
  270. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/rel/executor/__init__.py +0 -0
  271. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/rel/rel_utils/__init__.py +0 -0
  272. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/rel/rewrite/__init__.py +0 -0
  273. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/solvers/__init__.py +0 -0
  274. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/sql/__init__.py +0 -0
  275. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/sql/executor/__init__.py +0 -0
  276. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/sql/rewrite/__init__.py +0 -0
  277. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/tests/__init__.py +0 -0
  278. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/tests/logging/__init__.py +0 -0
  279. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/tests/test_snapshot_base/__init__.py +0 -0
  280. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/early_access/tests/utils/__init__.py +0 -0
  281. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/environments/__init__.py +0 -0
  282. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/environments/base.py +0 -0
  283. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/environments/ci.py +0 -0
  284. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/environments/colab.py +0 -0
  285. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/environments/generic.py +0 -0
  286. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/environments/hex.py +0 -0
  287. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/environments/ipython.py +0 -0
  288. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/environments/jupyter.py +0 -0
  289. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/environments/snowbook.py +0 -0
  290. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/environments/terminal.py +0 -0
  291. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/errors.py +0 -0
  292. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/SF.py +0 -0
  293. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/__init__.py +0 -0
  294. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/graphs.py +0 -0
  295. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/inspect.py +0 -0
  296. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/__init__.py +0 -0
  297. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/api.py +0 -0
  298. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/automaton.py +0 -0
  299. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/bridge.py +0 -0
  300. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/compiler.py +0 -0
  301. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/datalog.py +0 -0
  302. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/diagnostics.py +0 -0
  303. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/filter.py +0 -0
  304. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/glushkov.py +0 -0
  305. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/options.py +0 -0
  306. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/pathfinder-v0.7.0.rel +0 -0
  307. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/rpq.py +0 -0
  308. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/transition.py +0 -0
  309. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/pathfinder/utils.py +0 -0
  310. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/api.py +0 -0
  311. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/benchmarks/__init__.py +0 -0
  312. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/benchmarks/grid_graph.py +0 -0
  313. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/code_organization.md +0 -0
  314. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/Movies.ipynb +0 -0
  315. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/minimal_engine_warmup.py +0 -0
  316. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/movie_example.py +0 -0
  317. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/movies_data/actedin.csv +0 -0
  318. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/movies_data/directed.csv +0 -0
  319. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/movies_data/follows.csv +0 -0
  320. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/movies_data/movies.csv +0 -0
  321. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/movies_data/person.csv +0 -0
  322. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/movies_data/produced.csv +0 -0
  323. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/movies_data/ratings.csv +0 -0
  324. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/examples/movies_data/wrote.csv +0 -0
  325. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/find_paths_via_automaton.py +0 -0
  326. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/graph.py +0 -0
  327. {relationalai-0.12.3/src/relationalai/early_access → relationalai-0.12.6/src/relationalai/experimental}/paths/path_algorithms/__init__.py +0 -0
  328. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/path_algorithms/find_paths.py +0 -0
  329. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/path_algorithms/one_sided_ball_upto.py +0 -0
  330. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/product_graph.py +0 -0
  331. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/rpq/__init__.py +0 -0
  332. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/rpq/automaton.py +0 -0
  333. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/rpq/diagnostics.py +0 -0
  334. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/rpq/filter.py +0 -0
  335. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/rpq/glushkov.py +0 -0
  336. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/rpq/rpq.py +0 -0
  337. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/rpq/transition.py +0 -0
  338. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/paths/tree_agg.py +0 -0
  339. {relationalai-0.12.3/src/relationalai/early_access → relationalai-0.12.6/src/relationalai/experimental}/paths/utilities/__init__.py +0 -0
  340. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/utilities/iterators.py +0 -0
  341. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/utilities/prefix_sum.py +0 -0
  342. {relationalai-0.12.3/src/relationalai/semantics/reasoners/graph → relationalai-0.12.6/src/relationalai/experimental}/paths/utilities/utilities.py +0 -0
  343. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/experimental/solvers.py +0 -0
  344. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/loaders/__init__.py +0 -0
  345. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/loaders/csv.py +0 -0
  346. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/loaders/loader.py +0 -0
  347. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/loaders/types.py +0 -0
  348. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/metagen.py +0 -0
  349. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/metamodel.py +0 -0
  350. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/rel.py +0 -0
  351. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/rel_emitter.py +0 -0
  352. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/rel_utils.py +0 -0
  353. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/designs/query_builder/identify_by.md +0 -0
  354. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/devtools/__init__.py +0 -0
  355. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/devtools/benchmark_lqp.py +0 -0
  356. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/devtools/compilation_manager.py +0 -0
  357. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/devtools/extract_lqp.py +0 -0
  358. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/internal/__init__.py +0 -0
  359. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/__init__.py +0 -0
  360. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/compiler.py +0 -0
  361. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/constructors.py +0 -0
  362. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/intrinsics.py +0 -0
  363. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/ir.py +0 -0
  364. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/passes.py +0 -0
  365. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/pragmas.py +0 -0
  366. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/result_helpers.py +0 -0
  367. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/rewrite/__init__.py +0 -0
  368. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/rewrite/cdc.py +0 -0
  369. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/rewrite/extract_keys.py +0 -0
  370. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/rewrite/fd_constraints.py +0 -0
  371. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/rewrite/quantify_vars.py +0 -0
  372. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/rewrite/splinter.py +0 -0
  373. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/types.py +0 -0
  374. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/utils.py +0 -0
  375. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/lqp/validators.py +0 -0
  376. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/__init__.py +0 -0
  377. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/compiler.py +0 -0
  378. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/dataflow.py +0 -0
  379. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/executor.py +0 -0
  380. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/factory.py +0 -0
  381. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/helpers.py +0 -0
  382. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/ir.py +0 -0
  383. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/rewrite/__init__.py +0 -0
  384. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/rewrite/discharge_constraints.py +0 -0
  385. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/rewrite/dnf_union_splitter.py +0 -0
  386. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/rewrite/extract_nested_logicals.py +0 -0
  387. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/typer/__init__.py +0 -0
  388. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/typer/checker.py +0 -0
  389. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/types.py +0 -0
  390. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/util.py +0 -0
  391. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/metamodel/visitor.py +0 -0
  392. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/reasoners/graph/README.md +0 -0
  393. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/reasoners/graph/__init__.py +0 -0
  394. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/reasoners/graph/design/beyond_demand_transform.md +0 -0
  395. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/reasoners/graph/tests/README.md +0 -0
  396. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/reasoners/optimization/__init__.py +0 -0
  397. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/reasoners/optimization/common.py +0 -0
  398. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/reasoners/optimization/solvers_dev.py +0 -0
  399. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/reasoners/optimization/solvers_pb.py +0 -0
  400. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/rel/__init__.py +0 -0
  401. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/rel/compiler.py +0 -0
  402. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/rel/rel.py +0 -0
  403. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/snowflake/__init__.py +0 -0
  404. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/sql/__init__.py +0 -0
  405. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/sql/executor/__init__.py +0 -0
  406. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/sql/executor/duck_db.py +0 -0
  407. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/sql/executor/result_helpers.py +0 -0
  408. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/sql/executor/snowflake.py +2 -2
  409. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/sql/rewrite/__init__.py +0 -0
  410. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/sql/rewrite/denormalize.py +0 -0
  411. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/sql/rewrite/double_negation.py +0 -0
  412. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/sql/rewrite/recursive_union.py +0 -0
  413. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/sql/rewrite/sort_output_query.py +0 -0
  414. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/sql/sql.py +0 -0
  415. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/std/__init__.py +0 -0
  416. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/std/constraints.py +0 -0
  417. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/std/datetime.py +0 -0
  418. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/std/decimals.py +0 -0
  419. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/std/floats.py +0 -0
  420. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/std/integers.py +0 -0
  421. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/std/math.py +0 -0
  422. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/std/pragmas.py +0 -0
  423. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/std/re.py +0 -0
  424. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/std/std.py +0 -0
  425. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/std/strings.py +0 -0
  426. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/tests/__init__.py +0 -0
  427. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/tests/logging.py +0 -0
  428. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/tests/test_snapshot_abstract.py +0 -0
  429. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/tests/test_snapshot_base.py +0 -0
  430. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/semantics/tests/utils.py +0 -0
  431. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/std/__init__.py +0 -0
  432. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/std/aggregates.py +0 -0
  433. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/std/dates.py +0 -0
  434. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/std/graphs.py +0 -0
  435. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/std/inspect.py +0 -0
  436. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/std/math.py +0 -0
  437. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/std/re.py +0 -0
  438. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/std/strings.py +0 -0
  439. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/__init__.py +0 -0
  440. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/cleanup_snapshots.py +0 -0
  441. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/cli.py +0 -0
  442. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/cli_controls.py +0 -0
  443. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/cli_helpers.py +0 -0
  444. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/constants.py +0 -0
  445. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/debugger.py +0 -0
  446. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/debugger_client.py +0 -0
  447. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/debugger_server.py +0 -0
  448. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/dev.py +0 -0
  449. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/notes +0 -0
  450. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/qb_debugger.py +0 -0
  451. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/query_utils.py +0 -0
  452. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/tools/snapshot_viewer.py +0 -0
  453. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/__init__.py +0 -0
  454. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/clean_up_databases.py +0 -0
  455. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/constants.py +0 -0
  456. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/format.py +0 -0
  457. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/graph.py +0 -0
  458. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/list_databases.py +0 -0
  459. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/otel_configuration.py +0 -0
  460. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/otel_handler.py +0 -0
  461. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/snowflake_handler.py +0 -0
  462. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/span_format_test.py +0 -0
  463. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/span_tracker.py +0 -0
  464. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/spans_file_handler.py +0 -0
  465. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/timeout.py +0 -0
  466. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai/util/tracing_handler.py +0 -0
  467. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai_test_util/__init__.py +0 -0
  468. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai_test_util/fixtures.py +0 -0
  469. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai_test_util/snapshot.py +0 -0
  470. {relationalai-0.12.3 → relationalai-0.12.6}/src/relationalai_test_util/traceback.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: relationalai
3
- Version: 0.12.3
3
+ Version: 0.12.6
4
4
  Summary: RelationalAI Library and CLI
5
5
  Author-email: RelationalAI <support@relational.ai>
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = 'relationalai'
3
- version = '0.12.3'
3
+ version = '0.12.6'
4
4
  description = 'RelationalAI Library and CLI'
5
5
  readme="docs/pypi/README.md"
6
6
  authors = [
@@ -94,7 +94,6 @@ allow-direct-references = true
94
94
  only-include = ["src"]
95
95
  [tool.hatch.build.targets.sdist.force-include]
96
96
  "frontend/debugger/dist" = "frontend/debugger/dist"
97
- "src/relationalai/experimental/paths/pathfinder.rel" = "src/relationalai/experimental/paths/pathfinder.rel"
98
97
 
99
98
  [tool.hatch.build.targets.wheel]
100
99
  packages = ["src/relationalai", "src/relationalai_test_util"]
@@ -1,3 +1,7 @@
1
+ """
2
+ The RelationalAI Python SDK.
3
+ """
4
+
1
5
  from __future__ import annotations
2
6
  import importlib.metadata
3
7
 
@@ -83,6 +83,7 @@ FIELD_MAP = {
83
83
  VALID_IMPORT_STATES = ["PENDING", "PROCESSING", "QUARANTINED", "LOADED"]
84
84
  ENGINE_ERRORS = ["engine is suspended", "create/resume", "engine not found", "no engines found", "engine was deleted"]
85
85
  ENGINE_NOT_READY_MSGS = ["engine is in pending", "engine is provisioning"]
86
+ DATABASE_ERRORS = ["database not found"]
86
87
  PYREL_ROOT_DB = 'pyrel_root_db'
87
88
 
88
89
  TERMINAL_TXN_STATES = ["COMPLETED", "ABORTED"]
@@ -281,6 +282,8 @@ def _sanitize_user_name(user: str) -> str:
281
282
  def _is_engine_issue(response_message: str) -> bool:
282
283
  return any(kw in response_message.lower() for kw in ENGINE_ERRORS + ENGINE_NOT_READY_MSGS)
283
284
 
285
+ def _is_database_issue(response_message: str) -> bool:
286
+ return any(kw in response_message.lower() for kw in DATABASE_ERRORS)
284
287
 
285
288
 
286
289
  #--------------------------------------------------
@@ -298,6 +301,7 @@ class Resources(ResourcesBase):
298
301
  dry_run: bool = False,
299
302
  reset_session: bool = False,
300
303
  generation: Generation | None = None,
304
+ language: str = "rel",
301
305
  ):
302
306
  super().__init__(profile, config=config)
303
307
  self._token_handler: TokenHandler | None = None
@@ -315,6 +319,8 @@ class Resources(ResourcesBase):
315
319
  # self.sources contains fully qualified Snowflake table/view names
316
320
  self.sources: set[str] = set()
317
321
  self._sproc_models = None
322
+ self.database = ""
323
+ self.language = language
318
324
  atexit.register(self.cancel_pending_transactions)
319
325
 
320
326
  @property
@@ -452,6 +458,7 @@ class Resources(ResourcesBase):
452
458
  rai_app = self.config.get("rai_app_name", "")
453
459
  current_role = self.config.get("role")
454
460
  engine = self.get_default_engine_name()
461
+ engine_size = self.config.get_default_engine_size()
455
462
  assert isinstance(rai_app, str), f"rai_app_name must be a string, not {type(rai_app)}"
456
463
  assert isinstance(engine, str), f"engine must be a string, not {type(engine)}"
457
464
  print("\n")
@@ -460,9 +467,15 @@ class Resources(ResourcesBase):
460
467
  if re.search(f"database '{rai_app}' does not exist or not authorized.".lower(), orig_message):
461
468
  exception = SnowflakeAppMissingException(rai_app, current_role)
462
469
  raise exception from None
463
- if any(keyword in orig_message for keyword in ENGINE_ERRORS):
470
+ if _is_engine_issue(orig_message) or _is_database_issue(orig_message):
464
471
  try:
465
- self.auto_create_engine(engine)
472
+ self._poll_use_index(
473
+ app_name=self.get_app_name(),
474
+ sources=self.sources,
475
+ model=self.database,
476
+ engine_name=engine,
477
+ engine_size=engine_size
478
+ )
466
479
  return self._exec(code, params, raw=raw, help=help)
467
480
  except EngineNameValidationException as e:
468
481
  raise EngineNameValidationException(engine) from e
@@ -767,7 +780,7 @@ Otherwise, remove it from your '{profile}' configuration profile.
767
780
  keep_database = not force and self.config.get("reuse_model", True)
768
781
  with debugging.span("release_index", name=name, keep_database=keep_database, language=language):
769
782
  #TODO add headers to release_index
770
- response = self._exec(f"call {APP_NAME}.api.release_index('{name}', OBJECT_CONSTRUCT('keep_database', {keep_database}, 'language', '{language}'));")
783
+ response = self._exec(f"call {APP_NAME}.api.release_index('{name}', OBJECT_CONSTRUCT('keep_database', {keep_database}, 'language', '{language}', 'user_agent', '{get_pyrel_version(self.generation)}'));")
771
784
  if response:
772
785
  result = next(iter(response))
773
786
  obj = json.loads(result["RELEASE_INDEX"])
@@ -788,14 +801,13 @@ Otherwise, remove it from your '{profile}' configuration profile.
788
801
  headers = debugging.gen_current_propagation_headers()
789
802
  self._exec(f"call {APP_NAME}.api.clone_database('{target_name}', '{source_name}', {nowait_durable}, {headers});")
790
803
 
791
- def poll_use_index(
804
+ def _poll_use_index(
792
805
  self,
793
806
  app_name: str,
794
807
  sources: Iterable[str],
795
808
  model: str,
796
809
  engine_name: str,
797
810
  engine_size: str | None = None,
798
- language: str = "rel",
799
811
  program_span_id: str | None = None,
800
812
  headers: Dict | None = None,
801
813
  ):
@@ -806,12 +818,42 @@ Otherwise, remove it from your '{profile}' configuration profile.
806
818
  model,
807
819
  engine_name,
808
820
  engine_size,
809
- language,
821
+ self.language,
810
822
  program_span_id,
811
823
  headers,
812
824
  self.generation
813
825
  ).poll()
814
826
 
827
+ def maybe_poll_use_index(
828
+ self,
829
+ app_name: str,
830
+ sources: Iterable[str],
831
+ model: str,
832
+ engine_name: str,
833
+ engine_size: str | None = None,
834
+ program_span_id: str | None = None,
835
+ headers: Dict | None = None,
836
+ ):
837
+ """Only call poll() if there are sources to process and cache is not valid."""
838
+ sources_list = list(sources)
839
+ self.database = model
840
+ if sources_list:
841
+ poller = UseIndexPoller(
842
+ self,
843
+ app_name,
844
+ sources_list,
845
+ model,
846
+ engine_name,
847
+ engine_size,
848
+ self.language,
849
+ program_span_id,
850
+ headers,
851
+ self.generation
852
+ )
853
+ # If cache is valid (data freshness has not expired), skip polling
854
+ if not poller.cache.is_valid():
855
+ return poller.poll()
856
+
815
857
  #--------------------------------------------------
816
858
  # Models
817
859
  #--------------------------------------------------
@@ -1868,9 +1910,19 @@ Otherwise, remove it from your '{profile}' configuration profile.
1868
1910
  )
1869
1911
  except Exception as e:
1870
1912
  err_message = str(e).lower()
1871
- if _is_engine_issue(err_message):
1872
- self.auto_create_engine(engine, headers=headers)
1873
- self._exec_async_v2(
1913
+ if _is_engine_issue(err_message) or _is_database_issue(err_message):
1914
+ engine_name = engine or self.get_default_engine_name()
1915
+ engine_size = self.config.get_default_engine_size()
1916
+ self._poll_use_index(
1917
+ app_name=self.get_app_name(),
1918
+ sources=self.sources,
1919
+ model=database,
1920
+ engine_name=engine_name,
1921
+ engine_size=engine_size,
1922
+ headers=headers,
1923
+ )
1924
+
1925
+ return self._exec_async_v2(
1874
1926
  database, engine, raw_code_b64, inputs, readonly, nowait_durable,
1875
1927
  headers=headers, bypass_index=bypass_index, language='lqp',
1876
1928
  query_timeout_mins=query_timeout_mins,
@@ -1908,8 +1960,17 @@ Otherwise, remove it from your '{profile}' configuration profile.
1908
1960
  )
1909
1961
  except Exception as e:
1910
1962
  err_message = str(e).lower()
1911
- if _is_engine_issue(err_message):
1912
- self.auto_create_engine(engine, headers=headers)
1963
+ if _is_engine_issue(err_message) or _is_database_issue(err_message):
1964
+ engine_name = engine or self.get_default_engine_name()
1965
+ engine_size = self.config.get_default_engine_size()
1966
+ self._poll_use_index(
1967
+ app_name=self.get_app_name(),
1968
+ sources=self.sources,
1969
+ model=database,
1970
+ engine_name=engine_name,
1971
+ engine_size=engine_size,
1972
+ headers=headers,
1973
+ )
1913
1974
  return self._exec_async_v2(
1914
1975
  database,
1915
1976
  engine,
@@ -2972,13 +3033,12 @@ class SnowflakeClient(Client):
2972
3033
 
2973
3034
  query_attrs_dict = json.loads(headers.get("X-Query-Attributes", "{}")) if headers else {}
2974
3035
  with debugging.span("poll_use_index", sources=self.resources.sources, model=model, engine=engine_name, **query_attrs_dict):
2975
- self.poll_use_index(
3036
+ self.maybe_poll_use_index(
2976
3037
  app_name=app_name,
2977
3038
  sources=self.resources.sources,
2978
3039
  model=model,
2979
3040
  engine_name=engine_name,
2980
3041
  engine_size=engine_size,
2981
- language="rel",
2982
3042
  program_span_id=program_span_id,
2983
3043
  headers=headers
2984
3044
  )
@@ -2989,29 +3049,24 @@ class SnowflakeClient(Client):
2989
3049
  if isolated and not self.keep_model:
2990
3050
  atexit.register(self.delete_database)
2991
3051
 
2992
- # Polling for use_index
2993
- # if data is ready, break the loop
2994
- # if data is not ready, print the status of the tables or engines
2995
- # if data is not ready and there are errors, collect the errors and raise exceptions
2996
- def poll_use_index(
3052
+ def maybe_poll_use_index(
2997
3053
  self,
2998
3054
  app_name: str,
2999
3055
  sources: Iterable[str],
3000
3056
  model: str,
3001
3057
  engine_name: str,
3002
3058
  engine_size: str | None = None,
3003
- language: str = "rel",
3004
3059
  program_span_id: str | None = None,
3005
3060
  headers: Dict | None = None,
3006
3061
  ):
3062
+ """Only call _poll_use_index if there are sources to process."""
3007
3063
  assert isinstance(self.resources, Resources)
3008
- return self.resources.poll_use_index(
3064
+ return self.resources.maybe_poll_use_index(
3009
3065
  app_name=app_name,
3010
3066
  sources=sources,
3011
3067
  model=model,
3012
3068
  engine_name=engine_name,
3013
3069
  engine_size=engine_size,
3014
- language=language,
3015
3070
  program_span_id=program_span_id,
3016
3071
  headers=headers
3017
3072
  )
@@ -3136,6 +3191,7 @@ class DirectAccessResources(Resources):
3136
3191
  dry_run: bool = False,
3137
3192
  reset_session: bool = False,
3138
3193
  generation: Optional[Generation] = None,
3194
+ language: str = "rel",
3139
3195
  ):
3140
3196
  super().__init__(
3141
3197
  generation=generation,
@@ -3144,11 +3200,13 @@ class DirectAccessResources(Resources):
3144
3200
  connection=connection,
3145
3201
  reset_session=reset_session,
3146
3202
  dry_run=dry_run,
3203
+ language=language,
3147
3204
  )
3148
3205
  self._endpoint_info = ConfigStore(ENDPOINT_FILE)
3149
3206
  self._service_endpoint = ""
3150
3207
  self._direct_access_client = None
3151
3208
  self.generation = generation
3209
+ self.database = ""
3152
3210
 
3153
3211
  @property
3154
3212
  def service_endpoint(self) -> str:
@@ -3226,9 +3284,18 @@ class DirectAccessResources(Resources):
3226
3284
 
3227
3285
  # fix engine on engine error and retry
3228
3286
  # Skip auto-retry if skip_auto_create is True to avoid recursion
3229
- if _is_engine_issue(message) and not skip_auto_create:
3230
- engine = payload.get("engine_name", "") if payload else ""
3231
- self.auto_create_engine(engine)
3287
+ if (_is_engine_issue(message) and not skip_auto_create) or _is_database_issue(message):
3288
+ engine_name = payload.get("caller_engine_name", "") if payload else ""
3289
+ engine_name = engine_name or self.get_default_engine_name()
3290
+ engine_size = self.config.get_default_engine_size()
3291
+ self._poll_use_index(
3292
+ app_name=self.get_app_name(),
3293
+ sources=self.sources,
3294
+ model=self.database,
3295
+ engine_name=engine_name,
3296
+ engine_size=engine_size,
3297
+ headers=headers,
3298
+ )
3232
3299
  response = _send_request()
3233
3300
  except requests.exceptions.ConnectionError as e:
3234
3301
  if "NameResolutionError" in str(e):
@@ -3356,14 +3423,13 @@ class DirectAccessResources(Resources):
3356
3423
 
3357
3424
  return response.json()
3358
3425
 
3359
- def poll_use_index(
3426
+ def _poll_use_index(
3360
3427
  self,
3361
3428
  app_name: str,
3362
3429
  sources: Iterable[str],
3363
3430
  model: str,
3364
3431
  engine_name: str,
3365
3432
  engine_size: str | None = None,
3366
- language: str = "rel",
3367
3433
  program_span_id: str | None = None,
3368
3434
  headers: Dict | None = None,
3369
3435
  ):
@@ -3374,12 +3440,42 @@ class DirectAccessResources(Resources):
3374
3440
  model=model,
3375
3441
  engine_name=engine_name,
3376
3442
  engine_size=engine_size,
3377
- language=language,
3443
+ language=self.language,
3378
3444
  program_span_id=program_span_id,
3379
3445
  headers=headers,
3380
3446
  generation=self.generation,
3381
3447
  ).poll()
3382
3448
 
3449
+ def maybe_poll_use_index(
3450
+ self,
3451
+ app_name: str,
3452
+ sources: Iterable[str],
3453
+ model: str,
3454
+ engine_name: str,
3455
+ engine_size: str | None = None,
3456
+ program_span_id: str | None = None,
3457
+ headers: Dict | None = None,
3458
+ ):
3459
+ """Only call poll() if there are sources to process and cache is not valid."""
3460
+ sources_list = list(sources)
3461
+ self.database = model
3462
+ if sources_list:
3463
+ poller = DirectUseIndexPoller(
3464
+ self,
3465
+ app_name=app_name,
3466
+ sources=sources_list,
3467
+ model=model,
3468
+ engine_name=engine_name,
3469
+ engine_size=engine_size,
3470
+ language=self.language,
3471
+ program_span_id=program_span_id,
3472
+ headers=headers,
3473
+ generation=self.generation,
3474
+ )
3475
+ # If cache is valid (data freshness has not expired), skip polling
3476
+ if not poller.cache.is_valid():
3477
+ return poller.poll()
3478
+
3383
3479
  def _check_exec_async_status(self, txn_id: str, headers: Dict[str, str] | None = None) -> bool:
3384
3480
  """Check whether the given transaction has completed."""
3385
3481
 
@@ -3522,7 +3618,12 @@ class DirectAccessResources(Resources):
3522
3618
  with debugging.span("release_index", name=name, keep_database=keep_database, language=language):
3523
3619
  response = self.request(
3524
3620
  "release_index",
3525
- payload={"model_name": name, "keep_database": keep_database, "language": language},
3621
+ payload={
3622
+ "model_name": name,
3623
+ "keep_database": keep_database,
3624
+ "language": language,
3625
+ "user_agent": get_pyrel_version(self.generation),
3626
+ },
3526
3627
  headers=prop_hdrs,
3527
3628
  )
3528
3629
  if (
@@ -527,6 +527,9 @@ class UseIndexPoller:
527
527
  else:
528
528
  self.should_check_cdc = False
529
529
 
530
+ if engines and self.init_engine_async:
531
+ self.init_engine_async = False
532
+
530
533
  break_loop = False
531
534
  has_stream_errors = False
532
535
  has_general_errors = False
@@ -12,8 +12,8 @@ The following is a minimal working example:
12
12
  from relationalai.semantics import Model, Integer, select, String, where, define
13
13
  from relationalai.semantics.std import strings
14
14
 
15
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
16
- from relationalai.semantics.reasoners.graph.paths.api import node, edge, path, star, match
15
+ from relationalai.experimental.paths.graph import Graph
16
+ from relationalai.experimental.paths.api import node, edge, path, star, match
17
17
 
18
18
  model = Model("my_paths")
19
19
 
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, select, String, define
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.api import path, star, match
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.api import path, star, match
4
4
 
5
5
  # Create an automaton that matches paths with pattern: A(A*)B:
6
6
  pattern = path("A", star("A"), "B")
@@ -4,8 +4,8 @@ Example usage of automaton-based pathfinding.
4
4
 
5
5
  import time
6
6
  from relationalai.semantics import Model, Integer, select, String, define
7
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
8
- from relationalai.semantics.reasoners.graph.paths.api import node, path, match
7
+ from relationalai.experimental.paths.graph import Graph
8
+ from relationalai.experimental.paths.api import node, path, match
9
9
 
10
10
  import argparse
11
11
 
@@ -4,8 +4,8 @@ Example usage of automaton-based pathfinding.
4
4
 
5
5
  import time
6
6
  from relationalai.semantics import Model, Integer, select, String, define
7
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
8
- from relationalai.semantics.reasoners.graph.paths.api import node, path, match
7
+ from relationalai.experimental.paths.graph import Graph
8
+ from relationalai.experimental.paths.api import node, path, match
9
9
 
10
10
  import argparse
11
11
 
@@ -1,4 +1,4 @@
1
- from relationalai.semantics.reasoners.graph.paths.api import path, union
1
+ from relationalai.experimental.paths.api import path, union
2
2
  from relationalai.semantics import Concept
3
3
 
4
4
  Node = Concept('Node')
@@ -1,6 +1,6 @@
1
1
  # For builder components.
2
2
  from relationalai.semantics import Integer, define
3
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
+ from relationalai.experimental.paths.graph import Graph
4
4
 
5
5
 
6
6
  def ball_with_repetition(g:Graph, Source, max_length):
@@ -1,8 +1,8 @@
1
1
  # For builder components.
2
2
  from relationalai.semantics import Integer, where, define, select, min
3
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
4
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.one_sided_ball_repetition import ball_with_repetition
5
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.one_sided_ball_upto import ball_upto
3
+ from relationalai.experimental.paths.graph import Graph
4
+ from relationalai.experimental.paths.path_algorithms.one_sided_ball_repetition import ball_with_repetition
5
+ from relationalai.experimental.paths.path_algorithms.one_sided_ball_upto import ball_upto
6
6
 
7
7
  # find a (deterministic) path from src to dst inside the given ball
8
8
  # where dst is at distance radius from src
@@ -1,6 +1,6 @@
1
1
  # For builder components.
2
2
  from relationalai.semantics import Integer, define
3
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
+ from relationalai.experimental.paths.graph import Graph
4
4
 
5
5
 
6
6
  def two_balls_repetition(g:Graph, Source, Target, max_length):
@@ -1,7 +1,7 @@
1
1
  # For builder components.
2
2
  from relationalai.semantics import Integer, define, not_, count
3
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
4
- from relationalai.semantics.reasoners.graph.paths.utilities.iterators import setup_iteration
3
+ from relationalai.experimental.paths.graph import Graph
4
+ from relationalai.experimental.paths.utilities.iterators import setup_iteration
5
5
 
6
6
 
7
7
  def two_balls_upto(g:Graph, Source, Target, max_length=None):
@@ -1,8 +1,8 @@
1
1
  # For builder components.
2
2
  from relationalai.semantics import Integer, define, max, sum, not_
3
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
4
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.one_sided_ball_upto import ball_upto
5
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.one_sided_ball_repetition import ball_with_repetition
3
+ from relationalai.experimental.paths.graph import Graph
4
+ from relationalai.experimental.paths.path_algorithms.one_sided_ball_upto import ball_upto
5
+ from relationalai.experimental.paths.path_algorithms.one_sided_ball_repetition import ball_with_repetition
6
6
 
7
7
 
8
8
  def compute_usp(g: Graph, Source, Target, max_length = None):
@@ -1,8 +1,8 @@
1
1
  # For builder components.
2
2
  from relationalai.semantics import Model, Integer, define, max, sum, select, not_
3
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
4
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.one_sided_ball_upto import ball_upto
5
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.one_sided_ball_repetition import ball_with_repetition
3
+ from relationalai.experimental.paths.graph import Graph
4
+ from relationalai.experimental.paths.path_algorithms.one_sided_ball_upto import ball_upto
5
+ from relationalai.experimental.paths.path_algorithms.one_sided_ball_repetition import ball_with_repetition
6
6
 
7
7
 
8
8
  def compute_usp(g: Graph, Source, Target, max_length = None):
@@ -1,8 +1,8 @@
1
1
  # For builder components.
2
2
  from relationalai.semantics import Integer, define, sum, not_
3
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
4
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.one_sided_ball_upto import ball_upto
5
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.one_sided_ball_repetition import ball_with_repetition
3
+ from relationalai.experimental.paths.graph import Graph
4
+ from relationalai.experimental.paths.path_algorithms.one_sided_ball_upto import ball_upto
5
+ from relationalai.experimental.paths.path_algorithms.one_sided_ball_repetition import ball_with_repetition
6
6
 
7
7
 
8
8
  def compute_usp(g: Graph, Source, Target, max_length=None):
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, define, select, count
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.find_paths import find_shortest_paths
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.path_algorithms.find_paths import find_shortest_paths
4
4
 
5
5
 
6
6
  # First test with grid graph
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, define, select, count
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.find_paths import find_shortest_paths
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.path_algorithms.find_paths import find_shortest_paths
4
4
 
5
5
 
6
6
  # First test with grid graph
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, define, select, count
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.find_paths import find_shortest_paths
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.path_algorithms.find_paths import find_shortest_paths
4
4
 
5
5
 
6
6
  # First test with grid graph
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, define, select, count
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.find_paths import find_walks
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.path_algorithms.find_paths import find_walks
4
4
 
5
5
 
6
6
  # First test with grid graph
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, define, select, count
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.find_paths import find_walks
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.path_algorithms.find_paths import find_walks
4
4
 
5
5
 
6
6
  # First test with grid graph
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, define, select
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.one_sided_ball_repetition import ball_with_repetition
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.path_algorithms.one_sided_ball_repetition import ball_with_repetition
4
4
 
5
5
 
6
6
  # Test with grid graph
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, define, select
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.one_sided_ball_repetition import ball_with_repetition
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.path_algorithms.one_sided_ball_repetition import ball_with_repetition
4
4
 
5
5
 
6
6
  # Test with grid graph
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, define, select
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.one_sided_ball_upto import ball_upto
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.path_algorithms.one_sided_ball_upto import ball_upto
4
4
 
5
5
 
6
6
  # First test with grid graph and multiple source and target nodes
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, define, select
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.one_sided_ball_upto import ball_upto
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.path_algorithms.one_sided_ball_upto import ball_upto
4
4
 
5
5
 
6
6
  # First test with grid graph
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, define, select
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.single import single_shortest_path
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.path_algorithms.single import single_shortest_path
4
4
 
5
5
 
6
6
  model = Model("test_single_paths", dry_run=False)
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, define, select
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.single import single_walk
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.path_algorithms.single import single_walk
4
4
 
5
5
 
6
6
  model = Model("test_single_paths", dry_run=False)
@@ -1,6 +1,6 @@
1
1
  from relationalai.semantics import Model, Integer, define, select
2
- from relationalai.semantics.reasoners.graph.paths.graph import Graph
3
- from relationalai.semantics.reasoners.graph.paths.path_algorithms.single import single_walk
2
+ from relationalai.experimental.paths.graph import Graph
3
+ from relationalai.experimental.paths.path_algorithms.single import single_walk
4
4
 
5
5
 
6
6
  model = Model("test_single_paths", dry_run=False)