relationalai 0.13.1__tar.gz → 0.13.2__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.13.1 → relationalai-0.13.2}/PKG-INFO +1 -1
  2. {relationalai-0.13.1 → relationalai-0.13.2}/pyproject.toml +2 -2
  3. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/client.py +49 -14
  4. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/local.py +23 -8
  5. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/azure/azure.py +36 -11
  6. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/__init__.py +3 -3
  7. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/cli_resources.py +12 -1
  8. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/direct_access_resources.py +57 -17
  9. relationalai-0.13.2/src/relationalai/clients/resources/snowflake/engine_service.py +381 -0
  10. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/engine_state_handlers.py +35 -29
  11. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/error_handlers.py +43 -2
  12. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/snowflake.py +116 -121
  13. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/types.py +5 -0
  14. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/errors.py +1 -1
  15. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/typer/typer.py +6 -2
  16. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/cli.py +339 -186
  17. relationalai-0.13.2/src/relationalai/tools/cli_helpers.py +802 -0
  18. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai_test_util/fixtures.py +2 -2
  19. relationalai-0.13.1/src/relationalai/tools/cli_helpers.py +0 -398
  20. {relationalai-0.13.1 → relationalai-0.13.2}/.gitignore +0 -0
  21. {relationalai-0.13.1 → relationalai-0.13.2}/LICENSE +0 -0
  22. {relationalai-0.13.1 → relationalai-0.13.2}/docs/pypi/README.md +0 -0
  23. {relationalai-0.13.1 → relationalai-0.13.2}/frontend/debugger/dist/.gitignore +0 -0
  24. {relationalai-0.13.1 → relationalai-0.13.2}/frontend/debugger/dist/assets/favicon-Dy0ZgA6N.png +0 -0
  25. {relationalai-0.13.1 → relationalai-0.13.2}/frontend/debugger/dist/assets/index-Cssla-O7.js +0 -0
  26. {relationalai-0.13.1 → relationalai-0.13.2}/frontend/debugger/dist/assets/index-DlHsYx1V.css +0 -0
  27. {relationalai-0.13.1 → relationalai-0.13.2}/frontend/debugger/dist/index.html +0 -0
  28. {relationalai-0.13.1 → relationalai-0.13.2}/src/__init__.py +0 -0
  29. {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/__init__.py +0 -0
  30. {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/events/__init__.py +0 -0
  31. {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/procedures/__init__.py +0 -0
  32. {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/procedures/procedure.py +0 -0
  33. {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/rel/__init__.py +0 -0
  34. {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/tables/__init__.py +0 -0
  35. {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/tasks/__init__.py +0 -0
  36. {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/tasks/task.py +0 -0
  37. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/__init__.py +0 -0
  38. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/analysis/__init__.py +0 -0
  39. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/analysis/mechanistic.py +0 -0
  40. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/analysis/whynot.py +0 -0
  41. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/auth/__init__.py +0 -0
  42. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/auth/jwt_generator.py +0 -0
  43. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/auth/oauth_callback_server.py +0 -0
  44. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/auth/token_handler.py +0 -0
  45. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/auth/util.py +0 -0
  46. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/__init__.py +0 -0
  47. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/config.py +0 -0
  48. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/direct_access_client.py +0 -0
  49. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/exec_txn_poller.py +0 -0
  50. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/hash_util.py +0 -0
  51. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/profile_polling.py +0 -0
  52. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/__init__.py +0 -0
  53. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/cache_store.py +0 -0
  54. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/export_procedure.py.jinja +0 -0
  55. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/resources_factory.py +0 -0
  56. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/use_index_poller.py +0 -0
  57. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/use_index_resources.py +0 -0
  58. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/util.py +0 -0
  59. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/result_helpers.py +0 -0
  60. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/util.py +0 -0
  61. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/compiler.py +0 -0
  62. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/debugging.py +0 -0
  63. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/dependencies.py +0 -0
  64. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/docutils.py +0 -0
  65. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/dsl.py +0 -0
  66. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/__init__.py +0 -0
  67. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/__init__.py +0 -0
  68. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/builder/__init__.py +0 -0
  69. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/snowflake/__init__.py +0 -0
  70. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/std/__init__.py +0 -0
  71. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/std/decimals/__init__.py +0 -0
  72. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/std/integers/__init__.py +0 -0
  73. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/std/math/__init__.py +0 -0
  74. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/std/strings/__init__.py +0 -0
  75. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/devtools/__init__.py +0 -0
  76. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/devtools/benchmark_lqp/__init__.py +0 -0
  77. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/devtools/extract_lqp/__init__.py +0 -0
  78. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/__init__.py +0 -0
  79. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/__init__.py +0 -0
  80. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/orm/__init__.py +0 -0
  81. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/orm/adapter_qb.py +0 -0
  82. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/orm/model.py +0 -0
  83. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/orm/parser.py +0 -0
  84. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/owl/__init__.py +0 -0
  85. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/owl/adapter.py +0 -0
  86. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/owl/model.py +0 -0
  87. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/owl/parser.py +0 -0
  88. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/bindings/__init__.py +0 -0
  89. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/bindings/common.py +0 -0
  90. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/bindings/csv.py +0 -0
  91. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/bindings/legacy/__init__.py +0 -0
  92. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/bindings/legacy/binding_models.py +0 -0
  93. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/bindings/snowflake.py +0 -0
  94. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/codegen/__init__.py +0 -0
  95. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/codegen/binder.py +0 -0
  96. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/codegen/common.py +0 -0
  97. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/codegen/helpers.py +0 -0
  98. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/codegen/relations.py +0 -0
  99. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/codegen/weaver.py +0 -0
  100. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/constants.py +0 -0
  101. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/__init__.py +0 -0
  102. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/builders/__init__.py +0 -0
  103. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/builders/logic.py +0 -0
  104. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/builders/scalar_constraint.py +0 -0
  105. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/constraints/__init__.py +0 -0
  106. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/constraints/predicate/__init__.py +0 -0
  107. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/constraints/predicate/atomic.py +0 -0
  108. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/constraints/predicate/universal.py +0 -0
  109. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/constraints/scalar.py +0 -0
  110. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/context.py +0 -0
  111. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/cset.py +0 -0
  112. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/exprs/__init__.py +0 -0
  113. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/exprs/relational.py +0 -0
  114. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/exprs/scalar.py +0 -0
  115. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/instances.py +0 -0
  116. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/logic/__init__.py +0 -0
  117. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/logic/aggregation.py +0 -0
  118. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/logic/exists.py +0 -0
  119. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/logic/helper.py +0 -0
  120. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/namespaces.py +0 -0
  121. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/relations.py +0 -0
  122. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/rules.py +0 -0
  123. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/stack.py +0 -0
  124. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/std/__init__.py +0 -0
  125. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/temporal/__init__.py +0 -0
  126. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/temporal/recall.py +0 -0
  127. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/__init__.py +0 -0
  128. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/concepts.py +0 -0
  129. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/constrained/__init__.py +0 -0
  130. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/constrained/nominal.py +0 -0
  131. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/constrained/subtype.py +0 -0
  132. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/standard.py +0 -0
  133. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/unconstrained.py +0 -0
  134. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/variables.py +0 -0
  135. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/utils.py +0 -0
  136. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ir/__init__.py +0 -0
  137. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ir/compiler.py +0 -0
  138. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ir/executor.py +0 -0
  139. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/__init__.py +0 -0
  140. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/constraints.py +0 -0
  141. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/export.py +0 -0
  142. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/models.py +0 -0
  143. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/python_printer.py +0 -0
  144. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/raw_source.py +0 -0
  145. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/readings.py +0 -0
  146. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/relationships.py +0 -0
  147. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/roles.py +0 -0
  148. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/subtyping.py +0 -0
  149. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/__init__.py +0 -0
  150. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/constraints.py +0 -0
  151. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/measures/__init__.py +0 -0
  152. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/measures/dimensions.py +0 -0
  153. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/measures/initializer.py +0 -0
  154. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/measures/measure_rules.py +0 -0
  155. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/measures/measures.py +0 -0
  156. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/measures/role_exprs.py +0 -0
  157. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/models.py +0 -0
  158. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/object_oriented_printer.py +0 -0
  159. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/printer.py +0 -0
  160. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/reasoner_errors.py +0 -0
  161. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/reasoners.py +0 -0
  162. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/relations.py +0 -0
  163. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/relationships.py +0 -0
  164. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/types.py +0 -0
  165. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/utils.py +0 -0
  166. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/verb.py +0 -0
  167. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/physical_metadata/__init__.py +0 -0
  168. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/physical_metadata/tables.py +0 -0
  169. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/relations.py +0 -0
  170. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/rulesets.py +0 -0
  171. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/__init__.py +0 -0
  172. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/builder.py +0 -0
  173. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/comp_names.py +0 -0
  174. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/components.py +0 -0
  175. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/contexts.py +0 -0
  176. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/exprs.py +0 -0
  177. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/fragments.py +0 -0
  178. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/serialization.py +0 -0
  179. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/serialize/__init__.py +0 -0
  180. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/serialize/binding_model.py +0 -0
  181. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/serialize/exporter.py +0 -0
  182. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/serialize/model.py +0 -0
  183. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/snow/__init__.py +0 -0
  184. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/snow/api.py +0 -0
  185. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/snow/common.py +0 -0
  186. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/state_mgmt/__init__.py +0 -0
  187. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/state_mgmt/state_charts.py +0 -0
  188. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/state_mgmt/transitions.py +0 -0
  189. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/types/__init__.py +0 -0
  190. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/types/concepts.py +0 -0
  191. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/types/entities.py +0 -0
  192. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/types/values.py +0 -0
  193. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/utils.py +0 -0
  194. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/graphs/__init__.py +0 -0
  195. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/__init__.py +0 -0
  196. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/compiler/__init__.py +0 -0
  197. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/constructors/__init__.py +0 -0
  198. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/executor/__init__.py +0 -0
  199. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/ir/__init__.py +0 -0
  200. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/passes/__init__.py +0 -0
  201. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/pragmas/__init__.py +0 -0
  202. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/primitives/__init__.py +0 -0
  203. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/types/__init__.py +0 -0
  204. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/utils/__init__.py +0 -0
  205. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/validators/__init__.py +0 -0
  206. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/__init__.py +0 -0
  207. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/builtins/__init__.py +0 -0
  208. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/compiler/__init__.py +0 -0
  209. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/dependency/__init__.py +0 -0
  210. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/factory/__init__.py +0 -0
  211. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/helpers/__init__.py +0 -0
  212. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/ir/__init__.py +0 -0
  213. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/rewrite/__init__.py +0 -0
  214. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/typer/__init__.py +0 -0
  215. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/typer/typer/__init__.py +0 -0
  216. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/types/__init__.py +0 -0
  217. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/util/__init__.py +0 -0
  218. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/visitor/__init__.py +0 -0
  219. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/rel/__init__.py +0 -0
  220. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/rel/executor/__init__.py +0 -0
  221. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/rel/rel_utils/__init__.py +0 -0
  222. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/rel/rewrite/__init__.py +0 -0
  223. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/solvers/__init__.py +0 -0
  224. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/sql/__init__.py +0 -0
  225. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/sql/executor/__init__.py +0 -0
  226. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/sql/rewrite/__init__.py +0 -0
  227. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/tests/__init__.py +0 -0
  228. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/tests/logging/__init__.py +0 -0
  229. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/tests/test_snapshot_base/__init__.py +0 -0
  230. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/tests/utils/__init__.py +0 -0
  231. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/__init__.py +0 -0
  232. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/base.py +0 -0
  233. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/ci.py +0 -0
  234. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/colab.py +0 -0
  235. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/generic.py +0 -0
  236. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/hex.py +0 -0
  237. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/ipython.py +0 -0
  238. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/jupyter.py +0 -0
  239. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/snowbook.py +0 -0
  240. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/terminal.py +0 -0
  241. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/SF.py +0 -0
  242. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/__init__.py +0 -0
  243. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/graphs.py +0 -0
  244. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/inspect.py +0 -0
  245. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/__init__.py +0 -0
  246. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/api.py +0 -0
  247. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/automaton.py +0 -0
  248. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/bridge.py +0 -0
  249. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/compiler.py +0 -0
  250. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/datalog.py +0 -0
  251. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/diagnostics.py +0 -0
  252. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/filter.py +0 -0
  253. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/glushkov.py +0 -0
  254. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/options.py +0 -0
  255. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/pathfinder-v0.7.0.rel +0 -0
  256. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/rpq.py +0 -0
  257. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/transition.py +0 -0
  258. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/utils.py +0 -0
  259. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/README.md +0 -0
  260. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/__init__.py +0 -0
  261. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/api.py +0 -0
  262. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/benchmarks/__init__.py +0 -0
  263. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/benchmarks/grid_graph.py +0 -0
  264. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/code_organization.md +0 -0
  265. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/Movies.ipynb +0 -0
  266. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/basic_example.py +0 -0
  267. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/minimal_engine_warmup.py +0 -0
  268. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movie_example.py +0 -0
  269. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/actedin.csv +0 -0
  270. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/directed.csv +0 -0
  271. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/follows.csv +0 -0
  272. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/movies.csv +0 -0
  273. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/person.csv +0 -0
  274. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/produced.csv +0 -0
  275. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/ratings.csv +0 -0
  276. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/wrote.csv +0 -0
  277. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/paths_benchmark.py +0 -0
  278. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/paths_example.py +0 -0
  279. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/pattern_to_automaton.py +0 -0
  280. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/find_paths_via_automaton.py +0 -0
  281. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/graph.py +0 -0
  282. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/__init__.py +0 -0
  283. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/find_paths.py +0 -0
  284. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/one_sided_ball_repetition.py +0 -0
  285. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/one_sided_ball_upto.py +0 -0
  286. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/single.py +0 -0
  287. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/two_sided_balls_repetition.py +0 -0
  288. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/two_sided_balls_upto.py +0 -0
  289. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/usp-old.py +0 -0
  290. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/usp-tuple.py +0 -0
  291. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/usp.py +0 -0
  292. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/product_graph.py +0 -0
  293. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/__init__.py +0 -0
  294. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/automaton.py +0 -0
  295. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/diagnostics.py +0 -0
  296. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/filter.py +0 -0
  297. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/glushkov.py +0 -0
  298. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/rpq.py +0 -0
  299. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/transition.py +0 -0
  300. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_limit_sp_max_length.py +0 -0
  301. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_limit_sp_multiple.py +0 -0
  302. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_limit_sp_single.py +0 -0
  303. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_limit_walks_multiple.py +0 -0
  304. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_limit_walks_single.py +0 -0
  305. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_one_sided_ball_repetition_multiple.py +0 -0
  306. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_one_sided_ball_repetition_single.py +0 -0
  307. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_one_sided_ball_upto_multiple.py +0 -0
  308. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_one_sided_ball_upto_single.py +0 -0
  309. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_single_paths.py +0 -0
  310. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_single_walks.py +0 -0
  311. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_single_walks_undirected.py +0 -0
  312. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_two_sided_balls_repetition_multiple.py +0 -0
  313. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_two_sided_balls_repetition_single.py +0 -0
  314. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_two_sided_balls_upto_multiple.py +0 -0
  315. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_two_sided_balls_upto_single.py +0 -0
  316. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_usp_nsp_multiple.py +0 -0
  317. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_usp_nsp_single.py +0 -0
  318. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tree_agg.py +0 -0
  319. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/utilities/__init__.py +0 -0
  320. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/utilities/iterators.py +0 -0
  321. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/utilities/prefix_sum.py +0 -0
  322. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/utilities/utilities.py +0 -0
  323. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/solvers.py +0 -0
  324. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/loaders/__init__.py +0 -0
  325. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/loaders/csv.py +0 -0
  326. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/loaders/loader.py +0 -0
  327. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/loaders/types.py +0 -0
  328. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/metagen.py +0 -0
  329. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/metamodel.py +0 -0
  330. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/rel.py +0 -0
  331. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/rel_emitter.py +0 -0
  332. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/rel_utils.py +0 -0
  333. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/__init__.py +0 -0
  334. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/designs/query_builder/identify_by.md +0 -0
  335. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/devtools/__init__.py +0 -0
  336. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/devtools/benchmark_lqp.py +0 -0
  337. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/devtools/compilation_manager.py +0 -0
  338. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/devtools/extract_lqp.py +0 -0
  339. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/internal/__init__.py +0 -0
  340. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/internal/annotations.py +0 -0
  341. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/internal/internal.py +0 -0
  342. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/internal/snowflake.py +0 -0
  343. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/README.md +0 -0
  344. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/__init__.py +0 -0
  345. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/builtins.py +0 -0
  346. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/compiler.py +0 -0
  347. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/constructors.py +0 -0
  348. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/executor.py +0 -0
  349. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/intrinsics.py +0 -0
  350. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/ir.py +0 -0
  351. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/model2lqp.py +0 -0
  352. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/passes.py +0 -0
  353. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/pragmas.py +0 -0
  354. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/primitives.py +0 -0
  355. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/result_helpers.py +0 -0
  356. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/__init__.py +0 -0
  357. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/annotate_constraints.py +0 -0
  358. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/cdc.py +0 -0
  359. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/extract_common.py +0 -0
  360. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/extract_keys.py +0 -0
  361. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/function_annotations.py +0 -0
  362. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/functional_dependencies.py +0 -0
  363. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/quantify_vars.py +0 -0
  364. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/splinter.py +0 -0
  365. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/types.py +0 -0
  366. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/utils.py +0 -0
  367. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/validators.py +0 -0
  368. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/__init__.py +0 -0
  369. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/builtins.py +0 -0
  370. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/compiler.py +0 -0
  371. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/dataflow.py +0 -0
  372. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/dependency.py +0 -0
  373. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/executor.py +0 -0
  374. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/factory.py +0 -0
  375. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/helpers.py +0 -0
  376. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/ir.py +0 -0
  377. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/rewrite/__init__.py +0 -0
  378. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/rewrite/discharge_constraints.py +0 -0
  379. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/rewrite/dnf_union_splitter.py +0 -0
  380. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/rewrite/extract_nested_logicals.py +0 -0
  381. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/rewrite/flatten.py +0 -0
  382. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/rewrite/format_outputs.py +0 -0
  383. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/typer/__init__.py +0 -0
  384. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/typer/checker.py +0 -0
  385. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/types.py +0 -0
  386. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/util.py +0 -0
  387. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/visitor.py +0 -0
  388. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/__init__.py +0 -0
  389. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/experimental/__init__.py +0 -0
  390. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/graph/README.md +0 -0
  391. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/graph/__init__.py +0 -0
  392. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/graph/core.py +0 -0
  393. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/graph/design/beyond_demand_transform.md +0 -0
  394. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/graph/tests/README.md +0 -0
  395. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/optimization/__init__.py +0 -0
  396. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/optimization/common.py +0 -0
  397. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/optimization/solvers_dev.py +0 -0
  398. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/optimization/solvers_pb.py +0 -0
  399. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/rel/__init__.py +0 -0
  400. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/rel/builtins.py +0 -0
  401. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/rel/compiler.py +0 -0
  402. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/rel/executor.py +0 -0
  403. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/rel/rel.py +0 -0
  404. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/rel/rel_utils.py +0 -0
  405. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/snowflake/__init__.py +0 -0
  406. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/__init__.py +0 -0
  407. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/compiler.py +0 -0
  408. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/executor/__init__.py +0 -0
  409. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/executor/duck_db.py +0 -0
  410. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/executor/result_helpers.py +0 -0
  411. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/executor/snowflake.py +0 -0
  412. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/rewrite/__init__.py +0 -0
  413. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/rewrite/denormalize.py +0 -0
  414. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/rewrite/double_negation.py +0 -0
  415. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/rewrite/recursive_union.py +0 -0
  416. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/rewrite/sort_output_query.py +0 -0
  417. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/sql.py +0 -0
  418. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/__init__.py +0 -0
  419. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/constraints.py +0 -0
  420. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/datetime.py +0 -0
  421. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/decimals.py +0 -0
  422. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/floats.py +0 -0
  423. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/integers.py +0 -0
  424. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/math.py +0 -0
  425. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/pragmas.py +0 -0
  426. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/re.py +0 -0
  427. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/std.py +0 -0
  428. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/strings.py +0 -0
  429. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/tests/__init__.py +0 -0
  430. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/tests/logging.py +0 -0
  431. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/tests/test_snapshot_abstract.py +0 -0
  432. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/tests/test_snapshot_base.py +0 -0
  433. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/tests/utils.py +0 -0
  434. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/__init__.py +0 -0
  435. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/aggregates.py +0 -0
  436. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/dates.py +0 -0
  437. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/graphs.py +0 -0
  438. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/inspect.py +0 -0
  439. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/math.py +0 -0
  440. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/re.py +0 -0
  441. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/strings.py +0 -0
  442. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/__init__.py +0 -0
  443. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/cleanup_snapshots.py +0 -0
  444. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/cli_controls.py +0 -0
  445. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/constants.py +0 -0
  446. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/debugger.py +0 -0
  447. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/debugger_client.py +0 -0
  448. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/debugger_server.py +0 -0
  449. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/dev.py +0 -0
  450. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/notes +0 -0
  451. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/qb_debugger.py +0 -0
  452. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/query_utils.py +0 -0
  453. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/snapshot_viewer.py +0 -0
  454. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/__init__.py +0 -0
  455. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/clean_up_databases.py +0 -0
  456. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/constants.py +0 -0
  457. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/format.py +0 -0
  458. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/graph.py +0 -0
  459. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/list_databases.py +0 -0
  460. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/otel_configuration.py +0 -0
  461. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/otel_handler.py +0 -0
  462. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/snowflake_handler.py +0 -0
  463. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/span_format_test.py +0 -0
  464. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/span_tracker.py +0 -0
  465. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/spans_file_handler.py +0 -0
  466. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/timeout.py +0 -0
  467. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/tracing_handler.py +0 -0
  468. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai_test_util/__init__.py +0 -0
  469. {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai_test_util/snapshot.py +0 -0
  470. {relationalai-0.13.1 → relationalai-0.13.2}/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.13.1
3
+ Version: 0.13.2
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.13.1'
3
+ version = '0.13.2'
4
4
  description = 'RelationalAI Library and CLI'
5
5
  readme="docs/pypi/README.md"
6
6
  authors = [
@@ -120,7 +120,7 @@ reportMissingImports = true
120
120
  reportMissingTypeStubs = false
121
121
  pythonVersion = "3.10"
122
122
  venvPath = "."
123
- venv = ".venv"
123
+ venv = ".venv/3.11"
124
124
  typeCheckingMode = "standard"
125
125
  reportUnusedExpression = false
126
126
 
@@ -164,11 +164,18 @@ class ResourcesBase(ABC):
164
164
  pass
165
165
 
166
166
  @abstractmethod
167
- def list_engines(self, state: str|None = None) -> List[Any]:
167
+ def list_engines(
168
+ self,
169
+ state: str | None = None,
170
+ name: str | None = None,
171
+ type: str | None = None,
172
+ size: str | None = None,
173
+ created_by: str | None = None,
174
+ ) -> List[Any]:
168
175
  pass
169
176
 
170
177
  @abstractmethod
171
- def get_engine(self, name: str) -> EngineState | None:
178
+ def get_engine(self, name: str, type: str) -> EngineState | None:
172
179
  pass
173
180
 
174
181
  @abstractmethod
@@ -180,23 +187,31 @@ class ResourcesBase(ABC):
180
187
  pass
181
188
 
182
189
  @abstractmethod
183
- def create_engine(self, name: str, size: str|None, auto_suspend_mins: int|None) -> dict | None:
190
+ def create_engine(
191
+ self,
192
+ name: str,
193
+ type: str | None = None,
194
+ size: str | None = None,
195
+ auto_suspend_mins: int | None = None,
196
+ headers: Dict | None = None,
197
+ settings: dict | None = None,
198
+ ) -> dict | None:
184
199
  pass
185
200
 
186
201
  @abstractmethod
187
- def delete_engine(self, name:str, force:bool=False) -> dict | None:
202
+ def delete_engine(self, name:str, type: str) -> dict | None:
188
203
  pass
189
204
 
190
205
  @abstractmethod
191
- def suspend_engine(self, name: str):
206
+ def suspend_engine(self, name: str, type: str | None = None):
192
207
  pass
193
208
 
194
209
  @abstractmethod
195
- def resume_engine(self, name: str, headers: Dict | None = None) -> dict:
210
+ def resume_engine(self, name: str, type: str | None = None, headers: Dict | None = None) -> dict:
196
211
  pass
197
212
 
198
213
  @abstractmethod
199
- def resume_engine_async(self, name: str) -> dict:
214
+ def resume_engine_async(self, name: str, type: str | None = None, headers: Dict | None = None) -> dict:
200
215
  pass
201
216
 
202
217
  @abstractmethod
@@ -210,7 +225,7 @@ class ResourcesBase(ABC):
210
225
  return engine
211
226
 
212
227
  @abstractmethod
213
- def auto_create_engine_async(self, name: str | None = None) -> str:
228
+ def auto_create_engine_async(self, name: str | None = None, type: str | None = None) -> str:
214
229
  pass
215
230
 
216
231
  _active_engine: EngineState|None = None
@@ -428,14 +443,34 @@ class ProviderBase(ABC):
428
443
 
429
444
  resources: ResourcesBase
430
445
 
431
- def list_engines(self, state: str | None = None):
432
- return self.resources.list_engines(state)
446
+ def list_engines(
447
+ self,
448
+ state: str | None = None,
449
+ name: str | None = None,
450
+ type: str | None = None,
451
+ size: str | None = None,
452
+ created_by: str | None = None,
453
+ ):
454
+ return self.resources.list_engines(state=state, name=name, type=type, size=size, created_by=created_by)
433
455
 
434
- def create_engine(self, name:str, size:str|None=None, auto_suspend_mins:int|None=None):
435
- return self.resources.create_engine(name, size, auto_suspend_mins)
456
+ def create_engine(
457
+ self,
458
+ name: str,
459
+ type: str | None = None,
460
+ size: str | None = None,
461
+ auto_suspend_mins: int | None = None,
462
+ settings: dict | None = None,
463
+ ):
464
+ return self.resources.create_engine(
465
+ name,
466
+ type=type,
467
+ size=size,
468
+ auto_suspend_mins=auto_suspend_mins,
469
+ settings=settings,
470
+ )
436
471
 
437
- def delete_engine(self, name:str):
438
- return self.resources.delete_engine(name)
472
+ def delete_engine(self, name:str, type: str = "LOGIC"):
473
+ return self.resources.delete_engine(name, type)
439
474
 
440
475
  def get_transaction(self, transaction_id:str):
441
476
  return self.resources.get_transaction(transaction_id)
@@ -172,10 +172,17 @@ class LocalResources(ResourcesBase):
172
172
  def get_engine_sizes(self, cloud_provider: str | None = None):
173
173
  raise NotImplementedError("get_engine_sizes not supported in local mode")
174
174
 
175
- def list_engines(self, state: str | None = None):
175
+ def list_engines(
176
+ self,
177
+ state: str | None = None,
178
+ name: str | None = None,
179
+ type: str | None = None,
180
+ size: str | None = None,
181
+ created_by: str | None = None,
182
+ ):
176
183
  raise NotImplementedError("list_engines not supported in local mode")
177
184
 
178
- def get_engine(self, name: str):
185
+ def get_engine(self, name: str, type: str):
179
186
  raise NotImplementedError("get_engine not supported in local mode")
180
187
 
181
188
  def get_cloud_provider(self) -> str:
@@ -184,25 +191,33 @@ class LocalResources(ResourcesBase):
184
191
  def is_valid_engine_state(self, name: str) -> bool:
185
192
  raise NotImplementedError("is_valid_engine_state not supported in local mode")
186
193
 
187
- def create_engine(self, name: str, size:str|None=None, auto_suspend_mins:int|None=None):
194
+ def create_engine(
195
+ self,
196
+ name: str,
197
+ type: str | None = None,
198
+ size: str | None = None,
199
+ auto_suspend_mins: int | None = None,
200
+ headers: dict | None = None,
201
+ settings: dict | None = None,
202
+ ):
188
203
  raise NotImplementedError("create_engine not supported in local mode")
189
204
 
190
- def delete_engine(self, name: str, force: bool = False):
205
+ def delete_engine(self, name: str, type: str):
191
206
  raise NotImplementedError("delete_engine not supported in local mode")
192
207
 
193
- def suspend_engine(self, name: str):
208
+ def suspend_engine(self, name: str, type: str | None = None):
194
209
  raise NotImplementedError("suspend_engine not supported in local mode")
195
210
 
196
- def resume_engine(self, name: str, headers: Dict | None = None):
211
+ def resume_engine(self, name: str, type: str | None = None, headers: Dict | None = None):
197
212
  raise NotImplementedError("resume_engine not supported in local mode")
198
213
 
199
- def resume_engine_async(self, name: str):
214
+ def resume_engine_async(self, name: str, type: str | None = None, headers: Dict | None = None):
200
215
  raise NotImplementedError("resume_engine_async not supported in local mode")
201
216
 
202
217
  def alter_engine_pool(self, size: str | None = None, mins: int | None = None, maxs: int | None = None):
203
218
  raise NotImplementedError("alter_engine_pool not supported in local mode")
204
219
 
205
- def auto_create_engine_async(self, name: str | None = None) -> str:
220
+ def auto_create_engine_async(self, name: str | None = None, type: str | None = None) -> str:
206
221
  raise NotImplementedError("auto_create_engine_async not supported in local mode")
207
222
 
208
223
  #--------------------------------------------------
@@ -78,34 +78,59 @@ class Resources(ResourcesBase):
78
78
  def get_cloud_provider(self) -> str:
79
79
  return "azure"
80
80
 
81
- def list_engines(self, state:str|None = None):
82
- return api.list_engines(self._api_ctx(), state)
83
-
84
- def get_engine(self, name:str) -> EngineState:
85
- return cast(EngineState, api.get_engine(self._api_ctx(), name))
81
+ def list_engines(
82
+ self,
83
+ state: str | None = None,
84
+ name: str | None = None,
85
+ type: str | None = None,
86
+ size: str | None = None,
87
+ created_by: str | None = None,
88
+ ):
89
+ # Azure only supports state filtering at the API level; other filters are ignored.
90
+ engines = api.list_engines(self._api_ctx(), state)
91
+ # Ensure EngineState shape includes 'type' for callers/tests.
92
+ for eng in engines:
93
+ eng.setdefault("type", "LOGIC")
94
+ return engines
95
+
96
+ def get_engine(self, name: str, type: str) -> EngineState:
97
+ # type is ignored for Azure as it doesn't support multiple engine types
98
+ engine = cast(EngineState, api.get_engine(self._api_ctx(), name))
99
+ engine.setdefault("type", "LOGIC")
100
+ return engine
86
101
 
87
102
  def is_valid_engine_state(self, name:str):
88
103
  return name in VALID_ENGINE_STATES
89
104
 
90
- def create_engine(self, name:str, size:str|None=None, auto_suspend_mins: int|None=None):
105
+ def create_engine(
106
+ self,
107
+ name: str,
108
+ type: str | None = None,
109
+ size: str | None = None,
110
+ auto_suspend_mins: int | None = None,
111
+ headers: dict | None = None,
112
+ settings: dict | None = None,
113
+ ):
114
+ # Azure only supports one engine type, so type parameter is ignored
91
115
  if size is None:
92
116
  size = "M"
93
117
  with debugging.span("create_engine", name=name, size=size):
94
118
  return api.create_engine_wait(self._api_ctx(), name, size)
95
119
 
96
- def delete_engine(self, name:str, force:bool=False):
120
+ def delete_engine(self, name:str, type: str):
97
121
  return api.delete_engine(self._api_ctx(), name)
98
122
 
99
- def suspend_engine(self, name:str):
123
+ def suspend_engine(self, name:str, type: str | None = None): # type is ignored for Azure
100
124
  return api.suspend_engine(self._api_ctx(), name)
101
125
 
102
- def resume_engine(self, name:str, headers={}):
126
+ def resume_engine(self, name:str, type: str | None = None, headers={}):
127
+ # type is ignored for Azure as it doesn't support multiple engine types
103
128
  return api.resume_engine_wait(self._api_ctx(), name)
104
129
 
105
- def resume_engine_async(self, name:str):
130
+ def resume_engine_async(self, name:str, type: str | None = None, headers: Dict | None = None):
106
131
  return api.resume_engine(self._api_ctx(), name)
107
132
 
108
- def auto_create_engine_async(self, name: str | None = None) -> str:
133
+ def auto_create_engine_async(self, name: str | None = None, type: str | None = None) -> str:
109
134
  raise Exception("Azure doesn't support auto_create_engine_async")
110
135
 
111
136
  def alter_engine_pool(self, size: str | None = None, mins: int | None = None, maxs: int | None = None):
@@ -2,8 +2,8 @@
2
2
  Snowflake resources module.
3
3
  """
4
4
  # Import order matters - Resources must be imported first since other classes depend on it
5
- from .snowflake import Resources, Provider, Graph, SnowflakeClient, APP_NAME, PYREL_ROOT_DB, ExecContext, INTERNAL_ENGINE_SIZES, ENGINE_SIZES_AWS, ENGINE_SIZES_AZURE, PrimaryKey, PRINT_TXN_PROGRESS_FLAG
6
-
5
+ from .snowflake import Resources, Provider, Graph, SnowflakeClient, APP_NAME, PYREL_ROOT_DB, ExecContext, PrimaryKey, PRINT_TXN_PROGRESS_FLAG
6
+ from .engine_service import EngineType, INTERNAL_ENGINE_SIZES, ENGINE_SIZES_AWS, ENGINE_SIZES_AZURE
7
7
  # These imports depend on Resources, so they come after
8
8
  from .cli_resources import CLIResources
9
9
  from .use_index_resources import UseIndexResources
@@ -12,7 +12,7 @@ from .resources_factory import create_resources_instance
12
12
 
13
13
  __all__ = [
14
14
  'Resources', 'DirectAccessResources', 'Provider', 'Graph', 'SnowflakeClient',
15
- 'APP_NAME', 'PYREL_ROOT_DB', 'CLIResources', 'UseIndexResources', 'ExecContext',
15
+ 'APP_NAME', 'PYREL_ROOT_DB', 'CLIResources', 'UseIndexResources', 'ExecContext', 'EngineType',
16
16
  'INTERNAL_ENGINE_SIZES', 'ENGINE_SIZES_AWS', 'ENGINE_SIZES_AZURE', 'PrimaryKey',
17
17
  'PRINT_TXN_PROGRESS_FLAG', 'create_resources_instance',
18
18
  ]
@@ -11,6 +11,7 @@ from ....tools.constants import RAI_APP_NAME
11
11
  # Import Resources from snowflake - this creates a dependency but no circular import
12
12
  # since snowflake.py doesn't import from this file
13
13
  from .snowflake import Resources, ExecContext
14
+ from .error_handlers import AppMissingErrorHandler, AppFunctionMissingErrorHandler, ServiceNotStartedErrorHandler
14
15
 
15
16
 
16
17
  class CLIResources(Resources):
@@ -20,7 +21,17 @@ class CLIResources(Resources):
20
21
  """
21
22
 
22
23
  def _handle_standard_exec_errors(self, e: Exception, ctx: ExecContext) -> Any | None:
23
- """For CLI resources, re-raise exceptions without transformation."""
24
+ """
25
+ For CLI resources, keep exceptions raw except for few specific cases.
26
+ """
27
+ message = str(e).lower()
28
+ for handler in (
29
+ ServiceNotStartedErrorHandler(),
30
+ AppMissingErrorHandler(),
31
+ AppFunctionMissingErrorHandler(),
32
+ ):
33
+ if handler.matches(e, message, ctx, self):
34
+ handler.handle(e, ctx, self)
24
35
  raise e
25
36
 
26
37
  def list_warehouses(self):
@@ -513,7 +513,14 @@ class DirectAccessResources(UseIndexResources):
513
513
  # Engines
514
514
  #--------------------------------------------------
515
515
 
516
- def list_engines(self, state: str | None = None):
516
+ def list_engines(
517
+ self,
518
+ state: str | None = None,
519
+ name: str | None = None,
520
+ type: str | None = None,
521
+ size: str | None = None,
522
+ created_by: str | None = None,
523
+ ):
517
524
  response = self.request("list_engines")
518
525
  if response.status_code != 200:
519
526
  raise ResponseStatusException(
@@ -526,19 +533,31 @@ class DirectAccessResources(UseIndexResources):
526
533
  {
527
534
  "name": engine["name"],
528
535
  "id": engine["id"],
536
+ "type": engine.get("type", "LOGIC"),
529
537
  "size": engine["size"],
530
538
  "state": engine["status"], # callers are expecting 'state'
531
539
  "created_by": engine["created_by"],
532
540
  "created_on": engine["created_on"],
533
541
  "updated_on": engine["updated_on"],
542
+ # Optional fields (present in newer APIs / service-functions path)
543
+ "auto_suspend_mins": engine.get("auto_suspend_mins"),
544
+ "suspends_at": engine.get("suspends_at"),
545
+ "settings": engine.get("settings"),
534
546
  }
535
547
  for engine in response_content.get("engines", [])
536
- if state is None or engine.get("status") == state
548
+ if (state is None or engine.get("status") == state)
549
+ and (name is None or name.upper() in engine.get("name", "").upper())
550
+ and (type is None or engine.get("type", "LOGIC").upper() == type.upper())
551
+ and (size is None or engine.get("size") == size)
552
+ and (created_by is None or created_by.upper() in engine.get("created_by", "").upper())
537
553
  ]
538
554
  return sorted(engines, key=lambda x: x["name"])
539
555
 
540
- def get_engine(self, name: str):
541
- response = self.request("get_engine", path_params={"engine_name": name, "engine_type": "logic"}, skip_auto_create=True)
556
+ def get_engine(self, name: str, type: str):
557
+ if type is None:
558
+ raise Exception("Engine type is required. Valid types are: LOGIC, SOLVER, ML")
559
+ engine_type_lower = type.lower()
560
+ response = self.request("get_engine", path_params={"engine_name": name, "engine_type": engine_type_lower}, skip_auto_create=True)
542
561
  if response.status_code == 404: # engine not found return 404
543
562
  return None
544
563
  elif response.status_code != 200:
@@ -552,6 +571,7 @@ class DirectAccessResources(UseIndexResources):
552
571
  "name": engine["name"],
553
572
  "id": engine["id"],
554
573
  "size": engine["size"],
574
+ "type": engine.get("type", type),
555
575
  "state": engine["status"], # callers are expecting 'state'
556
576
  "created_by": engine["created_by"],
557
577
  "created_on": engine["created_on"],
@@ -559,31 +579,47 @@ class DirectAccessResources(UseIndexResources):
559
579
  "version": engine["version"],
560
580
  "auto_suspend": engine["auto_suspend_mins"],
561
581
  "suspends_at": engine["suspends_at"],
582
+ "settings": engine.get("settings"),
562
583
  }
563
584
  return engine_state
564
585
 
565
586
  def _create_engine(
566
587
  self,
567
588
  name: str,
589
+ type: str = "LOGIC",
568
590
  size: str | None = None,
569
591
  auto_suspend_mins: int | None = None,
570
592
  is_async: bool = False,
571
- headers: Dict[str, str] | None = None
593
+ headers: Dict[str, str] | None = None,
594
+ settings: Dict[str, Any] | None = None,
572
595
  ):
573
596
  # only async engine creation supported via direct access
574
597
  if not is_async:
575
- return super()._create_engine(name, size, auto_suspend_mins, is_async, headers=headers)
598
+ return super()._create_engine(
599
+ name,
600
+ type=type,
601
+ size=size,
602
+ auto_suspend_mins=auto_suspend_mins,
603
+ is_async=is_async,
604
+ headers=headers,
605
+ settings=settings,
606
+ )
607
+ engine_type_lower = type.lower()
576
608
  payload:Dict[str, Any] = {
577
609
  "name": name,
578
610
  }
611
+ # Allow passing arbitrary engine settings (API-dependent).
612
+ if settings:
613
+ payload["settings"] = settings
579
614
  if auto_suspend_mins is not None:
580
615
  payload["auto_suspend_mins"] = auto_suspend_mins
581
- if size is not None:
582
- payload["size"] = size
616
+ if size is None:
617
+ size = self.config.get_default_engine_size()
618
+ payload["size"] = size
583
619
  response = self.request(
584
620
  "create_engine",
585
621
  payload=payload,
586
- path_params={"engine_type": "logic"},
622
+ path_params={"engine_type": engine_type_lower},
587
623
  headers=headers,
588
624
  skip_auto_create=True,
589
625
  )
@@ -592,11 +628,11 @@ class DirectAccessResources(UseIndexResources):
592
628
  f"Failed to create engine {name} with size {size}.", response
593
629
  )
594
630
 
595
- def delete_engine(self, name:str, force:bool = False, headers={}):
631
+ def delete_engine(self, name: str, type: str):
596
632
  response = self.request(
597
633
  "delete_engine",
598
- path_params={"engine_name": name, "engine_type": "logic"},
599
- headers=headers,
634
+ path_params={"engine_name": name, "engine_type": type.lower()},
635
+ headers={},
600
636
  skip_auto_create=True,
601
637
  )
602
638
  if response.status_code != 200:
@@ -604,10 +640,12 @@ class DirectAccessResources(UseIndexResources):
604
640
  f"Failed to delete engine {name}.", response
605
641
  )
606
642
 
607
- def suspend_engine(self, name:str):
643
+ def suspend_engine(self, name: str, type: str | None = None):
644
+ if type is None:
645
+ type = "LOGIC"
608
646
  response = self.request(
609
647
  "suspend_engine",
610
- path_params={"engine_name": name, "engine_type": "logic"},
648
+ path_params={"engine_name": name, "engine_type": type.lower()},
611
649
  skip_auto_create=True,
612
650
  )
613
651
  if response.status_code != 200:
@@ -615,11 +653,13 @@ class DirectAccessResources(UseIndexResources):
615
653
  f"Failed to suspend engine {name}.", response
616
654
  )
617
655
 
618
- def resume_engine_async(self, name:str, headers={}):
656
+ def resume_engine_async(self, name: str, type: str | None = None, headers: Dict | None = None):
657
+ if type is None:
658
+ type = "LOGIC"
619
659
  response = self.request(
620
660
  "resume_engine",
621
- path_params={"engine_name": name, "engine_type": "logic"},
622
- headers=headers,
661
+ path_params={"engine_name": name, "engine_type": type.lower()},
662
+ headers=headers or {},
623
663
  skip_auto_create=True,
624
664
  )
625
665
  if response.status_code != 200: