relationalai 0.12.13__py3-none-any.whl → 0.13.0__py3-none-any.whl

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 (49) hide show
  1. relationalai/__init__.py +69 -22
  2. relationalai/clients/__init__.py +15 -2
  3. relationalai/clients/client.py +4 -4
  4. relationalai/clients/local.py +5 -5
  5. relationalai/clients/resources/__init__.py +8 -0
  6. relationalai/clients/{azure.py → resources/azure/azure.py} +12 -12
  7. relationalai/clients/resources/snowflake/__init__.py +20 -0
  8. relationalai/clients/resources/snowflake/cli_resources.py +87 -0
  9. relationalai/clients/resources/snowflake/direct_access_resources.py +711 -0
  10. relationalai/clients/resources/snowflake/engine_state_handlers.py +309 -0
  11. relationalai/clients/resources/snowflake/error_handlers.py +199 -0
  12. relationalai/clients/{export_procedure.py.jinja → resources/snowflake/export_procedure.py.jinja} +1 -1
  13. relationalai/clients/resources/snowflake/resources_factory.py +99 -0
  14. relationalai/clients/{snowflake.py → resources/snowflake/snowflake.py} +606 -1392
  15. relationalai/clients/{use_index_poller.py → resources/snowflake/use_index_poller.py} +43 -12
  16. relationalai/clients/resources/snowflake/use_index_resources.py +188 -0
  17. relationalai/clients/resources/snowflake/util.py +387 -0
  18. relationalai/early_access/dsl/ir/executor.py +4 -4
  19. relationalai/early_access/dsl/snow/api.py +2 -1
  20. relationalai/errors.py +23 -0
  21. relationalai/experimental/solvers.py +7 -7
  22. relationalai/semantics/devtools/benchmark_lqp.py +4 -5
  23. relationalai/semantics/devtools/extract_lqp.py +1 -1
  24. relationalai/semantics/internal/internal.py +4 -4
  25. relationalai/semantics/internal/snowflake.py +3 -2
  26. relationalai/semantics/lqp/executor.py +22 -22
  27. relationalai/semantics/lqp/model2lqp.py +42 -4
  28. relationalai/semantics/lqp/passes.py +1 -1
  29. relationalai/semantics/lqp/rewrite/cdc.py +1 -1
  30. relationalai/semantics/lqp/rewrite/extract_keys.py +72 -15
  31. relationalai/semantics/metamodel/builtins.py +8 -6
  32. relationalai/semantics/metamodel/rewrite/flatten.py +9 -4
  33. relationalai/semantics/metamodel/util.py +6 -5
  34. relationalai/semantics/reasoners/graph/core.py +8 -9
  35. relationalai/semantics/rel/executor.py +14 -11
  36. relationalai/semantics/sql/compiler.py +2 -2
  37. relationalai/semantics/sql/executor/snowflake.py +9 -5
  38. relationalai/semantics/tests/test_snapshot_abstract.py +1 -1
  39. relationalai/tools/cli.py +26 -30
  40. relationalai/tools/cli_helpers.py +10 -2
  41. relationalai/util/otel_configuration.py +2 -1
  42. relationalai/util/otel_handler.py +1 -1
  43. {relationalai-0.12.13.dist-info → relationalai-0.13.0.dist-info}/METADATA +1 -1
  44. {relationalai-0.12.13.dist-info → relationalai-0.13.0.dist-info}/RECORD +49 -40
  45. relationalai_test_util/fixtures.py +2 -1
  46. /relationalai/clients/{cache_store.py → resources/snowflake/cache_store.py} +0 -0
  47. {relationalai-0.12.13.dist-info → relationalai-0.13.0.dist-info}/WHEEL +0 -0
  48. {relationalai-0.12.13.dist-info → relationalai-0.13.0.dist-info}/entry_points.txt +0 -0
  49. {relationalai-0.12.13.dist-info → relationalai-0.13.0.dist-info}/licenses/LICENSE +0 -0
relationalai/tools/cli.py CHANGED
@@ -27,7 +27,9 @@ from relationalai.loaders.loader import Loader, rel_schema_to_type
27
27
  from ..clients.types import ImportSource, ImportSourceFile, ImportSourceTable
28
28
  from ..clients.client import ResourcesBase
29
29
  from ..tools import debugger as deb, qb_debugger as qb_deb
30
- from ..clients import config, snowflake
30
+ from ..clients import config
31
+ from relationalai.tools.constants import RAI_APP_NAME
32
+ from relationalai.clients.resources.snowflake.cli_resources import CLIResources
31
33
  from relationalai.tools.cli_helpers import (
32
34
  EMPTY_STRING_REGEX,
33
35
  ENGINE_NAME_ERROR,
@@ -337,7 +339,7 @@ def check_snowflake_connections_flow(cfg:config.Config):
337
339
  return True
338
340
 
339
341
  def role_flow(provider:ResourcesBase, cfg:config.Config):
340
- roles = cast(snowflake.Resources, provider).list_roles()
342
+ roles = cast(CLIResources, provider).list_roles()
341
343
  result = controls.fuzzy_with_refetch(
342
344
  "Select a role:",
343
345
  "roles",
@@ -355,7 +357,7 @@ def warehouse_flow(provider:ResourcesBase, cfg:config.Config):
355
357
  result = controls.fuzzy_with_refetch(
356
358
  "Select a warehouse:",
357
359
  "warehouses",
358
- lambda: [w["name"] for w in cast(snowflake.Resources, provider).list_warehouses()],
360
+ lambda: [w["name"] for w in cast(CLIResources, provider).list_warehouses()],
359
361
  default=cfg.get("warehouse", None),
360
362
  )
361
363
  if not result or isinstance(result, Exception):
@@ -367,12 +369,12 @@ def warehouse_flow(provider:ResourcesBase, cfg:config.Config):
367
369
  def rai_app_flow(provider:ResourcesBase, cfg:config.Config):
368
370
  auto_select = None
369
371
  if provider.config.get("platform") == "snowflake":
370
- auto_select=snowflake.RAI_APP_NAME
372
+ auto_select=RAI_APP_NAME
371
373
 
372
374
  result = controls.fuzzy_with_refetch(
373
375
  "Select RelationalAI app name:",
374
376
  "apps",
375
- lambda: [w["name"] for w in cast(snowflake.Resources, provider).list_apps()],
377
+ lambda: [w["name"] for w in cast(CLIResources, provider).list_apps()],
376
378
  default=cfg.get("rai_app_name", None),
377
379
  auto_select=auto_select
378
380
  )
@@ -454,7 +456,8 @@ def name_profile_flow(cfg: config.Config):
454
456
  )
455
457
  return name_profile_flow(cfg)
456
458
  config_store = ConfigStore()
457
- if profile in config_store.get_profiles():
459
+ profiles = config_store.get_profiles() or {}
460
+ if profile in profiles:
458
461
  overwrite = controls.confirm(f"[yellow]Overwrite existing {profile} profile?")
459
462
  if overwrite:
460
463
  return profile
@@ -464,7 +467,8 @@ def name_profile_flow(cfg: config.Config):
464
467
 
465
468
  def save_flow(cfg:config.Config):
466
469
  config_store = ConfigStore()
467
- if cfg.profile != PARTIAL_PROFILE_NAME and cfg.profile in config_store.get_profiles():
470
+ profiles = config_store.get_profiles() or {}
471
+ if cfg.profile != PARTIAL_PROFILE_NAME and cfg.profile in profiles:
468
472
  if not controls.confirm(f"Overwrite existing {cfg.profile} profile"):
469
473
  rich.print()
470
474
  profile_name = controls.text("Profile name:")
@@ -570,7 +574,7 @@ def profile_switch(profile:str|None=None):
570
574
  rich.print(f"\n[yellow]Error: {e}")
571
575
  pass
572
576
 
573
- profiles = list(config_store.get_profiles().keys())
577
+ profiles = list((config_store.get_profiles() or {}).keys())
574
578
  divider()
575
579
  if not profile:
576
580
  if len(profiles) == 0:
@@ -672,7 +676,8 @@ def config_explain(profile:str|None=None, all_profiles:bool=False):
672
676
  ))
