relationalai 0.11.4__tar.gz → 0.12.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. {relationalai-0.11.4 → relationalai-0.12.1}/PKG-INFO +5 -4
  2. {relationalai-0.11.4 → relationalai-0.12.1}/pyproject.toml +14 -4
  3. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/config.py +7 -0
  4. relationalai-0.12.1/src/relationalai/clients/direct_access_client.py +113 -0
  5. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/snowflake.py +263 -189
  6. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/types.py +4 -1
  7. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/use_index_poller.py +72 -48
  8. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/util.py +9 -0
  9. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/dsl.py +1 -2
  10. relationalai-0.12.1/src/relationalai/early_access/metamodel/rewrite/__init__.py +7 -0
  11. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/rel/rewrite/__init__.py +1 -1
  12. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/environments/snowbook.py +10 -1
  13. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/errors.py +24 -3
  14. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/internal/annotations.py +1 -0
  15. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/internal/internal.py +22 -3
  16. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/builtins.py +1 -0
  17. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/executor.py +12 -4
  18. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/model2lqp.py +1 -0
  19. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/passes.py +3 -4
  20. {relationalai-0.11.4/src/relationalai/semantics/rel → relationalai-0.12.1/src/relationalai/semantics/lqp}/rewrite/__init__.py +6 -0
  21. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/builtins.py +12 -1
  22. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/executor.py +2 -1
  23. relationalai-0.12.1/src/relationalai/semantics/metamodel/rewrite/__init__.py +6 -0
  24. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/rewrite/flatten.py +8 -7
  25. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/core.py +1356 -258
  26. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/rel/builtins.py +5 -1
  27. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/rel/compiler.py +3 -3
  28. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/rel/executor.py +20 -11
  29. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/sql/compiler.py +2 -3
  30. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/sql/executor/duck_db.py +8 -4
  31. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/sql/executor/snowflake.py +1 -1
  32. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/cli.py +17 -6
  33. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/cli_controls.py +334 -352
  34. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/constants.py +1 -0
  35. relationalai-0.12.1/src/relationalai/tools/query_utils.py +27 -0
  36. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/otel_configuration.py +1 -1
  37. relationalai-0.11.4/src/relationalai/early_access/metamodel/rewrite/__init__.py +0 -5
  38. relationalai-0.11.4/src/relationalai/semantics/metamodel/rewrite/__init__.py +0 -12
  39. relationalai-0.11.4/src/relationalai/semantics/metamodel/rewrite/gc_nodes.py +0 -58
  40. relationalai-0.11.4/src/relationalai/semantics/metamodel/rewrite/list_types.py +0 -109
  41. {relationalai-0.11.4 → relationalai-0.12.1}/.gitignore +0 -0
  42. {relationalai-0.11.4 → relationalai-0.12.1}/LICENSE +0 -0
  43. {relationalai-0.11.4 → relationalai-0.12.1}/docs/pypi/README.md +0 -0
  44. {relationalai-0.11.4 → relationalai-0.12.1}/frontend/debugger/dist/.gitignore +0 -0
  45. {relationalai-0.11.4 → relationalai-0.12.1}/frontend/debugger/dist/assets/favicon-Dy0ZgA6N.png +0 -0
  46. {relationalai-0.11.4 → relationalai-0.12.1}/frontend/debugger/dist/assets/index-Cssla-O7.js +0 -0
  47. {relationalai-0.11.4 → relationalai-0.12.1}/frontend/debugger/dist/assets/index-DlHsYx1V.css +0 -0
  48. {relationalai-0.11.4 → relationalai-0.12.1}/frontend/debugger/dist/index.html +0 -0
  49. {relationalai-0.11.4 → relationalai-0.12.1}/src/__init__.py +0 -0
  50. {relationalai-0.11.4 → relationalai-0.12.1}/src/raitoolkit/__init__.py +0 -0
  51. {relationalai-0.11.4 → relationalai-0.12.1}/src/raitoolkit/events/__init__.py +0 -0
  52. {relationalai-0.11.4 → relationalai-0.12.1}/src/raitoolkit/procedures/__init__.py +0 -0
  53. {relationalai-0.11.4 → relationalai-0.12.1}/src/raitoolkit/procedures/procedure.py +0 -0
  54. {relationalai-0.11.4 → relationalai-0.12.1}/src/raitoolkit/rel/__init__.py +0 -0
  55. {relationalai-0.11.4 → relationalai-0.12.1}/src/raitoolkit/tables/__init__.py +0 -0
  56. {relationalai-0.11.4 → relationalai-0.12.1}/src/raitoolkit/tasks/__init__.py +0 -0
  57. {relationalai-0.11.4 → relationalai-0.12.1}/src/raitoolkit/tasks/task.py +0 -0
  58. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/__init__.py +0 -0
  59. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/analysis/__init__.py +0 -0
  60. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/analysis/mechanistic.py +0 -0
  61. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/analysis/whynot.py +0 -0
  62. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/auth/__init__.py +0 -0
  63. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/auth/jwt_generator.py +0 -0
  64. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/auth/oauth_callback_server.py +0 -0
  65. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/auth/token_handler.py +0 -0
  66. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/auth/util.py +0 -0
  67. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/__init__.py +0 -0
  68. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/azure.py +0 -0
  69. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/cache_store.py +0 -0
  70. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/client.py +0 -0
  71. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/export_procedure.py.jinja +0 -0
  72. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/hash_util.py +0 -0
  73. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/profile_polling.py +0 -0
  74. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/clients/result_helpers.py +0 -0
  75. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/compiler.py +0 -0
  76. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/debugging.py +0 -0
  77. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/dependencies.py +0 -0
  78. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/docutils.py +0 -0
  79. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/__init__.py +0 -0
  80. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/builder/__init__.py +0 -0
  81. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/builder/builder/__init__.py +0 -0
  82. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/builder/snowflake/__init__.py +0 -0
  83. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/builder/std/__init__.py +0 -0
  84. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/builder/std/decimals/__init__.py +0 -0
  85. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/builder/std/integers/__init__.py +0 -0
  86. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/builder/std/math/__init__.py +0 -0
  87. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/builder/std/strings/__init__.py +0 -0
  88. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/devtools/__init__.py +0 -0
  89. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/devtools/benchmark_lqp/__init__.py +0 -0
  90. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/devtools/extract_lqp/__init__.py +0 -0
  91. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/__init__.py +0 -0
  92. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/adapters/__init__.py +0 -0
  93. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/adapters/orm/__init__.py +0 -0
  94. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/adapters/orm/adapter_qb.py +0 -0
  95. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/adapters/orm/model.py +0 -0
  96. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/adapters/orm/parser.py +0 -0
  97. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/adapters/owl/__init__.py +0 -0
  98. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/adapters/owl/adapter.py +0 -0
  99. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/adapters/owl/model.py +0 -0
  100. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/adapters/owl/parser.py +0 -0
  101. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/bindings/__init__.py +0 -0
  102. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/bindings/common.py +0 -0
  103. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/bindings/csv.py +0 -0
  104. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/bindings/legacy/__init__.py +0 -0
  105. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/bindings/legacy/binding_models.py +0 -0
  106. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/bindings/snowflake.py +0 -0
  107. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/codegen/__init__.py +0 -0
  108. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/codegen/binder.py +0 -0
  109. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/codegen/common.py +0 -0
  110. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/codegen/helpers.py +0 -0
  111. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/codegen/relations.py +0 -0
  112. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/codegen/weaver.py +0 -0
  113. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/constants.py +0 -0
  114. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/__init__.py +0 -0
  115. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/builders/__init__.py +0 -0
  116. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/builders/logic.py +0 -0
  117. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/builders/scalar_constraint.py +0 -0
  118. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/constraints/__init__.py +0 -0
  119. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/constraints/predicate/__init__.py +0 -0
  120. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/constraints/predicate/atomic.py +0 -0
  121. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/constraints/predicate/universal.py +0 -0
  122. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/constraints/scalar.py +0 -0
  123. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/context.py +0 -0
  124. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/cset.py +0 -0
  125. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/exprs/__init__.py +0 -0
  126. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/exprs/relational.py +0 -0
  127. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/exprs/scalar.py +0 -0
  128. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/instances.py +0 -0
  129. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/logic/__init__.py +0 -0
  130. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/logic/aggregation.py +0 -0
  131. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/logic/exists.py +0 -0
  132. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/logic/helper.py +0 -0
  133. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/namespaces.py +0 -0
  134. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/relations.py +0 -0
  135. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/rules.py +0 -0
  136. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/stack.py +0 -0
  137. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/std/__init__.py +0 -0
  138. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/temporal/__init__.py +0 -0
  139. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/temporal/recall.py +0 -0
  140. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/types/__init__.py +0 -0
  141. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/types/concepts.py +0 -0
  142. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/types/constrained/__init__.py +0 -0
  143. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/types/constrained/nominal.py +0 -0
  144. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/types/constrained/subtype.py +0 -0
  145. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/types/standard.py +0 -0
  146. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/types/unconstrained.py +0 -0
  147. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/types/variables.py +0 -0
  148. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/core/utils.py +0 -0
  149. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ir/__init__.py +0 -0
  150. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ir/compiler.py +0 -0
  151. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ir/executor.py +0 -0
  152. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ontologies/__init__.py +0 -0
  153. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ontologies/constraints.py +0 -0
  154. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ontologies/export.py +0 -0
  155. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ontologies/models.py +0 -0
  156. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ontologies/python_printer.py +0 -0
  157. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ontologies/raw_source.py +0 -0
  158. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ontologies/readings.py +0 -0
  159. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ontologies/relationships.py +0 -0
  160. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ontologies/roles.py +0 -0
  161. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/ontologies/subtyping.py +0 -0
  162. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/__init__.py +0 -0
  163. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/constraints.py +0 -0
  164. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/measures/__init__.py +0 -0
  165. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/measures/dimensions.py +0 -0
  166. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/measures/initializer.py +0 -0
  167. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/measures/measure_rules.py +0 -0
  168. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/measures/measures.py +0 -0
  169. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/measures/role_exprs.py +0 -0
  170. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/models.py +0 -0
  171. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/object_oriented_printer.py +0 -0
  172. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/printer.py +0 -0
  173. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/reasoner_errors.py +0 -0
  174. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/reasoners.py +0 -0
  175. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/relations.py +0 -0
  176. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/relationships.py +0 -0
  177. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/types.py +0 -0
  178. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/utils.py +0 -0
  179. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/orm/verb.py +0 -0
  180. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/physical_metadata/__init__.py +0 -0
  181. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/physical_metadata/tables.py +0 -0
  182. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/relations.py +0 -0
  183. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/rulesets.py +0 -0
  184. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/schemas/__init__.py +0 -0
  185. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/schemas/builder.py +0 -0
  186. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/schemas/comp_names.py +0 -0
  187. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/schemas/components.py +0 -0
  188. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/schemas/contexts.py +0 -0
  189. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/schemas/exprs.py +0 -0
  190. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/schemas/fragments.py +0 -0
  191. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/serialization.py +0 -0
  192. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/serialize/__init__.py +0 -0
  193. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/serialize/binding_model.py +0 -0
  194. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/serialize/exporter.py +0 -0
  195. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/serialize/model.py +0 -0
  196. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/snow/__init__.py +0 -0
  197. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/snow/api.py +0 -0
  198. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/snow/common.py +0 -0
  199. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/state_mgmt/__init__.py +0 -0
  200. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/state_mgmt/state_charts.py +0 -0
  201. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/state_mgmt/transitions.py +0 -0
  202. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/types/__init__.py +0 -0
  203. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/types/concepts.py +0 -0
  204. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/types/entities.py +0 -0
  205. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/types/values.py +0 -0
  206. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/dsl/utils.py +0 -0
  207. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/graphs/__init__.py +0 -0
  208. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/lqp/__init__.py +0 -0
  209. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/lqp/compiler/__init__.py +0 -0
  210. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/lqp/constructors/__init__.py +0 -0
  211. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/lqp/executor/__init__.py +0 -0
  212. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/lqp/ir/__init__.py +0 -0
  213. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/lqp/passes/__init__.py +0 -0
  214. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/lqp/pragmas/__init__.py +0 -0
  215. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/lqp/primitives/__init__.py +0 -0
  216. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/lqp/types/__init__.py +0 -0
  217. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/lqp/utils/__init__.py +0 -0
  218. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/lqp/validators/__init__.py +0 -0
  219. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/metamodel/__init__.py +0 -0
  220. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/metamodel/builtins/__init__.py +0 -0
  221. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/metamodel/compiler/__init__.py +0 -0
  222. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/metamodel/dependency/__init__.py +0 -0
  223. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/metamodel/factory/__init__.py +0 -0
  224. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/metamodel/helpers/__init__.py +0 -0
  225. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/metamodel/ir/__init__.py +0 -0
  226. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/metamodel/typer/__init__.py +0 -0
  227. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/metamodel/typer/typer/__init__.py +0 -0
  228. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/metamodel/types/__init__.py +0 -0
  229. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/metamodel/util/__init__.py +0 -0
  230. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/metamodel/visitor/__init__.py +0 -0
  231. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/__init__.py +0 -0
  232. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/api/__init__.py +0 -0
  233. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/benchmarks/__init__.py +0 -0
  234. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/graph/__init__.py +0 -0
  235. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/path_algorithms/__init__.py +0 -0
  236. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/path_algorithms/find_paths/__init__.py +0 -0
  237. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/path_algorithms/one_sided_ball_repetition/__init__.py +0 -0
  238. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/path_algorithms/one_sided_ball_upto/__init__.py +0 -0
  239. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/path_algorithms/single/__init__.py +0 -0
  240. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/path_algorithms/two_sided_balls_repetition/__init__.py +0 -0
  241. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/path_algorithms/two_sided_balls_upto/__init__.py +0 -0
  242. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/path_algorithms/usp/__init__.py +0 -0
  243. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/rpq/__init__.py +0 -0
  244. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/utilities/__init__.py +0 -0
  245. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/paths/utilities/iterators/__init__.py +0 -0
  246. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/rel/__init__.py +0 -0
  247. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/rel/executor/__init__.py +0 -0
  248. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/rel/rel_utils/__init__.py +0 -0
  249. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/solvers/__init__.py +0 -0
  250. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/sql/__init__.py +0 -0
  251. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/sql/executor/__init__.py +0 -0
  252. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/sql/rewrite/__init__.py +0 -0
  253. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/tests/__init__.py +0 -0
  254. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/tests/logging/__init__.py +0 -0
  255. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/tests/test_snapshot_base/__init__.py +0 -0
  256. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/early_access/tests/utils/__init__.py +0 -0
  257. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/environments/__init__.py +0 -0
  258. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/environments/base.py +0 -0
  259. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/environments/ci.py +0 -0
  260. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/environments/colab.py +0 -0
  261. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/environments/generic.py +0 -0
  262. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/environments/hex.py +0 -0
  263. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/environments/ipython.py +0 -0
  264. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/environments/jupyter.py +0 -0
  265. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/environments/terminal.py +0 -0
  266. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/SF.py +0 -0
  267. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/__init__.py +0 -0
  268. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/graphs.py +0 -0
  269. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/inspect.py +0 -0
  270. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/__init__.py +0 -0
  271. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/api.py +0 -0
  272. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/automaton.py +0 -0
  273. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/bridge.py +0 -0
  274. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/compiler.py +0 -0
  275. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/datalog.py +0 -0
  276. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/diagnostics.py +0 -0
  277. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/filter.py +0 -0
  278. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/glushkov.py +0 -0
  279. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/options.py +0 -0
  280. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/pathfinder-v0.7.0.rel +0 -0
  281. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/rpq.py +0 -0
  282. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/transition.py +0 -0
  283. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/pathfinder/utils.py +0 -0
  284. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/paths/__init__.py +0 -0
  285. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/paths/pathfinder.rel +0 -0
  286. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/paths/tree_agg.py +0 -0
  287. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/experimental/solvers.py +0 -0
  288. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/loaders/__init__.py +0 -0
  289. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/loaders/csv.py +0 -0
  290. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/loaders/loader.py +0 -0
  291. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/loaders/types.py +0 -0
  292. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/metagen.py +0 -0
  293. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/metamodel.py +0 -0
  294. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/rel.py +0 -0
  295. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/rel_emitter.py +0 -0
  296. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/rel_utils.py +0 -0
  297. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/__init__.py +0 -0
  298. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/designs/query_builder/identify_by.md +0 -0
  299. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/devtools/__init__.py +0 -0
  300. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/devtools/benchmark_lqp.py +0 -0
  301. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/devtools/compilation_manager.py +0 -0
  302. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/devtools/extract_lqp.py +0 -0
  303. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/internal/__init__.py +0 -0
  304. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/internal/snowflake.py +0 -0
  305. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/__init__.py +0 -0
  306. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/compiler.py +0 -0
  307. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/constructors.py +0 -0
  308. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/intrinsics.py +0 -0
  309. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/ir.py +0 -0
  310. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/pragmas.py +0 -0
  311. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/primitives.py +0 -0
  312. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/result_helpers.py +0 -0
  313. {relationalai-0.11.4/src/relationalai/semantics/rel → relationalai-0.12.1/src/relationalai/semantics/lqp}/rewrite/cdc.py +0 -0
  314. {relationalai-0.11.4/src/relationalai/semantics/rel → relationalai-0.12.1/src/relationalai/semantics/lqp}/rewrite/extract_common.py +0 -0
  315. {relationalai-0.11.4/src/relationalai/semantics/metamodel → relationalai-0.12.1/src/relationalai/semantics/lqp}/rewrite/extract_keys.py +0 -0
  316. {relationalai-0.11.4/src/relationalai/semantics/metamodel → relationalai-0.12.1/src/relationalai/semantics/lqp}/rewrite/fd_constraints.py +0 -0
  317. {relationalai-0.11.4/src/relationalai/semantics/rel → relationalai-0.12.1/src/relationalai/semantics/lqp}/rewrite/quantify_vars.py +0 -0
  318. {relationalai-0.11.4/src/relationalai/semantics/metamodel → relationalai-0.12.1/src/relationalai/semantics/lqp}/rewrite/splinter.py +0 -0
  319. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/types.py +0 -0
  320. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/utils.py +0 -0
  321. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/lqp/validators.py +0 -0
  322. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/__init__.py +0 -0
  323. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/compiler.py +0 -0
  324. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/dataflow.py +0 -0
  325. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/dependency.py +0 -0
  326. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/factory.py +0 -0
  327. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/helpers.py +0 -0
  328. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/ir.py +0 -0
  329. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/rewrite/discharge_constraints.py +0 -0
  330. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/rewrite/dnf_union_splitter.py +0 -0
  331. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/rewrite/extract_nested_logicals.py +0 -0
  332. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/typer/__init__.py +0 -0
  333. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/typer/checker.py +0 -0
  334. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/typer/typer.py +0 -0
  335. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/types.py +0 -0
  336. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/util.py +0 -0
  337. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/metamodel/visitor.py +0 -0
  338. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/__init__.py +0 -0
  339. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/README.md +0 -0
  340. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/__init__.py +0 -0
  341. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/design/beyond_demand_transform.md +0 -0
  342. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/README.md +0 -0
  343. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/__init__.py +0 -0
  344. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/api.py +0 -0
  345. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/benchmarks/__init__.py +0 -0
  346. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/benchmarks/grid_graph.py +0 -0
  347. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/code_organization.md +0 -0
  348. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/Movies.ipynb +0 -0
  349. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/basic_example.py +0 -0
  350. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/minimal_engine_warmup.py +0 -0
  351. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/movie_example.py +0 -0
  352. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/actedin.csv +0 -0
  353. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/directed.csv +0 -0
  354. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/follows.csv +0 -0
  355. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/movies.csv +0 -0
  356. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/person.csv +0 -0
  357. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/produced.csv +0 -0
  358. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/ratings.csv +0 -0
  359. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/movies_data/wrote.csv +0 -0
  360. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/paths_benchmark.py +0 -0
  361. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/paths_example.py +0 -0
  362. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/examples/pattern_to_automaton.py +0 -0
  363. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/find_paths_via_automaton.py +0 -0
  364. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/graph.py +0 -0
  365. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/__init__.py +0 -0
  366. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/find_paths.py +0 -0
  367. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/one_sided_ball_repetition.py +0 -0
  368. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/one_sided_ball_upto.py +0 -0
  369. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/single.py +0 -0
  370. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/two_sided_balls_repetition.py +0 -0
  371. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/two_sided_balls_upto.py +0 -0
  372. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/usp-old.py +0 -0
  373. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/usp-tuple.py +0 -0
  374. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/path_algorithms/usp.py +0 -0
  375. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/product_graph.py +0 -0
  376. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/rpq/__init__.py +0 -0
  377. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/rpq/automaton.py +0 -0
  378. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/rpq/diagnostics.py +0 -0
  379. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/rpq/filter.py +0 -0
  380. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/rpq/glushkov.py +0 -0
  381. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/rpq/rpq.py +0 -0
  382. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/rpq/transition.py +0 -0
  383. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_limit_sp_max_length.py +0 -0
  384. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_limit_sp_multiple.py +0 -0
  385. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_limit_sp_single.py +0 -0
  386. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_limit_walks_multiple.py +0 -0
  387. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_limit_walks_single.py +0 -0
  388. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_one_sided_ball_repetition_multiple.py +0 -0
  389. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_one_sided_ball_repetition_single.py +0 -0
  390. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_one_sided_ball_upto_multiple.py +0 -0
  391. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_one_sided_ball_upto_single.py +0 -0
  392. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_single_paths.py +0 -0
  393. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_single_walks.py +0 -0
  394. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_single_walks_undirected.py +0 -0
  395. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_two_sided_balls_repetition_multiple.py +0 -0
  396. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_two_sided_balls_repetition_single.py +0 -0
  397. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_two_sided_balls_upto_multiple.py +0 -0
  398. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_two_sided_balls_upto_single.py +0 -0
  399. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_usp_nsp_multiple.py +0 -0
  400. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/tests/tests_usp_nsp_single.py +0 -0
  401. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/utilities/__init__.py +0 -0
  402. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/utilities/iterators.py +0 -0
  403. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/utilities/prefix_sum.py +0 -0
  404. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/paths/utilities/utilities.py +0 -0
  405. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/graph/tests/README.md +0 -0
  406. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/optimization/__init__.py +0 -0
  407. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/optimization/common.py +0 -0
  408. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/optimization/solvers_dev.py +0 -0
  409. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/reasoners/optimization/solvers_pb.py +0 -0
  410. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/rel/__init__.py +0 -0
  411. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/rel/rel.py +0 -0
  412. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/rel/rel_utils.py +0 -0
  413. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/snowflake/__init__.py +0 -0
  414. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/sql/__init__.py +0 -0
  415. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/sql/executor/__init__.py +0 -0
  416. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/sql/executor/result_helpers.py +0 -0
  417. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/sql/rewrite/__init__.py +0 -0
  418. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/sql/rewrite/denormalize.py +0 -0
  419. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/sql/rewrite/double_negation.py +0 -0
  420. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/sql/rewrite/recursive_union.py +0 -0
  421. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/sql/rewrite/sort_output_query.py +0 -0
  422. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/sql/sql.py +0 -0
  423. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/std/__init__.py +0 -0
  424. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/std/constraints.py +0 -0
  425. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/std/datetime.py +0 -0
  426. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/std/decimals.py +0 -0
  427. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/std/floats.py +0 -0
  428. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/std/integers.py +0 -0
  429. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/std/math.py +0 -0
  430. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/std/pragmas.py +0 -0
  431. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/std/re.py +0 -0
  432. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/std/std.py +0 -0
  433. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/std/strings.py +0 -0
  434. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/tests/__init__.py +0 -0
  435. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/tests/logging.py +0 -0
  436. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/tests/test_snapshot_abstract.py +0 -0
  437. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/tests/test_snapshot_base.py +0 -0
  438. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/semantics/tests/utils.py +0 -0
  439. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/std/__init__.py +0 -0
  440. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/std/aggregates.py +0 -0
  441. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/std/dates.py +0 -0
  442. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/std/graphs.py +0 -0
  443. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/std/inspect.py +0 -0
  444. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/std/math.py +0 -0
  445. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/std/re.py +0 -0
  446. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/std/strings.py +0 -0
  447. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/__init__.py +0 -0
  448. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/cleanup_snapshots.py +0 -0
  449. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/cli_helpers.py +0 -0
  450. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/debugger.py +0 -0
  451. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/debugger_client.py +0 -0
  452. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/debugger_server.py +0 -0
  453. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/dev.py +0 -0
  454. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/notes +0 -0
  455. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/qb_debugger.py +0 -0
  456. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/tools/snapshot_viewer.py +0 -0
  457. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/__init__.py +0 -0
  458. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/clean_up_databases.py +0 -0
  459. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/constants.py +0 -0
  460. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/format.py +0 -0
  461. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/graph.py +0 -0
  462. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/list_databases.py +0 -0
  463. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/otel_handler.py +0 -0
  464. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/snowflake_handler.py +0 -0
  465. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/span_format_test.py +0 -0
  466. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/span_tracker.py +0 -0
  467. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/spans_file_handler.py +0 -0
  468. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/timeout.py +0 -0
  469. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai/util/tracing_handler.py +0 -0
  470. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai_test_util/__init__.py +0 -0
  471. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai_test_util/fixtures.py +0 -0
  472. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai_test_util/snapshot.py +0 -0
  473. {relationalai-0.11.4 → relationalai-0.12.1}/src/relationalai_test_util/traceback.py +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: relationalai