673
677
 
674
678
  if all_profiles:
675
- for profile, props in config_store.get_profiles().items():
679
+ profiles = config_store.get_profiles() or {}
680
+ for profile, props in profiles.items():
676
681
  if profile == cfg.profile:
677
682
  continue
678
683
  if len(props):
@@ -872,7 +877,6 @@ def engines_get(name:str|None=None):
872
877
  def create_engine_flow(cfg:config.Config, name=None, size=None, auto_suspend_mins=None):
873
878
  provider = get_resource_provider(None, cfg)
874
879
  engine = None
875
- create_exception = None
876
880
  is_engine_present = False
877
881
  is_engine_suspended = False
878
882
  is_interactive = name is None or size is None
@@ -957,15 +961,7 @@ def create_engine_flow(cfg:config.Config, name=None, size=None, auto_suspend_min
957
961
  f"Engine '{name}' created!",
958
962
  failed_message="Error:"
959
963
  ):
960
- try:
961
- provider.create_engine(name, size, auto_suspend_mins)
962
- except Exception as e:
963
- create_exception = e
964
- # We do not want to print the success context message if the engine creation fails
965
- # Since we are raising here and passing a "fail_message", the spinner will print the actual error message
966
- raise e
967
- if isinstance(create_exception, Exception):
968
- exit_with_error(f"[yellow]{create_exception}")
964
+ provider.create_engine(name, size, auto_suspend_mins)
969
965
  return name
970
966
 
971
967
  @cli.command(name="engines:create", help="Create a new engine")
@@ -1164,19 +1160,19 @@ def engines_alter_pool(size:str|None=None, min:int|None=None, max:int|None=None)
1164
1160
  def import_source_flow(provider: ResourcesBase) -> Sequence[ImportSource]:
1165
1161
  provider_type = type(provider)
1166
1162
 
1167
- if isinstance(provider, snowflake.Resources):
1163
+ if isinstance(provider, CLIResources):
1168
1164
  return snowflake_import_source_flow(provider)
1169
1165
  else:
1170
1166
  # Lazy import for azure to avoid optional dependency issues
1171
1167
  try:
1172
- from relationalai.clients import azure
1173
- if isinstance(provider, azure.Resources):
1168
+ from relationalai.clients.resources.azure.azure import Resources as AzureResources
1169
+ if isinstance(provider, AzureResources):
1174
1170
  return azure_import_source_flow(provider)
1175
1171
  except ImportError:
1176
1172
  pass
1177
1173
  raise Exception(f"No import source flow available for {provider_type.__module__}.{provider_type.__name__}")
1178
1174
 
1179
- def snowflake_import_source_flow(provider: snowflake.Resources) -> Sequence[ImportSource]:
1175
+ def snowflake_import_source_flow(provider: CLIResources) -> Sequence[ImportSource]:
1180
1176
  with Spinner("Fetching databases", "Databases fetched"):
1181
1177
  try:
1182
1178
  dbs = provider.list_databases()