3
- Version: 0.11.4
3
+ Version: 0.12.1
4
4
  Summary: RelationalAI Library and CLI
5
5
  Author-email: RelationalAI <support@relational.ai>
6
6
  License-File: LICENSE
7
- Requires-Python: >=3.9
7
+ Requires-Python: >=3.10
8
8
  Requires-Dist: aiohttp
9
- Requires-Dist: click<=8.1.8
9
+ Requires-Dist: click==8.2.1
10
10
  Requires-Dist: colorama
11
11
  Requires-Dist: cryptography
12
12
  Requires-Dist: gravis
@@ -21,7 +21,6 @@ Requires-Dist: packaging
21
21
  Requires-Dist: pandas
22
22
  Requires-Dist: pyarrow
23
23
  Requires-Dist: pyjwt
24
- Requires-Dist: rai-sdk>=0.7.5
25
24
  Requires-Dist: requests
26
25
  Requires-Dist: rich
27
26
  Requires-Dist: snowflake-connector-python[secure-local-storage]
@@ -64,6 +63,8 @@ Requires-Dist: parameterized; extra == 'ea'
64
63
  Requires-Dist: pysmt; extra == 'ea'
65
64
  Requires-Dist: simple-ddl-parser; extra == 'ea'
66
65
  Requires-Dist: xmltodict; extra == 'ea'