@@ -1227,7 +1223,7 @@ def azure_import_source_flow(provider: azure.Resources) -> Sequence[ImportSource
1227
1223
 
1228
1224
  def import_source_options_flow(provider: ResourcesBase, source: ImportSource, default_options:dict) -> dict:
1229
1225
  if isinstance(source, ImportSourceFile):
1230
- type: LoadType = default_options.get("type", None)
1226
+ type: LoadType | None = default_options.get("type", None)
1231
1227
  if type is None or type == "auto":
1232
1228
  type = Loader.get_type_for(source)
1233
1229
  if type == "csv":
@@ -1329,7 +1325,7 @@ def parse_source(provider: ResourcesBase, raw: str) -> ImportSource:
1329
1325
  def imports_setup(engine_size:str|None=None, resume:bool=False, suspend:bool=False):
1330
1326
  divider(flush=True)
1331
1327
  ensure_config()
1332
- provider = get_resource_provider()
1328
+ provider = cast(CLIResources, get_resource_provider())
1333
1329
  data = None
1334
1330
 
1335
1331
  if resume or suspend:
@@ -1394,7 +1390,7 @@ def imports_setup(engine_size:str|None=None, resume:bool=False, suspend:bool=Fal
1394
1390
  def imports_get(id:str|None=None):
1395
1391
  divider(flush=True)
1396
1392
  ensure_config()
1397
- provider = get_resource_provider()
1393
+ provider = cast(CLIResources, get_resource_provider())
1398
1394
  import_streams = []
1399
1395
  import_response = []
1400
1396
  with Spinner("Fetching imports", "Imports fetched", "Error:"):
@@ -1567,7 +1563,7 @@ def imports_stream(
1567
1563
  ):
1568
1564
  divider(flush=True)
1569
1565
  ensure_config()
1570
- provider = get_resource_provider()
1566
+ provider = cast(CLIResources, get_resource_provider())
1571
1567
  default_options = ImportOptionsType.reduce(options)
1572
1568
 
1573
1569
  # Resume or suspend import stream
@@ -1713,7 +1709,7 @@ def imports_snapshot(source:str|None, model:str|None, name:str|None, type:str|No
1713
1709
  def imports_delete(object, model, force):
1714
1710
  divider(flush=True)
1715
1711
  ensure_config()
1716
- provider = cast(snowflake.Resources, get_resource_provider())
1712
+ provider = cast(CLIResources, get_resource_provider())
1717
1713
  if not model:
1718
1714
  with Spinner("Fetching models", "Models fetched"):
1719
1715
  try:
@@ -1768,7 +1764,7 @@ def imports_delete(object, model, force):
1768
1764
  def exports_list(model):
1769
1765
  divider(flush=True)
1770
1766
  ensure_config()
1771
- provider = cast(snowflake.Resources, get_resource_provider())
1767
+ provider = cast(CLIResources, get_resource_provider())
1772
1768
  coming_soon()
1773
1769
  if not model:
1774
1770
  with Spinner("Fetching models", "Models fetched"):
@@ -1810,7 +1806,7 @@ def exports_list(model):
1810
1806
  def exports_delete(export, model):
1811
1807
  divider(flush=True)
1812
1808
  ensure_config()
1813
- provider = cast(snowflake.Resources, get_resource_provider())
1809
+ provider = cast(CLIResources, get_resource_provider())
1814
1810
  coming_soon()
1815
1811
  if not model:
1816
1812
  with Spinner("Fetching models", "Models fetched"):
@@ -11,7 +11,6 @@ import functools
11
11
  import pytz
12
12
 
13
13
  from relationalai.util.constants import TOP_LEVEL_PROFILE_NAME
14
- from .. import Resources
15
14
  from rich.table import Table
16
15
  from typing import Callable, Dict, Any
17
16
  from ..clients import config
@@ -39,7 +38,16 @@ def get_config(profile:str|Dict[str, Any]|None = None):
39
38
  @functools.cache
40
39
  def get_resource_provider(platform:str|None=None, _cfg:config.Config|None = None) -> ResourcesBase:
41
40
  cfg = _cfg or get_config()
42
- provider = Resources(config=cfg)
41
+ platform = platform or cfg.get("platform", "snowflake")
42
+ if platform == "snowflake":
43
+ from relationalai.clients.resources.snowflake.cli_resources import CLIResources
44
+ provider = CLIResources(config=cfg)
45
+ elif platform == "azure":
46
+ from relationalai.clients.resources.azure.azure import Resources
47
+ provider = Resources(config=cfg)
48
+ else:
49
+ from .. import Resources
50
+ provider = Resources(config=cfg)
43
51
  return provider
44
52
 
45
53
  def unexpand_user_path(path):
@@ -1,7 +1,8 @@
1
1
  from typing import cast
2
2
 
3
3
  from relationalai.clients.config import Config
4
- from relationalai.clients.snowflake import Resources, ResourcesBase
4
+ from relationalai.clients.resources.snowflake import Resources
5
+ from relationalai.clients.client import ResourcesBase
5
6
  from relationalai.environments import runtime_env, SnowbookEnvironment
6
7
 
7
8
  def configure_otel(enable_otel_handler: bool, config: Config, resources: ResourcesBase):
@@ -17,7 +17,7 @@ from relationalai.util.span_tracker import record_is_span, get_span_path_as_str
17
17
  from relationalai.util.span_tracker import get_span_allowed_attributes_values, get_span_value_from_key
18
18
  from relationalai.debugging import logger, Span, filter_span_attrs, otel_traceid_to_opentracing, get_current_span
19
19
 
20
- from relationalai.clients.snowflake import Resources
20
+ from relationalai.clients.resources.snowflake import Resources
21
21
 
22
22
  MAX_PAYLOAD_SIZE = 25*1024 # 25KB
23
23
  MAX_ATTRIBUTE_LENGTH = 1000
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: relationalai
3
- Version: 0.12.13
3
+ Version: 0.13.0
4
4
  Summary: RelationalAI Library and CLI
5
5
  Author-email: RelationalAI <support@relational.ai>
6
6
  License-File: LICENSE
@@ -1,10 +1,10 @@
1
- relationalai/__init__.py,sha256=TxQjYI8QhbHBXvQa4ktMlBbFbgMqGd0-KrlYPvB334Q,8146
1
+ relationalai/__init__.py,sha256=GCSkhHArhDIdRvQHvdkJLs_d3PheeWfD1xJ-IRnaHA8,10397
2
2
  relationalai/compiler.py,sha256=5LZY8AyqadkTLSe_xoJ3J9iXOmetz5YQn9EjJKk8XeQ,6411
3
3
  relationalai/debugging.py,sha256=wqGly2Yji4ErdV9F_S1Bny35SiGqI3C7S-hap7B8yUs,11997
4
4
  relationalai/dependencies.py,sha256=tL113efcISkJUiDXYHmRdU_usdD7gmee-VRHA7N4EFA,16574
5
5
  relationalai/docutils.py,sha256=1gVv9mk0ytdMB2W7_NvslJefmSQtTOg8LHTCDcGCjyE,1554
6
6
  relationalai/dsl.py,sha256=UJr93X8kwnnyUY-kjPzp_jhsp2pYBUnDfu8mhNXPNII,66116
7
- relationalai/errors.py,sha256=ERyVg5SJd3O689QSnp-rtbBCLUB3Bbcp5VgkRX1HZzg,94948
7
+ relationalai/errors.py,sha256=JeYaycLGFeT0jidSMERGkpN02zswW5TGrIV647robmw,95973
8
8
  relationalai/metagen.py,sha256=o10PNvR_myr_61DC8g6lkB093bFo9qXGUkZKgKyfXiE,26821
9
9
  relationalai/metamodel.py,sha256=P1hliwHd1nYxbXON4LZeaYZD6T6pZm97HgmFBFrWyCk,32886
10
10
  relationalai/rel.py,sha256=ePmAXx4NxOdsPcHNHyGH3Jkp_cB3QzfKu5p_EQSHPh0,38293
@@ -18,21 +18,30 @@ relationalai/auth/jwt_generator.py,sha256=bQY2-EhvKcidamWB4tiRO8VVl_5bH0GC9Y6ySH
18
18
  relationalai/auth/oauth_callback_server.py,sha256=vbcpz77n_WKMDZ4sac6IYyrpxScR0DHlf5VFHMwjHGg,3908
19
19
  relationalai/auth/token_handler.py,sha256=d5aueGEiK6BmzkxSab3reCdkhtjdphb0CeecyvvNaQU,19443
20
20
  relationalai/auth/util.py,sha256=oXOUwW5gaBhEV5v5A-q2ME1VnfjfRWswvRlXW4oBYpk,1116
21
- relationalai/clients/__init__.py,sha256=-LHT6vQmleYqAaNerV0OdHy56-s4nxFSmZFsQXfgnrI,318
22
- relationalai/clients/azure.py,sha256=6tYHxKVN2fHMIDV7J_EHZD9WntkYh2IreMRMqlq1Bhg,20634
23
- relationalai/clients/cache_store.py,sha256=A-qd11wcwN3TkIqvlN0_iFUU3aEjJal3T2pqFBwkkzQ,3966
24
- relationalai/clients/client.py,sha256=4SSunUwuFEcRFXOPYotpSLDPr0CKuwJ4335W0DesR90,35792
21
+ relationalai/clients/__init__.py,sha256=LQ_yHsutRMpoW2mOTmOPGF8mrbP0OiV5E68t8uVwDyQ,833
22
+ relationalai/clients/client.py,sha256=gk_V9KS7_MM2dLL2OCO7EPLHD9dsRwR6R-30SW8lDwU,35759
25
23
  relationalai/clients/config.py,sha256=hERaKjc3l4kd-kf0l-NUOHrWunCn8gmFWpuE0j3ScJg,24457
26
24
  relationalai/clients/direct_access_client.py,sha256=VGjQ7wzduxCo04BkxSZjlPAgqK-aBc32zIXcMfAzzSU,6436
27
- relationalai/clients/export_procedure.py.jinja,sha256=nhvVcs5hQyWExFDuROQbi1VyYzOCa_ZIRPR2KzZwDtI,10582
28
25
  relationalai/clients/hash_util.py,sha256=pZVR1FX3q4G_19p_r6wpIR2tIM8_WUlfAR7AVZJjIYM,1495
29
- relationalai/clients/local.py,sha256=uX1Or2WO0juDuqa6TCCvm3G2ieP6p0PtYp_jfrCMlVc,23577
26
+ relationalai/clients/local.py,sha256=vo5ikSWg38l3xQAh9yL--4sMAj_T5Tn7YEZiw7TCH08,23504
30
27
  relationalai/clients/profile_polling.py,sha256=pUH7WKH4nYDD0SlQtg3wsWdj0K7qt6nZqUw8jTthCBs,2565
31
28
  relationalai/clients/result_helpers.py,sha256=wDSD02Ngx6W-YQqBIGKnpXD4Ju3pA1e9Nz6ORRI6SRI,17808
32
- relationalai/clients/snowflake.py,sha256=pB_4t70vTmfGPUJnJpbrrsNH5pojPJyqodsMtUL6b9c,168261
33
29
  relationalai/clients/types.py,sha256=eNo6akcMTbnBFbBbHd5IgVeY-zuAgtXlOs8Bo1SWmVU,2890
34
- relationalai/clients/use_index_poller.py,sha256=rrkg35xiHqY0-2dZlPkgixEGENrIrl7bf_2TboX_qew,46794
35
30
  relationalai/clients/util.py,sha256=NJC8fnrWHR01NydwESPSetIHRWf7jQJURYpaWJjmDyE,12311
31
+ relationalai/clients/resources/__init__.py,sha256=pymn8gB86Q3C2bVoFei0KAL8pX_U04uDY9TE4TKzTBs,260
32
+ relationalai/clients/resources/azure/azure.py,sha256=TDapfM5rLoHrPrXg5cUe827m3AO0gSqQjNid1VUlUFo,20631
33
+ relationalai/clients/resources/snowflake/__init__.py,sha256=9VR-hSIw4ZSEWisKcWhNEcRVBmBfueXNCTOOfLt-8rs,871
34
+ relationalai/clients/resources/snowflake/cache_store.py,sha256=A-qd11wcwN3TkIqvlN0_iFUU3aEjJal3T2pqFBwkkzQ,3966
35
+ relationalai/clients/resources/snowflake/cli_resources.py,sha256=xTIcCzvgbkxuNAEvzZoRpj0n-js0hZCK30q7IZXztbI,3252
36
+ relationalai/clients/resources/snowflake/direct_access_resources.py,sha256=Xvh1e6TxUW2dTSS-9HadrfWVKrxNQ5GikqM4yjohJkM,29849
37
+ relationalai/clients/resources/snowflake/engine_state_handlers.py,sha256=SQBu4GfbyABU6xrEV-koivC-ubsVrfCBTF0FEQgJM5g,12054
38
+ relationalai/clients/resources/snowflake/error_handlers.py,sha256=581G2xOihUoiPlucC_Z2FOzhKu_swdIc3uORd0yJQuA,8805
39
+ relationalai/clients/resources/snowflake/export_procedure.py.jinja,sha256=00iLO2qmvJoqAeJUWt3bAsFDDnof7Ab2spggzelbwK4,10566
40
+ relationalai/clients/resources/snowflake/resources_factory.py,sha256=4LGd4IQ6z8hGeGlO1TIjSFJEeUNHutaB7j9q1a9rYfQ,3385
41
+ relationalai/clients/resources/snowflake/snowflake.py,sha256=kWs7W_jsf_iy2N0VO5Uqu9VHXsbH2rQghPn1s5-9GAg,133037
42
+ relationalai/clients/resources/snowflake/use_index_poller.py,sha256=gMcfILcpD1-wkJ0C1rGZQSy1oZBq6Gm8x9N7jdgEkhA,48448
43
+ relationalai/clients/resources/snowflake/use_index_resources.py,sha256=69PNWHI_uf-Aw_evfwC6j8HLVdjhp84vs8hLkjnhwbg,6462
44
+ relationalai/clients/resources/snowflake/util.py,sha256=BEnm1B1-nqqHdm41RNxblbb-zqXbtqEGGZmTdAYeN_M,13841
36
45
  relationalai/early_access/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
46
  relationalai/early_access/builder/__init__.py,sha256=mrR-aGLPquUGc_e9-DOkVCCCo8QRE5A56GTTtgILNa4,993
38
47
  relationalai/early_access/builder/builder/__init__.py,sha256=QOVGGdEf-5OirBLjY75W4ANiqGKDknwAAl3YUFEzHVI,1462
@@ -109,7 +118,7 @@ relationalai/early_access/dsl/core/types/constrained/nominal.py,sha256=FsDzuvJgb
109
118
  relationalai/early_access/dsl/core/types/constrained/subtype.py,sha256=thEUF3sFpcdlvKdDxl-xNfF1SePOXUva3GRw0nGxsAY,4305
110
119
  relationalai/early_access/dsl/ir/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
120
  relationalai/early_access/dsl/ir/compiler.py,sha256=ZU30sfkneBKi3qB3tCY-6xY9Nv8nHsV9dAfNKocj4Hs,15259
112
- relationalai/early_access/dsl/ir/executor.py,sha256=C9c99vsN6NnDIxE2fLILCvY0ooEHSlZd0g78wKvOow0,12164
121
+ relationalai/early_access/dsl/ir/executor.py,sha256=sct6dS7Ewk37C5Up8TAvth1UlIKde6YwMKFI5h2pobw,12205
113
122
  relationalai/early_access/dsl/ontologies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
123
  relationalai/early_access/dsl/ontologies/constraints.py,sha256=HEQowcD6vFt0WApCmIQ_6mW3Iow_qODi1WpDtnvfYkQ,2423
115
124
  relationalai/early_access/dsl/ontologies/export.py,sha256=VJB1n7tjs0-fOBgmLFcRdnR2YRrIHESqob11uS6-KGI,987
@@ -152,7 +161,7 @@ relationalai/early_access/dsl/serialize/binding_model.py,sha256=RvfUUnTjjmtWwDxK
152
161
  relationalai/early_access/dsl/serialize/exporter.py,sha256=Z7AO8QNw754uilRq_T7y-LbVW6jb1KHz0Xm1Dxr0ZEM,8009
153
162
  relationalai/early_access/dsl/serialize/model.py,sha256=bIzNuw5hV4iPyUZIPTWdG6BevAtl9RnhNW_cymSk7zU,2378
154
163
  relationalai/early_access/dsl/snow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
- relationalai/early_access/dsl/snow/api.py,sha256=te2A3U8rfr59R5_PKZQ8O_c4-tdxkuwz4XHU7Pbb9-w,4323
164
+ relationalai/early_access/dsl/snow/api.py,sha256=KDOKX0tF6EAj83p290fYDfoYrXK-VYUwcHVNBvieH8I,4363
156
165
  relationalai/early_access/dsl/snow/common.py,sha256=bwUt7z4XgTT3jhPeLlsz6SlZ1YCZDypEHbxQ72PiWfA,2166
157
166
  relationalai/early_access/dsl/state_mgmt/__init__.py,sha256=v0dbwg7eGYTcLKuBl5QDAUpN_IAFipBfIVituzBsuk8,4333
158
167
  relationalai/early_access/dsl/state_mgmt/state_charts.py,sha256=GmUg-sJk741RRwJEH_wY5cwJdod9EzeEpp7s__cGrZA,4048
@@ -212,7 +221,7 @@ relationalai/experimental/SF.py,sha256=cLIPCgTa6yCkmAU4zw3o2OlSM_Sl8ah3JUpHVoHzr
212
221
  relationalai/experimental/__init__.py,sha256=alaOJulJ9YHRl4WGyQ3Kzxhrpc2gP542oNheWXzs7NQ,74
213
222
  relationalai/experimental/graphs.py,sha256=vJQ_8ZF_Q2pL-w1xI4O22VGqbnTDimkkqTNqqIkGL7c,3521
214
223
  relationalai/experimental/inspect.py,sha256=jpk_xl_bWRcX96xVrHsex-YE3sTqa-W2b5IjGXoxeWk,1635
215
- relationalai/experimental/solvers.py,sha256=qN35ju-qs5zI_CZlcx9nCFSVr4XDKS8IZ7JzRxztzpM,43316
224
+ relationalai/experimental/solvers.py,sha256=8unvFvzZdRoP0DlHhJvrUFBPvyfXoiqpV3vlZHb3a1Y,43440
216
225
  relationalai/experimental/pathfinder/__init__.py,sha256=wzF7zzl5Cvp2CkFaPpY2VU-Tg7I03wvxGq7kp8FVvU0,5429
217
226
  relationalai/experimental/pathfinder/api.py,sha256=HT6PAt5gszgJhbnqsHACzZrr9ps9kwcHYu9Nf2EYtTA,4235
218
227
  relationalai/experimental/pathfinder/automaton.py,sha256=Z_TYjf5j89-48rxjxl0jV9Q0BR4VhV9cKRTFES7c1t0,21898
@@ -298,23 +307,23 @@ relationalai/loaders/types.py,sha256=w4kvPMpuRoz2ckOCakHrSvtXLetVsQHLi4V3up8hzig
298
307
  relationalai/semantics/__init__.py,sha256=SnJCjUGj-y9e5-75jxLsiZRM_xLmhOVaZwmgxtscinI,935
299
308
  relationalai/semantics/designs/query_builder/identify_by.md,sha256=AsbusFqT6YB44-iEGfuH4GVOxf1ZjxkpFovvWPMJHuI,4877
300
309
  relationalai/semantics/devtools/__init__.py,sha256=hckMw2EtrVBiE71ABXX8bWPdI-6DV9uHqkhYG_nl8S4,85
301
- relationalai/semantics/devtools/benchmark_lqp.py,sha256=btySKVtUUNBuPY-l6DrkbRNlvZcNXrKUqdvo_Hqsc98,21242
310
+ relationalai/semantics/devtools/benchmark_lqp.py,sha256=VjusVXpyp5u6jEEDoAOISi9A2ALA-DoxBNUmI3t8i9o,21239
302
311
  relationalai/semantics/devtools/compilation_manager.py,sha256=XBqG_nYWtK3s_J6MeCmkLqy3qm7l778zDAhH7DEO91g,11169
303
- relationalai/semantics/devtools/extract_lqp.py,sha256=gxI3EvPUTPAkwgnkCKAkEm2vA6QkLfoM8AXXiVz0c34,3696
312
+ relationalai/semantics/devtools/extract_lqp.py,sha256=uy1R27IA3sNikv6YWtRwZM1wFdMZpH_K_Z6vQX3MkeY,3706
304
313
  relationalai/semantics/internal/__init__.py,sha256=BS0WE1GbT-HpQ5p_zMr9Fcvph562WMvMQNI9czfKNt0,798
305
314
  relationalai/semantics/internal/annotations.py,sha256=PkrRN-gHO2ksh1hDKB1VVIB39dONvLdTd8_Y0rCR3fE,367
306
- relationalai/semantics/internal/internal.py,sha256=U3FV4jgWRJGFPk7ZwPzOQl_YMHcwBFH6kXrxJNs5OjA,150750
307
- relationalai/semantics/internal/snowflake.py,sha256=8D6WYDFKtt8R-sc9o1Oxgtl6Xwehs2Txw_lKNBid7UA,13467
315
+ relationalai/semantics/internal/internal.py,sha256=6sQ9U53zrA9vCdADs3OtmuFwOJG-0LLBAdFf6-kK5mY,150782
316
+ relationalai/semantics/internal/snowflake.py,sha256=yziGDkRMZV-IuRf6qDIm6QzBuQQi0IWy8NLiksTtfMg,13571
308
317
  relationalai/semantics/lqp/README.md,sha256=9DsEL81q5z49YteGzLPBs_HhpZS1vO--MOBlQpCkI_Q,1116
309
318
  relationalai/semantics/lqp/__init__.py,sha256=XgcQZxK-zz_LqPDVtwREhsIvjTuUIt4BZhIedCeMY-s,48
310
319
  relationalai/semantics/lqp/builtins.py,sha256=IWRYJ1J-HGEQqBn8QVOyjZvgEiq6W9tZ0nBLdHz5wjA,576
311
320
  relationalai/semantics/lqp/compiler.py,sha256=oOGlN03NVvltKN5KSDOqvb0TsAER_igUe9CnOcHAuoY,943
312
321
  relationalai/semantics/lqp/constructors.py,sha256=bGFUv3tLCJD8lGOSGRAPntTBOgczio96_Gn49YoHpl0,2363
313
- relationalai/semantics/lqp/executor.py,sha256=GuPiSJpLaMYqjZOlVEFLOUilyuLcfkQgZ62UoxMpvtM,21597
322
+ relationalai/semantics/lqp/executor.py,sha256=ibxdY62gTZb6SptcgX86mgPengtxksHqkVXQo-qEERE,21496
314
323
  relationalai/semantics/lqp/intrinsics.py,sha256=oKPIcW8PYgU-yPTO21iSF00RBsFKPFFP5MICe6izjKk,871
315
324
  relationalai/semantics/lqp/ir.py,sha256=6W9mUH0W7u5eIfF1S3o33uSOfQuM3UcqEkxrxpr1X_8,1867
316
- relationalai/semantics/lqp/model2lqp.py,sha256=PTe2PtHioWAclu6tdkCu5iGaHJxPIe7zIG1Ew72qxDo,36957
317
- relationalai/semantics/lqp/passes.py,sha256=bpRCdssqcSlVw77tam6EIjI0BypDoFKGWJix8dTywhU,28621
325
+ relationalai/semantics/lqp/model2lqp.py,sha256=_Udn0SFBu35BOlH__Tc4reXBDiz-izMxP1D6qKfQ7-g,38606
326
+ relationalai/semantics/lqp/passes.py,sha256=ApNFT3R4TmeZzRpNmmm8K9Rl2h6R1T92ioXQPjh8NVc,28631
318
327
  relationalai/semantics/lqp/pragmas.py,sha256=FzzldrJEAZ1AIcEw6D-FfaVg3CoahRYgPCFo7xHfg1g,375
319
328
  relationalai/semantics/lqp/primitives.py,sha256=9Hjow-Yp06jt0xatuUrH1dw0ErnzknIr9K0TB_AwdjU,11029
320
329
  relationalai/semantics/lqp/result_helpers.py,sha256=oYpLoTBnzsiyOVIWA2rLMHlgs7P7BoEkqthQ2aMosnk,10123
@@ -323,15 +332,15 @@ relationalai/semantics/lqp/utils.py,sha256=iOoS-f8kyFjrgAnpK4cWDvAA-WmPgDRggSKUX
323
332
  relationalai/semantics/lqp/validators.py,sha256=FlKMKclHj0L71QUtl0aqKknqksSWM-di4N9bjGDJvnY,1561
324
333
  relationalai/semantics/lqp/rewrite/__init__.py,sha256=V9ERED9qdh4VvY9Ud_M8Zn8lhVANdOGIgW03l55sGj0,492
325
334
  relationalai/semantics/lqp/rewrite/annotate_constraints.py,sha256=b_Ly4_80dQpRzWbeLC72JVfxzhwOPBpiCdEqtBiEiwM,2310
326
- relationalai/semantics/lqp/rewrite/cdc.py,sha256=I6DeMOZScx-3UAVoSCMn9cuOgLzwdvJVKNwsgFa6R_k,10390
335
+ relationalai/semantics/lqp/rewrite/cdc.py,sha256=8By-BrsayAWYxvrOcoqQ9w0-Nj4KQnaRH8haiog0-4o,10400
327
336
  relationalai/semantics/lqp/rewrite/extract_common.py,sha256=ZRvmeYHN8JEkU-j3fRx1e0_JK-46n6NqhxtwZe6L10c,14690
328
- relationalai/semantics/lqp/rewrite/extract_keys.py,sha256=iSbwGQG9p8j-erknEwl2pZkunJEpXTlnL9ohr4KVS8M,19317
337
+ relationalai/semantics/lqp/rewrite/extract_keys.py,sha256=gC-AkDA4DpqpFkXYc3u-LExbK6e79SrSxs5G6-TEb58,21797
329
338
  relationalai/semantics/lqp/rewrite/function_annotations.py,sha256=9ZzLASvXh_OgQ04eup0AyoMIh2HxWHkoRETLm1-XtWs,4660
330
339
  relationalai/semantics/lqp/rewrite/functional_dependencies.py,sha256=4oQcVQtAGDqY850B1bNszigQopf6y9Y_CaUyWx42PtM,12718
331
340
  relationalai/semantics/lqp/rewrite/quantify_vars.py,sha256=bOowgQ45zmP0HOhsTlE92WdVBCTXSkszcCYbPMeIibw,12004
332
341
  relationalai/semantics/lqp/rewrite/splinter.py,sha256=oeDjP_F2PVLVexAKFn8w7CLtO9oy-R-tS2IOmzw_Ujk,3199
333
342
  relationalai/semantics/metamodel/__init__.py,sha256=I-XqQAGycD0nKkKYvnF3G9d0QK_1LIM4xXICw8g8fBA,805
334
- relationalai/semantics/metamodel/builtins.py,sha256=O26klqMH4ud5nqb2Os6ISsxaPsCj5X1eVKD5RuGUmtA,38657
343
+ relationalai/semantics/metamodel/builtins.py,sha256=HN-F5lpnwZiMsl2kBUxdXDSa3LPjVDUIuPF0AbbgqNU,39024
335
344
  relationalai/semantics/metamodel/compiler.py,sha256=XBsAnbFwgZ_TcRry6yXGWLyw_MaO2WJDp1EnC_ubhps,4525
336
345
  relationalai/semantics/metamodel/dataflow.py,sha256=wfj1tARrR4yEAaTwUTrAcxEcz81VkUal4U_AX1esovk,3929
337
346
  relationalai/semantics/metamodel/dependency.py,sha256=iJLx-w_zqde7CtbGcXxLxZBdUKZYl7AUykezPI9ccck,33926
@@ -340,13 +349,13 @@ relationalai/semantics/metamodel/factory.py,sha256=Vk3ASwWan08mfGehoOOwMixuU_mEb
340
349
  relationalai/semantics/metamodel/helpers.py,sha256=aeXWkS-iKfLqqXtlMjQZyqIIiIsG9dqP4cQA3cUmM08,15403
341
350
  relationalai/semantics/metamodel/ir.py,sha256=4Xl3oc92Q7_s33axtrZUXr-GL8VGJsKc7yaSNcO6jXY,33578
342
351
  relationalai/semantics/metamodel/types.py,sha256=9ErIkHgsTcPgsoEet-meiftLs4W1MJb-G1H_1EzFfLY,11557
343
- relationalai/semantics/metamodel/util.py,sha256=cmSmeww34JVMqcFudwVAY820IPM2ETSELJylwJ3GRJk,16654
352
+ relationalai/semantics/metamodel/util.py,sha256=-_9UMyLvz6bzAI0paXWLWlbqOcPwI9dKopPwEK3ZZhk,16755
344
353
  relationalai/semantics/metamodel/visitor.py,sha256=DFY0DACLhxlZ0e4p0vWqbK6ZJr_GWEvH66CU_HVuoTk,35527
345
354
  relationalai/semantics/metamodel/rewrite/__init__.py,sha256=9ONWFSdMPHkWpObDMSljt8DywhpFf4Ehsq1aT3fTPt8,344
346
355
  relationalai/semantics/metamodel/rewrite/discharge_constraints.py,sha256=0v613BqCLlo4sgWuZjcLSxxakp3d34mYWbG4ldhzGno,1949
347
356
  relationalai/semantics/metamodel/rewrite/dnf_union_splitter.py,sha256=piV8FEr4GHKSDcCcsu_TLHJHrsX7blTq4TUvGpGrN8Q,7986
348
357
  relationalai/semantics/metamodel/rewrite/extract_nested_logicals.py,sha256=vQ0-7t_GORskB1ZG50KuzM4phm6YNPvehfFn3v_LbgI,3354
349
- relationalai/semantics/metamodel/rewrite/flatten.py,sha256=CMCFrMCPIQJs9Ln8TJBJYbZaw6EpIcyWh6N6HaZlLQA,22513
358
+ relationalai/semantics/metamodel/rewrite/flatten.py,sha256=oyCYyJrq84YpNC6UpLDfSlUHu5RiE_byLHugQuQ0bCw,22831
350
359
  relationalai/semantics/metamodel/rewrite/format_outputs.py,sha256=n0IxC3RL3UMly6MWsq342EGfL2yGj3vOgVG_wg7kt-o,6225
351
360
  relationalai/semantics/metamodel/typer/__init__.py,sha256=E3ydmhWRdm-cAqWsNR24_Qd3NcwiHx8ElO2tzNysAXc,143
352
361
  relationalai/semantics/metamodel/typer/checker.py,sha256=frY0gilDO6skbDiYFiIpDUOWyt9s9jAJsRBs848DcG0,19184
@@ -355,7 +364,7 @@ relationalai/semantics/reasoners/__init__.py,sha256=cLrGNKFX859EdPjk2n6MdYLvueaF
355
364
  relationalai/semantics/reasoners/experimental/__init__.py,sha256=ZWXb3Oun7m_G2c3ijKnqxbEsAzTMVa7ciBXjdi4dCNI,144
356
365
  relationalai/semantics/reasoners/graph/README.md,sha256=QgKEXTllp5PO-yK8oDfMx1PNTYF2uVoneMRKsWTY5GU,23953
357
366
  relationalai/semantics/reasoners/graph/__init__.py,sha256=jSXR6J05SQZdjxQ5Y-ovqFqGTAXCOWeQDcvpfoBYgDA,1282
358
- relationalai/semantics/reasoners/graph/core.py,sha256=2ZzGTWlS-IUTqVcdVx0w_GrgxIyppCvHsls1uBjFe4Q,399524
367
+ relationalai/semantics/reasoners/graph/core.py,sha256=sYjSbmn8EKckJq0cN2_UptuYOfvtTjB0CHHzZw4nGkA,399489
359
368
  relationalai/semantics/reasoners/graph/design/beyond_demand_transform.md,sha256=Givh0W6B6Hlow6TpmK-8adpEYd8b3O_WmdgMOQIyKs0,55749
360
369
  relationalai/semantics/reasoners/graph/tests/README.md,sha256=XbauTzt6VA_YEOcrlZwsu4WOW5UoWV8M6F57wmxe5QU,1023
361
370
  relationalai/semantics/reasoners/optimization/__init__.py,sha256=lpavly1Qa3VKvLgrbpp-tsxY9hcqHL6buxuekgKPakw,2212
@@ -365,17 +374,17 @@ relationalai/semantics/reasoners/optimization/solvers_pb.py,sha256=ESwraHU9c4NCE
365
374
  relationalai/semantics/rel/__init__.py,sha256=pMlVTC_TbQ45mP1LpzwFBBgPxpKc0H3uJDvvDXEWzvs,55
366
375
  relationalai/semantics/rel/builtins.py,sha256=kQToiELc4NnvCmXyFtu9CsGZNdTQtSzTB-nuyIfQcsM,1562
367
376
  relationalai/semantics/rel/compiler.py,sha256=pFkEbuPKVd8AI4tiklcv06LbNnK8KfoV4FwmY9Lrhqo,43044
368
- relationalai/semantics/rel/executor.py,sha256=v-yHl9R8AV0AA2xnm5YZDzue83pr8j2Q97Ky1MKkU70,17309
377
+ relationalai/semantics/rel/executor.py,sha256=GJQea-f1jLLXovcKI4rJ0kYbnnRij2LW_h1XrVY9GII,17621
369
378
  relationalai/semantics/rel/rel.py,sha256=9I_V6dQ83QRaLzq04Tt-KjBWhmNxNO3tFzeornBK4zc,15738
370
379
  relationalai/semantics/rel/rel_utils.py,sha256=EH-NBROA4vIJXajLKniapt4Dxt7cXSqY4NEjD-wD8Mc,9566
371
380
  relationalai/semantics/snowflake/__init__.py,sha256=wRvLb8sQ_SvoY6DEPKpMz6sdSJbrbgyQJVcHAPoSlAw,166
372
381
  relationalai/semantics/sql/__init__.py,sha256=59uuKmQOFUzwlYwc7anSuwhQ45bJTYVmd9nOJXr9mQs,80
373
- relationalai/semantics/sql/compiler.py,sha256=FFcaZYg64bY3HzAk5JugmHced8h2H8eqG4MsIqoDqTM,129171
382
+ relationalai/semantics/sql/compiler.py,sha256=bcntEvcr74HHHAqgqHyrJZwa_TokQcEpVdtcisK9_LA,129203
374
383
  relationalai/semantics/sql/sql.py,sha256=7nUnm0RbHlOGSGQbnFrgzPYdmnoppifQ5jylR5Wtgcc,17122
375
384
  relationalai/semantics/sql/executor/__init__.py,sha256=F3HqQPJVP9wgV3rkwI5jy1_QBCD_3qj2IGxbdT_pX9k,120
376
385
  relationalai/semantics/sql/executor/duck_db.py,sha256=laI0jquMNNhj1pcFlaqxYAvvnCmSuvzzkibfjMz7liY,1909
377
386
  relationalai/semantics/sql/executor/result_helpers.py,sha256=kVfspHHuzyq4SNklrtvhYte1wqRFzct-dAKin_lOmR4,3215
378
- relationalai/semantics/sql/executor/snowflake.py,sha256=ctbSssn91f6cV-_sPGizjkRn7vw_Lcqgd4Ai9S-DTFk,5912
387
+ relationalai/semantics/sql/executor/snowflake.py,sha256=cdQhJL7yO0QacJleoSD45vnLMpK9CmbG4FtANvp3Ud0,5994
379
388
  relationalai/semantics/sql/rewrite/__init__.py,sha256=AT1WR0rqQHQ7E06NLoVym0zrZpBVPqK85uRFNJUTDp4,254
380
389
  relationalai/semantics/sql/rewrite/denormalize.py,sha256=gPF0s1edthoHfuBIdS9-hnEaX5RFYBdtOlK5iAfB5CA,9040
381
390
  relationalai/semantics/sql/rewrite/double_negation.py,sha256=QXynhjwfPW52Hpdo78VWPNk2TXe_mMTWYN470in51z8,1710
@@ -394,7 +403,7 @@ relationalai/semantics/std/std.py,sha256=Ql27y2Rs0d1kluktWi-t6_M_uYIxQUfO94GjlVf
394
403
  relationalai/semantics/std/strings.py,sha256=Q_7kvx5dud6gppNURHOi4SMvgZNPRuWwEKDIPSEIOJI,2702
395
404
  relationalai/semantics/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
396
405
  relationalai/semantics/tests/logging.py,sha256=oJTrUS_Bq6WxqqO8QLtrjdkUB02Uu5erZ7FTl__-lNY,1432
397
- relationalai/semantics/tests/test_snapshot_abstract.py,sha256=ob_5p43CQzz9nfB7Q9W1geKqwNmLyUmQx-mpJfTOwhg,6305
406
+ relationalai/semantics/tests/test_snapshot_abstract.py,sha256=LeXcb3WAPcXZZaSB4JZ9JzPH9ZnjBoN8dSRzSeyt8TQ,6315
398
407
  relationalai/semantics/tests/test_snapshot_base.py,sha256=vlqqSyQf_IsDb7feDnkiHZKSCsJqDq0Ep4V3CKtKWns,466
399
408
  relationalai/semantics/tests/utils.py,sha256=h4GPNCJGmAWvwskGWxc523BtFEd2ayff4zfBNHapoCo,1825
400
409
  relationalai/std/__init__.py,sha256=U8-DpdOcxeGXVSf3LqJl9mSXKztNgB9iwropQcXp960,2178
@@ -407,9 +416,9 @@ relationalai/std/re.py,sha256=7B0dPaYyEdIlEgZfDzs7HJ_MTqccYTfIZieqst6MHbk,4457
407
416
  relationalai/std/strings.py,sha256=vHvex_W5GHhhsVws6Dfyl4w1EHdbDE3nPjT09DnpvSE,4260
408
417
  relationalai/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
409
418
  relationalai/tools/cleanup_snapshots.py,sha256=s1q1ophi1RmiTZ9QQolQ6q1K9ZwseCaOuDtI1Rm99MQ,3434
410
- relationalai/tools/cli.py,sha256=EBrPdJQsltUQGClQTYaEDVmEmm4w_UGdb8fT_DKIeOQ,77017
419
+ relationalai/tools/cli.py,sha256=z6FpwRe3pVro78QDlTkfq6D-Tpb7KpgyscGpVKhJGVM,76841
411
420
  relationalai/tools/cli_controls.py,sha256=84K0sjfsVwqi9C8ZlpvPi6XZPhjyW-R06Pir9Ex_Xtg,70468
412
- relationalai/tools/cli_helpers.py,sha256=r-gJnWnb3d6yIn_ccyp3qx_Vpqh-FINCFMyPBVCA-Jg,14041
421
+ relationalai/tools/cli_helpers.py,sha256=dUIx9Z1I1rTZ3VKtn4jlKGCY5TNk1rl1CY8g3-m99A0,14431
413
422
  relationalai/tools/constants.py,sha256=A8Qz0CPs2cRUs5xaZ-Y7BCyvqmI6RLvipzwLDYZ3_PU,4505
414
423
  relationalai/tools/debugger.py,sha256=iWO1tMJud3dXHIkrjdZ5Temp0MR2AwN5_QGDt-ddmcs,6934
415
424
  relationalai/tools/debugger_client.py,sha256=g9vBaeJLKVq6vW63W-KKSaPJ--g5Wuf4LcIuYRA_pk4,3729
@@ -425,8 +434,8 @@ relationalai/util/constants.py,sha256=rq6c1Q5tLIewiG_M_lUtRAbmrKFUUL1jfl_nxU0989
425
434
  relationalai/util/format.py,sha256=fLRovumUa2cu0_2gy3O5vaEbpND4p9_IIgr-vDaIGDc,3754
426
435
  relationalai/util/graph.py,sha256=eT8s0yCiJIu6D1T1fjZsLSPCcuQb2Mzl6qnljtQ5TuA,1504
427
436
  relationalai/util/list_databases.py,sha256=xJZGHzE0VLaDItWo5XvQSx75OwV045h2rjCBBnhNB3o,152
428
- relationalai/util/otel_configuration.py,sha256=SV1SFqdKm8q-OD1TsmiIB0x5VxtAFsBRyTwD8zNtnQc,1066
429
- relationalai/util/otel_handler.py,sha256=2h3ROnra798RRRPLTlEBxEcj-jXXk1ri_l10RAFaiWk,18109
437
+ relationalai/util/otel_configuration.py,sha256=EslwZoaML0WZuEIsMgP1PlrEwsN4Qy3VGabP3Y15yzk,1115
438
+ relationalai/util/otel_handler.py,sha256=a7F5wsc4dI5KF5xpUev2cUwXjd3Lurb198z3AoBS3ME,18119
430
439
  relationalai/util/snowflake_handler.py,sha256=8HUo6eU5wPxa6m_EocYuEZD_XpVIh9EqBnGwaS06Usw,2942
431
440
  relationalai/util/span_format_test.py,sha256=1rU-M3RXhRt8vCX6rtuIJogEVkB164N3qiKcTmb-sl8,1345
432
441
  relationalai/util/span_tracker.py,sha256=SKj4UB43clUxWShq3lFChl3dZ4JGRhcnY_xAh-7Xzvg,7888
@@ -434,7 +443,7 @@ relationalai/util/spans_file_handler.py,sha256=a0sDwDPBBvGsM6be2En3mId9sXpuJlXia
434
443
  relationalai/util/timeout.py,sha256=2o6BVNFnFc-B2j-i1pEkZcQbMRto9ps2emci0XwiA4I,783
435
444
  relationalai/util/tracing_handler.py,sha256=H919ETAxh7Z1tRz9x8m90qP51_264UunHAPw8Sr6x2g,1729
436
445
  relationalai_test_util/__init__.py,sha256=Io_9_IQXXnrUlaL7S1Ndv-4YHilNxy36LrL723MI7lw,118
437
- relationalai_test_util/fixtures.py,sha256=UL3--4nGWgf6bpOYxFloYCgh5lGVsCeTnTTeKMcA7lY,9169
446
+ relationalai_test_util/fixtures.py,sha256=rNOd8HbguWQi0j63QGoh5iFHLFfM1JUBgDyf87dEsKY,9214
438
447
  relationalai_test_util/snapshot.py,sha256=FeH2qYBzLxr2-9qs0yElPIgWUjm_SrzawB3Jgn-aSuE,9291
439
448
  relationalai_test_util/traceback.py,sha256=lD0qaEmCyO-7xg9CNf6IzwS-Q-sTS8N9YIv8RroAE50,3298
440
449
  frontend/debugger/dist/.gitignore,sha256=JAo-DTfS6GthQGP1NH6wLU-ZymwlTea4KHH_jZVTKn0,14
@@ -442,8 +451,8 @@ frontend/debugger/dist/index.html,sha256=0wIQ1Pm7BclVV1wna6Mj8OmgU73B9rSEGPVX-Wo
442
451
  frontend/debugger/dist/assets/favicon-Dy0ZgA6N.png,sha256=tPXOEhOrM4tJyZVJQVBO_yFgNAlgooY38ZsjyrFstgg,620
443
452
  frontend/debugger/dist/assets/index-Cssla-O7.js,sha256=MxgIGfdKQyBWgufck1xYggQNhW5nj6BPjCF6Wleo-f0,298886
444
453
  frontend/debugger/dist/assets/index-DlHsYx1V.css,sha256=21pZtAjKCcHLFjbjfBQTF6y7QmOic-4FYaKNmwdNZVE,60141
445
- relationalai-0.12.13.dist-info/METADATA,sha256=qiiOC2n_SXtlfEHafFp8hVqY1M2VSzGOl5fqOPt1_ZQ,2563
446
- relationalai-0.12.13.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
447
- relationalai-0.12.13.dist-info/entry_points.txt,sha256=fo_oLFJih3PUgYuHXsk7RnCjBm9cqRNR--ab6DgI6-0,88
448
- relationalai-0.12.13.dist-info/licenses/LICENSE,sha256=pPyTVXFYhirkEW9VsnHIgUjT0Vg8_xsE6olrF5SIgpc,11343
449
- relationalai-0.12.13.dist-info/RECORD,,
454
+ relationalai-0.13.0.dist-info/METADATA,sha256=RsdnclgO5I9Akv8gxCW-DM5-8ohVCYowAwY-ulQmq6A,2562
455
+ relationalai-0.13.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
456
+ relationalai-0.13.0.dist-info/entry_points.txt,sha256=fo_oLFJih3PUgYuHXsk7RnCjBm9cqRNR--ab6DgI6-0,88
457
+ relationalai-0.13.0.dist-info/licenses/LICENSE,sha256=pPyTVXFYhirkEW9VsnHIgUjT0Vg8_xsE6olrF5SIgpc,11343
458
+ relationalai-0.13.0.dist-info/RECORD,,
@@ -219,7 +219,8 @@ def root_span_fixture(get_full_config=False, span_type: str = "test_session", ex
219
219
 
220
220
  def otel_collector_fixture(generation):
221
221
  config = make_config()
222
- resources = rai.clients.snowflake.Resources(config=config, generation=generation)
222
+ from relationalai.clients.resources.snowflake import Resources
223
+ resources = Resources(config=config, generation=generation)
223
224
  enable_otel_export(
224
225
  resources,
225
226
  config.get('rai_app_name', 'RELATIONALAI')