66
+ Provides-Extra: legacy
67
+ Requires-Dist: rai-sdk>=0.7.5; extra == 'legacy'
67
68
  Description-Content-Type: text/markdown
68
69
 
69
70
  # The RelationalAI Python Library
@@ -1,17 +1,16 @@
1
1
  [project]
2
2
  name = 'relationalai'
3
- version = '0.11.4'
3
+ version = '0.12.1'
4
4
  description = 'RelationalAI Library and CLI'
5
5
  readme="docs/pypi/README.md"
6
6
  authors = [
7
7
  { name="RelationalAI", email="support@relational.ai" },
8
8
  ]
9
- requires-python = ">= 3.9"
9
+ requires-python = ">= 3.10"
10
10
  dependencies = [
11
11
  "lqp==0.1.16",
12
12
  "snowflake-connector-python[secure-local-storage]",
13
13
  "snowflake-snowpark-python>=1.38.0",
14
- "rai-sdk>=0.7.5",
15
14
  "typing-extensions",
16
15
  "rich",
17
16
  "nicegui==2.16.1",
@@ -19,7 +18,7 @@ dependencies = [
19
18
  "pandas",
20
19
  "colorama",
21
20
  "inquirerpy",
22
- "click<=8.1.8",
21
+ "click==8.2.1",
23
22
  "gravis",
24
23
  "toml",
25
24
  "tomlkit",
@@ -71,6 +70,9 @@ ea = [
71
70
  "owlready2",
72
71
  "xmltodict"
73
72
  ]
73
+ legacy = [
74
+ "rai-sdk>=0.7.5"
75
+ ]
74
76
 
75
77
  [project.scripts]
76
78
  rai = "relationalai.tools.cli:cli"
@@ -101,6 +103,14 @@ packages = ["src/relationalai", "src/relationalai_test_util"]
101
103
  [tool.hatch.build.targets.wheel.force-include]
102
104
  "frontend/debugger/dist" = "frontend/debugger/dist"
103
105
 
106
+ [tool.pytest.ini_options]
107
+ testpaths = ["tests"]
108
+ markers = [
109
+ "azure: marks tests as requiring Azure/railib (deselect with '-m \"not azure\"')",
110
+ ]
111
+ # Exclude Azure tests by default
112
+ addopts = "-m 'not azure'"
113
+
104
114
  [tool.pyright]
105
115
  include = ["src", "tests"]
106
116
  exclude = ["**/node_modules", "**/__pycache__", "**/.*", "**/test_cases/*", "src/relationalai/metagen.py", "src/gentest",
@@ -468,6 +468,13 @@ class Config():
468
468
  if not self.file_path:
469
469
  self.file_path = "__inline__"
470
470
  self._handle_snowflake_fallback_configurations()
471
+ # Check if Azure platform is being used without the legacy dependency
472
+ if self.get("platform", "") == "azure":
473
+ try:
474
+ import railib # noqa
475
+ except ImportError:
476
+ from relationalai.errors import AzureLegacyDependencyMissingException
477
+ raise AzureLegacyDependencyMissingException() from None
471
478
 
472
479
  def fetch(self, profile:str|None=None):
473
480
  from relationalai.environments import runtime_env, TerminalEnvironment
@@ -0,0 +1,113 @@
1
+ from __future__ import annotations
2
+
3
+ import requests
4
+ from dataclasses import dataclass
5
+ from urllib.parse import urlencode, quote
6
+ from requests.adapters import HTTPAdapter
7
+ from urllib3.util.retry import Retry
8
+ from typing import Any, Dict, Optional, Tuple
9
+
10
+ from relationalai.auth.token_handler import TokenHandler
11
+ from relationalai.clients.config import Config
12
+ from relationalai.clients.util import get_pyrel_version
13
+ from relationalai import debugging
14
+ from relationalai.tools.constants import Generation
15
+ from relationalai.environments import runtime_env, SnowbookEnvironment
16
+
17
+ @dataclass
18
+ class Endpoint:
19
+ method: str
20
+ endpoint: str
21
+
22
+ class DirectAccessClient:
23
+ """
24
+ DirectAccessClient is a client for direct service access without service function calls.
25
+ """
26
+
27
+ def __init__(self, config: Config, token_handler: TokenHandler, service_endpoint: str, generation: Optional[Generation] = None):
28
+ self._config: Config = config
29
+ self._token_handler: TokenHandler = token_handler
30
+ self.service_endpoint: str = service_endpoint
31
+ self.generation: Optional[Generation] = generation
32
+ self._is_snowflake_notebook = isinstance(runtime_env, SnowbookEnvironment)
33
+ self.endpoints: Dict[str, Endpoint] = {
34
+ "create_txn": Endpoint(method="POST", endpoint="/v1alpha1/transactions"),
35
+ "get_txn": Endpoint(method="GET", endpoint="/v1alpha1/transactions/{txn_id}"),
36
+ "get_txn_artifacts": Endpoint(method="GET", endpoint="/v1alpha1/transactions/{txn_id}/artifacts"),
37
+ "get_txn_problems": Endpoint(method="GET", endpoint="/v1alpha1/transactions/{txn_id}/problems"),
38
+ "get_txn_events": Endpoint(method="GET", endpoint="/v1alpha1/transactions/{txn_id}/events/{stream_name}"),
39
+ "get_package_versions": Endpoint(method="GET", endpoint="/v1alpha1/databases/{db_name}/package_versions"),
40
+ "get_model_package_versions": Endpoint(method="POST", endpoint="/v1alpha1/models/get_package_versions"),
41
+ "create_db": Endpoint(method="POST", endpoint="/v1alpha1/databases"),
42
+ "get_db": Endpoint(method="GET", endpoint="/v1alpha1/databases"),
43
+ "delete_db": Endpoint(method="DELETE", endpoint="/v1alpha1/databases/{db_name}"),
44
+ "release_index": Endpoint(method="POST", endpoint="/v1alpha1/index/release"),
45
+ "list_engines": Endpoint(method="GET", endpoint="/v1alpha1/engines"),
46
+ "get_engine": Endpoint(method="GET", endpoint="/v1alpha1/engines/{engine_type}/{engine_name}"),
47
+ "create_engine": Endpoint(method="POST", endpoint="/v1alpha1/engines/{engine_type}"),
48
+ "delete_engine": Endpoint(method="DELETE", endpoint="/v1alpha1/engines/{engine_type}/{engine_name}"),
49
+ "suspend_engine": Endpoint(method="POST", endpoint="/v1alpha1/engines/{engine_type}/{engine_name}/suspend"),
50
+ "resume_engine": Endpoint(method="POST", endpoint="/v1alpha1/engines/{engine_type}/{engine_name}/resume_async"),
51
+ "prepare_index": Endpoint(method="POST", endpoint="/v1alpha1/index/prepare"),
52
+ }
53
+ self.http_session = self._create_retry_session()
54
+
55
+ def _create_retry_session(self) -> requests.Session:
56
+ http_session = requests.Session()
57
+ retries = Retry(
58
+ total=3,
59
+ backoff_factor=0.3,
60
+ status_forcelist=[500, 502, 503, 504],
61
+ allowed_methods=frozenset({"GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS", "HEAD"}),
62
+ raise_on_status=False
63
+ )
64
+ adapter = HTTPAdapter(max_retries=retries)
65
+ http_session.mount("http://", adapter)
66
+ http_session.mount("https://", adapter)
67
+ http_session.headers.update({"Connection": "keep-alive"})
68
+ return http_session
69
+
70
+ def request(
71
+ self,
72
+ endpoint: str,
73
+ payload: Dict[str, Any] | None = None,
74
+ headers: Dict[str, str] | None = None,
75
+ path_params: Dict[str, str] | None = None,
76
+ query_params: Dict[str, str] | None = None,
77
+ ) -> requests.Response:
78
+ """
79
+ Send a request to the service endpoint.
80
+ """
81
+ url, method = self._prepare_url(endpoint, path_params, query_params)
82
+ request_headers = self._prepare_headers(headers)
83
+ return self.http_session.request(method, url, json=payload, headers=request_headers)
84
+
85
+ def _prepare_url(self, endpoint: str, path_params: Dict[str, str] | None = None, query_params: Dict[str, str] | None = None) -> Tuple[str, str]:
86
+ try:
87
+ ep = self.endpoints[endpoint]
88
+ except KeyError:
89
+ raise ValueError(f"Invalid endpoint: {endpoint}. Available endpoints: {list(self.endpoints.keys())}")
90
+ url = f"{self.service_endpoint}{ep.endpoint}"
91
+ if path_params:
92
+ escaped_path_params = {k: quote(v, safe='') for k, v in path_params.items()}
93
+ url = url.format(**escaped_path_params)
94
+ if query_params:
95
+ url += '?' + urlencode(query_params)
96
+ return url, ep.method
97
+
98
+ def _prepare_headers(self, headers: Dict[str, str] | None) -> Dict[str, str]:
99
+ request_headers = {}
100
+ if headers:
101
+ request_headers.update(headers)
102
+ # Authorization tokens are not needed in a snowflake notebook environment
103
+ if not self._is_snowflake_notebook:
104
+ request_headers["Authorization"] = f'Snowflake Token="{self._token_handler.get_ingress_token(self.service_endpoint)}"'
105
+ # needed for oauth, does no harm for other authentication methods
106
+ request_headers["X-SF-SPCS-Authentication-Method"] = 'OAUTH'
107
+ request_headers["Content-Type"] = 'application/x-www-form-urlencoded'
108
+ request_headers["Accept"] = "application/json"
109
+
110
+ request_headers["user-agent"] = get_pyrel_version(self.generation)
111
+ request_headers["pyrel_program_id"] = debugging.get_program_span_id() or ""
112
+
113
+ return debugging.add_current_propagation_headers(request_headers)