relationalai 1.0.0a2__py3-none-any.whl → 1.0.0a4__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.
- relationalai/config/shims.py +1 -0
- relationalai/semantics/__init__.py +7 -1
- relationalai/semantics/frontend/base.py +19 -13
- relationalai/semantics/frontend/core.py +30 -2
- relationalai/semantics/frontend/front_compiler.py +38 -11
- relationalai/semantics/frontend/pprint.py +1 -1
- relationalai/semantics/metamodel/rewriter.py +6 -2
- relationalai/semantics/metamodel/typer.py +70 -26
- relationalai/semantics/reasoners/__init__.py +11 -0
- relationalai/semantics/reasoners/graph/__init__.py +38 -0
- relationalai/semantics/reasoners/graph/core.py +9015 -0
- relationalai/shims/executor.py +4 -1
- relationalai/shims/hoister.py +9 -0
- relationalai/shims/mm2v0.py +47 -34
- relationalai/tools/cli/cli.py +138 -0
- relationalai/tools/cli/docs.py +394 -0
- {relationalai-1.0.0a2.dist-info → relationalai-1.0.0a4.dist-info}/METADATA +5 -3
- {relationalai-1.0.0a2.dist-info → relationalai-1.0.0a4.dist-info}/RECORD +57 -43
- v0/relationalai/__init__.py +69 -22
- v0/relationalai/clients/__init__.py +15 -2
- v0/relationalai/clients/client.py +4 -4
- v0/relationalai/clients/exec_txn_poller.py +91 -0
- v0/relationalai/clients/local.py +5 -5
- v0/relationalai/clients/resources/__init__.py +8 -0
- v0/relationalai/clients/{azure.py → resources/azure/azure.py} +12 -12
- v0/relationalai/clients/resources/snowflake/__init__.py +20 -0
- v0/relationalai/clients/resources/snowflake/cli_resources.py +87 -0
- v0/relationalai/clients/resources/snowflake/direct_access_resources.py +717 -0
- v0/relationalai/clients/resources/snowflake/engine_state_handlers.py +309 -0
- v0/relationalai/clients/resources/snowflake/error_handlers.py +199 -0
- v0/relationalai/clients/resources/snowflake/resources_factory.py +99 -0
- v0/relationalai/clients/{snowflake.py → resources/snowflake/snowflake.py} +642 -1399
- v0/relationalai/clients/{use_index_poller.py → resources/snowflake/use_index_poller.py} +51 -12
- v0/relationalai/clients/resources/snowflake/use_index_resources.py +188 -0
- v0/relationalai/clients/resources/snowflake/util.py +387 -0
- v0/relationalai/early_access/dsl/ir/executor.py +4 -4
- v0/relationalai/early_access/dsl/snow/api.py +2 -1
- v0/relationalai/errors.py +18 -0
- v0/relationalai/experimental/solvers.py +7 -7
- v0/relationalai/semantics/devtools/benchmark_lqp.py +4 -5
- v0/relationalai/semantics/devtools/extract_lqp.py +1 -1
- v0/relationalai/semantics/internal/snowflake.py +1 -1
- v0/relationalai/semantics/lqp/executor.py +7 -12
- v0/relationalai/semantics/lqp/rewrite/extract_keys.py +25 -3
- v0/relationalai/semantics/metamodel/util.py +6 -5
- v0/relationalai/semantics/reasoners/optimization/solvers_pb.py +335 -84
- v0/relationalai/semantics/rel/executor.py +14 -11
- v0/relationalai/semantics/sql/executor/snowflake.py +9 -5
- v0/relationalai/semantics/tests/test_snapshot_abstract.py +1 -1
- v0/relationalai/tools/cli.py +26 -30
- v0/relationalai/tools/cli_helpers.py +10 -2
- v0/relationalai/util/otel_configuration.py +2 -1
- v0/relationalai/util/otel_handler.py +1 -1
- {relationalai-1.0.0a2.dist-info → relationalai-1.0.0a4.dist-info}/WHEEL +0 -0
- {relationalai-1.0.0a2.dist-info → relationalai-1.0.0a4.dist-info}/entry_points.txt +0 -0
- {relationalai-1.0.0a2.dist-info → relationalai-1.0.0a4.dist-info}/top_level.txt +0 -0
- /v0/relationalai/clients/{cache_store.py → resources/snowflake/cache_store.py} +0 -0
|
@@ -2,7 +2,7 @@ relationalai/__init__.py,sha256=hHhZc1h-IDj0pzPF67763g0a4Pdh7W-4GQpyqL60dec,152
|
|
|
2
2
|
relationalai/config/__init__.py,sha256=QL7MxBN7xy50h4Sqg3jotuyg-6EisCEtJCHCWQrL1ME,1524
|
|
3
3
|
relationalai/config/config.py,sha256=CUBkOYWu3IgCAa4oHVwEozfMbZgAX3hENo-Va2gsdIs,10477
|
|
4
4
|
relationalai/config/config_fields.py,sha256=Gskc1Ugsi4xowepDlma1HNaYdQ_wS2RiMpUaG6aNdv4,4081
|
|
5
|
-
relationalai/config/shims.py,sha256=
|
|
5
|
+
relationalai/config/shims.py,sha256=YM3rtPNpRSrQomRw5xNSekU5Da3dcYbxxzGryQt7RME,41
|
|
6
6
|
relationalai/config/connections/__init__.py,sha256=5709qbuJxqg2WedSoejpdDrXpvwowG_xDS8adoexeOA,1171
|
|
7
7
|
relationalai/config/connections/base.py,sha256=9DkPLosMc9yb6uFFks_FP_e-47K5wMD14tW_cJ05s_A,759
|
|
8
8
|
relationalai/config/connections/duckdb.py,sha256=PhhJXARTJf2ObQa9CYMJlZMGohMNCg879cKHvUr1M5Q,891
|
|
@@ -13,22 +13,25 @@ relationalai/config/external/dbt_models.py,sha256=Px_C5nID_3te3o1wfsYJjrKkZcTPUY
|
|
|
13
13
|
relationalai/config/external/snowflake_converter.py,sha256=Vnaqgazd-XwZybqbOU2YK3qYf0if-KwdTORaP0xTff4,1280
|
|
14
14
|
relationalai/config/external/snowflake_models.py,sha256=6hCaVMdhESxbW-HF0-s51Z4WIc97bS1FrZRKZ4DXE6A,2681
|
|
15
15
|
relationalai/config/external/utils.py,sha256=IJsZUCLI4Y2erETERQKcd-Alo4wNMTi1AHkdb92Z-n0,422
|
|
16
|
-
relationalai/semantics/__init__.py,sha256=
|
|
16
|
+
relationalai/semantics/__init__.py,sha256=Td5zPCjwRbYV-UA05kXwnuL1BW-iRxiWEV6sJksrzTY,4640
|
|
17
17
|
relationalai/semantics/backends/lqp/annotations.py,sha256=TUk_fuXyBWs7H4BHx-4jZGonSD8MdgPswt-D2k7QC-4,390
|
|
18
18
|
relationalai/semantics/backends/sql/sql_compiler.py,sha256=p_1YjROlcmu0kwvI32qUWAmMQntp_A6H3_vgGDDLiQk,10628
|
|
19
19
|
relationalai/semantics/frontend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
-
relationalai/semantics/frontend/base.py,sha256=
|
|
21
|
-
relationalai/semantics/frontend/core.py,sha256=
|
|
22
|
-
relationalai/semantics/frontend/front_compiler.py,sha256=
|
|
23
|
-
relationalai/semantics/frontend/pprint.py,sha256=
|
|
20
|
+
relationalai/semantics/frontend/base.py,sha256=xxs0udBqK4ErwA9pPAtFXV-Ky4keEOJQ0k4gsOKrMUQ,66007
|
|
21
|
+
relationalai/semantics/frontend/core.py,sha256=nTFDsF18WemplUmxOeCbUTHGhrCmxWIeRjC5amKkdDE,8399
|
|
22
|
+
relationalai/semantics/frontend/front_compiler.py,sha256=RIa12ifKoWJ0HqwrBSiDniKF5K-AGEJ1L8VC4wOyuck,58615
|
|
23
|
+
relationalai/semantics/frontend/pprint.py,sha256=mc2i4MlmPpsjXWx6bO_J7lMrxUeDfO2du4eaPZi6pFU,14982
|
|
24
24
|
relationalai/semantics/metamodel/__init__.py,sha256=mISE8niHeEAD6QjX8pi_apFfMIVCZ7dGeCXFGtFPTvk,364
|
|
25
25
|
relationalai/semantics/metamodel/builtins.py,sha256=rmeVdjw3kDSsx7TjpnFpy8W6OrHuUV1GQwazWhaWrG0,7009
|
|
26
26
|
relationalai/semantics/metamodel/metamodel.py,sha256=TgIufxJslJZkf5_RleTU19i2h0DTW6CodSYqwyVcLEc,13899
|
|
27
27
|
relationalai/semantics/metamodel/metamodel_analyzer.py,sha256=tusDRO2az1yiF951SDg-cHOaNQ1M7qw1HG1cxV3YuxU,16228
|
|
28
28
|
relationalai/semantics/metamodel/metamodel_compiler.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
29
|
relationalai/semantics/metamodel/pprint.py,sha256=65t7tZTfBP2qOlKShYM8nwrbsiS3gKaCYkUJepu0a2o,15684
|
|
30
|
-
relationalai/semantics/metamodel/rewriter.py,sha256=
|
|
31
|
-
relationalai/semantics/metamodel/typer.py,sha256=
|
|
30
|
+
relationalai/semantics/metamodel/rewriter.py,sha256=14T2fzoBLMvYZNOy8VjRq_NS7rwU9EECbkQXJxfdvDw,8436
|
|
31
|
+
relationalai/semantics/metamodel/typer.py,sha256=Acc1NiS9oCrqt9ZP_uI4GyT0sduOwmu1tS5U-3Irndo,57654
|
|
32
|
+
relationalai/semantics/reasoners/__init__.py,sha256=T1ysWgmX85pULUqdxZroPexY45DvfzsV3J2xJQHr3nQ,377
|
|
33
|
+
relationalai/semantics/reasoners/graph/__init__.py,sha256=1hFTc-a8tj4LJv7bYUSGqRCKAuSygbhqwFH25lebWDs,1356
|
|
34
|
+
relationalai/semantics/reasoners/graph/core.py,sha256=prUtjt8nb87Xp9z38Y6bD_iqFaYWCZLwBGhWOmCs20I,399827
|
|
32
35
|
relationalai/semantics/std/__init__.py,sha256=_cbDmeCT634GtdGJ0CqgfJw6pFaJR0ajR3B_bWCr_9A,2627
|
|
33
36
|
relationalai/semantics/std/aggregates.py,sha256=uCwoBLmuRBBq9lTf5ACD3yosvtp5Wi8IQUCF_dKWS80,6259
|
|
34
37
|
relationalai/semantics/std/common.py,sha256=raWuvX2u4juKPU0BKtqF5xvJSDjKHF1BWQVFioBmOf8,1658
|
|
@@ -42,16 +45,17 @@ relationalai/semantics/std/numbers.py,sha256=AcmESbBXIQDkDL6YGZXYKmpo7uyYD1or7su
|
|
|
42
45
|
relationalai/semantics/std/re.py,sha256=xMuQY5sG3fEL1efHDNFnVpnXVkDJMmDVUEbHiPr1oqA,4375
|
|
43
46
|
relationalai/semantics/std/strings.py,sha256=w0k06gDfyMS6GODPjhG0gl2SkJ0aH5aYezS8jG9jsU8,5617
|
|
44
47
|
relationalai/shims/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
|
-
relationalai/shims/executor.py,sha256=
|
|
48
|
+
relationalai/shims/executor.py,sha256=LtpBx74mhbJ1bCUVvetDlk5iDAEi_x-wNZ6iq5WPW2s,7531
|
|
46
49
|
relationalai/shims/helpers.py,sha256=1v6D-wDq3nCwDz4egdGUeleRC0fK6wfo9fIQIeQCfZA,4508
|
|
47
|
-
relationalai/shims/hoister.py,sha256=
|
|
48
|
-
relationalai/shims/mm2v0.py,sha256=
|
|
50
|
+
relationalai/shims/hoister.py,sha256=maebjwse3GvOFCHJWgBXBTwpiqeny8DAyoFW6HtUzI8,9423
|
|
51
|
+
relationalai/shims/mm2v0.py,sha256=G1Gct9rtH6KF1z0yN6yZj0WFTACfeJhcbRCZTyc1eRU,64436
|
|
49
52
|
relationalai/tools/debugger.py,sha256=B8QIE1-WFdfkiPoFFn1yztr9t6yf5PI32Y9Y9XzQOJk,10798
|
|
50
53
|
relationalai/tools/typer_debugger.py,sha256=__oLODEBwgt6pYIn1jgIPlenFmiK7iqXfTY_mozHxXA,3182
|
|
51
54
|
relationalai/tools/cli/__init__.py,sha256=jkIlp7wftUuSIlczwZD4_siT5cs6mzpsNGrQ_kMkLZ4,74
|
|
52
|
-
relationalai/tools/cli/cli.py,sha256=
|
|
55
|
+
relationalai/tools/cli/cli.py,sha256=N2quQWjcgq7qqiW1WhkDGOVZZL0nfNfUc59zsUj95pY,5958
|
|
53
56
|
relationalai/tools/cli/config_template.py,sha256=l52KOI3ZBkhtM9V7EQSUOEddHVdMnjl21hPnnQSwdBE,949
|
|
54
57
|
relationalai/tools/cli/dev.py,sha256=1GjfjTLi4BXbV5fXKlF5g1bc8-YsA9oKOBSntquBd8g,340
|
|
58
|
+
relationalai/tools/cli/docs.py,sha256=GSUMHVqHMzrpYw1wOHTKfbkZW-dozRfzoKpgb2o4wvQ,12648
|
|
55
59
|
relationalai/tools/cli/components/__init__.py,sha256=H91hUt3lohr6kAVGOHgTKpDgwRc2Ka4a-iw2domfm5o,143
|
|
56
60
|
relationalai/tools/cli/components/progress_reader.py,sha256=mrAFI4p1T7tgDNd_S9QAF9QXuF5RlWGSg5fzQY1_MRY,56767
|
|
57
61
|
relationalai/tools/cli/components/utils.py,sha256=n_st7K3B8bDLsi8rjYgilPtx7TJRcU5xZlauGUrjyv8,1700
|
|
@@ -66,13 +70,13 @@ relationalai/util/schema.py,sha256=8pzpI4eMg1W4rsyBZtrU_AzCuBxNx4m_cX_XR1BFjCI,6
|
|
|
66
70
|
relationalai/util/source.py,sha256=k49NhkCDST4Wa_1xJnEsfG2JZIdADlqzqvHt4FCYfq4,6645
|
|
67
71
|
relationalai/util/structures.py,sha256=3QxHkgJSy9oPom6eJX2z1O3pJugINqD5DUjXwoCWwRg,4990
|
|
68
72
|
relationalai/util/tracing.py,sha256=peOVe55R3B9gVdXAsVPGZ7_jw0KvYlkito-_5zERYtg,9632
|
|
69
|
-
v0/relationalai/__init__.py,sha256=
|
|
73
|
+
v0/relationalai/__init__.py,sha256=IcozhVGyoDvBaLAbCgGxJ7JBDbgsMhNkEgVzJ2rZFVY,10464
|
|
70
74
|
v0/relationalai/compiler.py,sha256=5LZY8AyqadkTLSe_xoJ3J9iXOmetz5YQn9EjJKk8XeQ,6411
|
|
71
75
|
v0/relationalai/debugging.py,sha256=AuzbwLT1s71tctuIbYNhfWY2vR_opB7ItbmlqFVHgrY,12024
|
|
72
76
|
v0/relationalai/dependencies.py,sha256=tL113efcISkJUiDXYHmRdU_usdD7gmee-VRHA7N4EFA,16574
|
|
73
77
|
v0/relationalai/docutils.py,sha256=1gVv9mk0ytdMB2W7_NvslJefmSQtTOg8LHTCDcGCjyE,1554
|
|
74
78
|
v0/relationalai/dsl.py,sha256=9BdpqzDNcW4717GyxVAYIMZ7ctE_bvXS-5sNLIbXQZ0,66128
|
|
75
|
-
v0/relationalai/errors.py,sha256=
|
|
79
|
+
v0/relationalai/errors.py,sha256=bwKNODY5aROWRRW-Df2zxHk5ACxWnR0zOhOdOHO9Yi0,96831
|
|
76
80
|
v0/relationalai/metagen.py,sha256=o10PNvR_myr_61DC8g6lkB093bFo9qXGUkZKgKyfXiE,26821
|
|
77
81
|
v0/relationalai/metamodel.py,sha256=P1hliwHd1nYxbXON4LZeaYZD6T6pZm97HgmFBFrWyCk,32886
|
|
78
82
|
v0/relationalai/rel.py,sha256=ePmAXx4NxOdsPcHNHyGH3Jkp_cB3QzfKu5p_EQSHPh0,38293
|
|
@@ -86,20 +90,30 @@ v0/relationalai/auth/jwt_generator.py,sha256=bQY2-EhvKcidamWB4tiRO8VVl_5bH0GC9Y6
|
|
|
86
90
|
v0/relationalai/auth/oauth_callback_server.py,sha256=vbcpz77n_WKMDZ4sac6IYyrpxScR0DHlf5VFHMwjHGg,3908
|
|
87
91
|
v0/relationalai/auth/token_handler.py,sha256=d5aueGEiK6BmzkxSab3reCdkhtjdphb0CeecyvvNaQU,19443
|
|
88
92
|
v0/relationalai/auth/util.py,sha256=oXOUwW5gaBhEV5v5A-q2ME1VnfjfRWswvRlXW4oBYpk,1116
|
|
89
|
-
v0/relationalai/clients/__init__.py,sha256
|
|
90
|
-
v0/relationalai/clients/
|
|
91
|
-
v0/relationalai/clients/cache_store.py,sha256=A-qd11wcwN3TkIqvlN0_iFUU3aEjJal3T2pqFBwkkzQ,3966
|
|
92
|
-
v0/relationalai/clients/client.py,sha256=46_fu8xKR5m6HnTeI9UhIEZtojPrsc-3hMhTutObzxY,35798
|
|
93
|
+
v0/relationalai/clients/__init__.py,sha256=LQ_yHsutRMpoW2mOTmOPGF8mrbP0OiV5E68t8uVwDyQ,833
|
|
94
|
+
v0/relationalai/clients/client.py,sha256=gk_V9KS7_MM2dLL2OCO7EPLHD9dsRwR6R-30SW8lDwU,35759
|
|
93
95
|
v0/relationalai/clients/config.py,sha256=PriDlD0_VZFV0fEQng6U-F5xjGwz5gC2F5_lM159AjM,24481
|
|
94
96
|
v0/relationalai/clients/direct_access_client.py,sha256=p3hqjwdiXQQytRke1wIeNRM-HlZLAxH1U6-yPhsPOdQ,6454
|
|
97
|
+
v0/relationalai/clients/exec_txn_poller.py,sha256=veEHerCeKIJe9X7Yjnxab-lXUI4lWBW8tmY-tgMwKwQ,3123
|
|
95
98
|
v0/relationalai/clients/hash_util.py,sha256=NXVtUFgRokZz-45CwV-r5Z5KvmEXD2dh4ypNOrEWAwY,1501
|
|
96
|
-
v0/relationalai/clients/local.py,sha256=
|
|
99
|
+
v0/relationalai/clients/local.py,sha256=vo5ikSWg38l3xQAh9yL--4sMAj_T5Tn7YEZiw7TCH08,23504
|
|
97
100
|
v0/relationalai/clients/profile_polling.py,sha256=c1ixxAOKvy-dDfVqkKENwfcsvBB8jhLA1oT9RIFIrY8,2571
|
|
98
101
|
v0/relationalai/clients/result_helpers.py,sha256=dgj4mVg7ZsFsVppI98VQjNMdDEBXuBF7BnyNozidmeY,17817
|
|
99
|
-
v0/relationalai/clients/snowflake.py,sha256=xAyCYWfDE0n7MGdwFBfhVg248QaDzxaKArAObJe0Gho,168282
|
|
100
102
|
v0/relationalai/clients/types.py,sha256=VU2LRtlnFsBRYdokxUccrsUkEYLE9N62EUiWtA_qdYc,2893
|
|
101
|
-
v0/relationalai/clients/use_index_poller.py,sha256=34KQyNr_TL85hWsd803R0D_Ms4P6grQhOr5KSXDyszs,46830
|
|
102
103
|
v0/relationalai/clients/util.py,sha256=Vrw_kr-Oqp_DKTkJ_rTbzpDm4_Z4h8w10T8GUyGLxbA,12323
|
|
104
|
+
v0/relationalai/clients/resources/__init__.py,sha256=pymn8gB86Q3C2bVoFei0KAL8pX_U04uDY9TE4TKzTBs,260
|
|
105
|
+
v0/relationalai/clients/resources/azure/azure.py,sha256=TDapfM5rLoHrPrXg5cUe827m3AO0gSqQjNid1VUlUFo,20631
|
|
106
|
+
v0/relationalai/clients/resources/snowflake/__init__.py,sha256=Ofyf1RZu9GLQdvsjpHDUHEQHHVODb9vKYI4hMOxczH4,923
|
|
107
|
+
v0/relationalai/clients/resources/snowflake/cache_store.py,sha256=A-qd11wcwN3TkIqvlN0_iFUU3aEjJal3T2pqFBwkkzQ,3966
|
|
108
|
+
v0/relationalai/clients/resources/snowflake/cli_resources.py,sha256=xTIcCzvgbkxuNAEvzZoRpj0n-js0hZCK30q7IZXztbI,3252
|
|
109
|
+
v0/relationalai/clients/resources/snowflake/direct_access_resources.py,sha256=a_vfArYM8IAd7gAwx4VEis0KOOr2Vej7vMwY3csxGmQ,30134
|
|
110
|
+
v0/relationalai/clients/resources/snowflake/engine_state_handlers.py,sha256=SQBu4GfbyABU6xrEV-koivC-ubsVrfCBTF0FEQgJM5g,12054
|
|
111
|
+
v0/relationalai/clients/resources/snowflake/error_handlers.py,sha256=581G2xOihUoiPlucC_Z2FOzhKu_swdIc3uORd0yJQuA,8805
|
|
112
|
+
v0/relationalai/clients/resources/snowflake/resources_factory.py,sha256=4LGd4IQ6z8hGeGlO1TIjSFJEeUNHutaB7j9q1a9rYfQ,3385
|
|
113
|
+
v0/relationalai/clients/resources/snowflake/snowflake.py,sha256=buPPwLR9_gX5zo9sN90rGD1qIkn1qX4yOcaXmNlOP4U,134362
|
|
114
|
+
v0/relationalai/clients/resources/snowflake/use_index_poller.py,sha256=AE7z2pL4QioPRDL7-O9J4KHSuxbYbRAvd886mZPpCQI,48871
|
|
115
|
+
v0/relationalai/clients/resources/snowflake/use_index_resources.py,sha256=69PNWHI_uf-Aw_evfwC6j8HLVdjhp84vs8hLkjnhwbg,6462
|
|
116
|
+
v0/relationalai/clients/resources/snowflake/util.py,sha256=BEnm1B1-nqqHdm41RNxblbb-zqXbtqEGGZmTdAYeN_M,13841
|
|
103
117
|
v0/relationalai/early_access/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
104
118
|
v0/relationalai/early_access/builder/__init__.py,sha256=h2zZSEF6xcuk0Ysy8CRzF172usliAs9VUW5t6P3rOBw,996
|
|
105
119
|
v0/relationalai/early_access/builder/builder/__init__.py,sha256=0nUNYRT0QdAlBU0S7aovypHQBdBrBHumr3Ps_gG3R_E,1468
|
|
@@ -176,7 +190,7 @@ v0/relationalai/early_access/dsl/core/types/constrained/nominal.py,sha256=jfpqGs
|
|
|
176
190
|
v0/relationalai/early_access/dsl/core/types/constrained/subtype.py,sha256=qODz36SaWywRHALQLy1d2V8gPqHfb6F357ShRrbacJA,4311
|
|
177
191
|
v0/relationalai/early_access/dsl/ir/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
178
192
|
v0/relationalai/early_access/dsl/ir/compiler.py,sha256=W_hLa6FoqfF140G01aq6qpYtfpxVZRsxS37Ss7N2mUY,15313
|
|
179
|
-
v0/relationalai/early_access/dsl/ir/executor.py,sha256=
|
|
193
|
+
v0/relationalai/early_access/dsl/ir/executor.py,sha256=RSuFpgvkV7ILdE3krUNOHg0ZplpHKlQlbV6GWCAR1d4,12241
|
|
180
194
|
v0/relationalai/early_access/dsl/ontologies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
181
195
|
v0/relationalai/early_access/dsl/ontologies/constraints.py,sha256=do7IR0sN9S5mBEf79adtmZq-RkOc3HNg9Q1ZbXjlAsY,2429
|
|
182
196
|
v0/relationalai/early_access/dsl/ontologies/export.py,sha256=wyDUjwQ9TwCFKwN8m9S-7G4kKaI5dk4nvecbCy-W5Hc,999
|
|
@@ -219,7 +233,7 @@ v0/relationalai/early_access/dsl/serialize/binding_model.py,sha256=RvfUUnTjjmtWw
|
|
|
219
233
|
v0/relationalai/early_access/dsl/serialize/exporter.py,sha256=oXBxSjHvms7bzIHYb_dU1ItOchbjpDiSjkhXRD-oF2c,8024
|
|
220
234
|
v0/relationalai/early_access/dsl/serialize/model.py,sha256=bIzNuw5hV4iPyUZIPTWdG6BevAtl9RnhNW_cymSk7zU,2378
|
|
221
235
|
v0/relationalai/early_access/dsl/snow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
222
|
-
v0/relationalai/early_access/dsl/snow/api.py,sha256=
|
|
236
|
+
v0/relationalai/early_access/dsl/snow/api.py,sha256=NyOPLanXZaqtINOo9e7M-tdu2Jlo9KFw2G7mYrAKMes,4375
|
|
223
237
|
v0/relationalai/early_access/dsl/snow/common.py,sha256=i8L-TXw1RLUVB9NK8LpFkQAkUquIkbdh1nU0ePsGkCA,2172
|
|
224
238
|
v0/relationalai/early_access/dsl/state_mgmt/__init__.py,sha256=W0hzq5Oa2yy9YoQfC5Ru5UqggyzIhsryljmVt_NCkKQ,4339
|
|
225
239
|
v0/relationalai/early_access/dsl/state_mgmt/state_charts.py,sha256=zBQS9vdEYx5iRSLbp31k4xz8HFDp2EMKTgVQfzaPQlM,4054
|
|
@@ -279,7 +293,7 @@ v0/relationalai/experimental/SF.py,sha256=ER6NFB_Vo6hjxdwgDFshFMx_huCwhqOYfEqzFn
|
|
|
279
293
|
v0/relationalai/experimental/__init__.py,sha256=alaOJulJ9YHRl4WGyQ3Kzxhrpc2gP542oNheWXzs7NQ,74
|
|
280
294
|
v0/relationalai/experimental/graphs.py,sha256=vJQ_8ZF_Q2pL-w1xI4O22VGqbnTDimkkqTNqqIkGL7c,3521
|
|
281
295
|
v0/relationalai/experimental/inspect.py,sha256=CkZVzq1MTXf5aOsqHYZaDXYNegW8Er-7Z4NAJqT9QWM,1650
|
|
282
|
-
v0/relationalai/experimental/solvers.py,sha256=
|
|
296
|
+
v0/relationalai/experimental/solvers.py,sha256=boZc8DNKTZa-p3AAAtMrYX23nzNSnhw03TlXPm0OO8I,43446
|
|
283
297
|
v0/relationalai/experimental/pathfinder/__init__.py,sha256=GSGTur8UMhhv9u3VmZAWp6OxtDymZRaHDqgV9V2IFuc,5519
|
|
284
298
|
v0/relationalai/experimental/pathfinder/api.py,sha256=iRf9QKq5xIVqiPPQEQGx9BHxbT-dME0kmn5ox6IBCDM,4241
|
|
285
299
|
v0/relationalai/experimental/pathfinder/automaton.py,sha256=y5i3ry_gIPoAp0ZTsCNXTXSutst6VcGCg2VZ5Z_N9Yw,21910
|
|
@@ -352,18 +366,18 @@ v0/relationalai/loaders/loader.py,sha256=SmdV5u8NPvc72eb03sQWDD2nqCNDEsueh8LJ3kL
|
|
|
352
366
|
v0/relationalai/loaders/types.py,sha256=1Fnr-TQc21Vh_Vwrzpmqm7ILr9-lvogOBE0OXGLG7mg,622
|
|
353
367
|
v0/relationalai/semantics/__init__.py,sha256=SnJCjUGj-y9e5-75jxLsiZRM_xLmhOVaZwmgxtscinI,935
|
|
354
368
|
v0/relationalai/semantics/devtools/__init__.py,sha256=hckMw2EtrVBiE71ABXX8bWPdI-6DV9uHqkhYG_nl8S4,85
|
|
355
|
-
v0/relationalai/semantics/devtools/benchmark_lqp.py,sha256=
|
|
369
|
+
v0/relationalai/semantics/devtools/benchmark_lqp.py,sha256=02bMXOYAVYLzi1pYF9qGa9cBV7IH_-VTRNBL76Iq158,21254
|
|
356
370
|
v0/relationalai/semantics/devtools/compilation_manager.py,sha256=DDHY5DNwRK0hD9P8ffBUfrGIG24QI7HDj8XKZulgpog,11181
|
|
357
|
-
v0/relationalai/semantics/devtools/extract_lqp.py,sha256=
|
|
371
|
+
v0/relationalai/semantics/devtools/extract_lqp.py,sha256=R4F718cH2uYHz0lx66JHy-2Qj6QbWfqeR-ApAxyVqvU,3712
|
|
358
372
|
v0/relationalai/semantics/internal/__init__.py,sha256=BS0WE1GbT-HpQ5p_zMr9Fcvph562WMvMQNI9czfKNt0,798
|
|
359
373
|
v0/relationalai/semantics/internal/annotations.py,sha256=PkrRN-gHO2ksh1hDKB1VVIB39dONvLdTd8_Y0rCR3fE,367
|
|
360
374
|
v0/relationalai/semantics/internal/internal.py,sha256=-juUQ8AL1kAoh6PgpBQJ5Jp3qjwSgjx64s3IKeKXVYk,150821
|
|
361
|
-
v0/relationalai/semantics/internal/snowflake.py,sha256=
|
|
375
|
+
v0/relationalai/semantics/internal/snowflake.py,sha256=rQpxtR8BImj_ulTbmN0PIpMz0CvJrcC0-TPrTxCSa3k,13598
|
|
362
376
|
v0/relationalai/semantics/lqp/__init__.py,sha256=XgcQZxK-zz_LqPDVtwREhsIvjTuUIt4BZhIedCeMY-s,48
|
|
363
377
|
v0/relationalai/semantics/lqp/builtins.py,sha256=Xst9-UxkCAwDqL-hFOby8B3GKh705oidFUjEozxn71Y,585
|
|
364
378
|
v0/relationalai/semantics/lqp/compiler.py,sha256=xpGIQAqTMwLi3Vrbe79Yal7O_mfNxpBLioZjqeV2hzc,955
|
|
365
379
|
v0/relationalai/semantics/lqp/constructors.py,sha256=x7G85vbJzLIXzUCMKVdJVsr4PrcUsAOzCCfvimHLMVU,2366
|
|
366
|
-
v0/relationalai/semantics/lqp/executor.py,sha256=
|
|
380
|
+
v0/relationalai/semantics/lqp/executor.py,sha256=OkxegnEp4_U7uslhDS0cBi8OQOg499NPYEYomWpEqlI,21550
|
|
367
381
|
v0/relationalai/semantics/lqp/intrinsics.py,sha256=8kgH4ndYKBCNnoNOn7iWOU0wnMTSiov0kYaKocQ45RY,880
|
|
368
382
|
v0/relationalai/semantics/lqp/ir.py,sha256=6W9mUH0W7u5eIfF1S3o33uSOfQuM3UcqEkxrxpr1X_8,1867
|
|
369
383
|
v0/relationalai/semantics/lqp/model2lqp.py,sha256=J_QofcYgq_Yb5dhOOP4lXvxsxFMEGHVnaNXoCMK_ak8,38639
|
|
@@ -378,7 +392,7 @@ v0/relationalai/semantics/lqp/rewrite/__init__.py,sha256=V9ERED9qdh4VvY9Ud_M8Zn8
|
|
|
378
392
|
v0/relationalai/semantics/lqp/rewrite/annotate_constraints.py,sha256=zOm-OUzWBhk2iMc_eURII1-okIGJ-teDbEcJ30WDjUU,2325
|
|
379
393
|
v0/relationalai/semantics/lqp/rewrite/cdc.py,sha256=cx_fpQrzkzkeAGHE_kV10nd1-0Jduws6yiIRq650f4c,10412
|
|
380
394
|
v0/relationalai/semantics/lqp/rewrite/extract_common.py,sha256=johHGsS9SDDVbonMIE8Ck9rCuidllwdeJZDruW_5kQs,14705
|
|
381
|
-
v0/relationalai/semantics/lqp/rewrite/extract_keys.py,sha256=
|
|
395
|
+
v0/relationalai/semantics/lqp/rewrite/extract_keys.py,sha256=8C5te8XWU5JiLpc7WojIVKg0_wyMM-gdlxmJdHQSnQQ,22165
|
|
382
396
|
v0/relationalai/semantics/lqp/rewrite/function_annotations.py,sha256=WAHpqRVBqpUIDL2MA1aBmyOTvcpH_yfdeWBS1vAEtzA,4675
|
|
383
397
|
v0/relationalai/semantics/lqp/rewrite/functional_dependencies.py,sha256=LTwMvU19FMdgCG8nJwV2wyiW8Hu9oCj-hIKKSMOYZYE,12727
|
|
384
398
|
v0/relationalai/semantics/lqp/rewrite/quantify_vars.py,sha256=3l_pDMc4r-izuE274MP_ffNgZ6g7Rk5ysg3CXqKKlBU,12016
|
|
@@ -393,7 +407,7 @@ v0/relationalai/semantics/metamodel/factory.py,sha256=ECOg7Fg6DJrJDKIzv3TZqhuN4R
|
|
|
393
407
|
v0/relationalai/semantics/metamodel/helpers.py,sha256=G6p6XgqeM9b95D4yUaiq71l5WY40Y1neLgMjqk-ofeU,15409
|
|
394
408
|
v0/relationalai/semantics/metamodel/ir.py,sha256=4Xl3oc92Q7_s33axtrZUXr-GL8VGJsKc7yaSNcO6jXY,33578
|
|
395
409
|
v0/relationalai/semantics/metamodel/types.py,sha256=9ErIkHgsTcPgsoEet-meiftLs4W1MJb-G1H_1EzFfLY,11557
|
|
396
|
-
v0/relationalai/semantics/metamodel/util.py,sha256
|
|
410
|
+
v0/relationalai/semantics/metamodel/util.py,sha256=-_9UMyLvz6bzAI0paXWLWlbqOcPwI9dKopPwEK3ZZhk,16755
|
|
397
411
|
v0/relationalai/semantics/metamodel/visitor.py,sha256=DFY0DACLhxlZ0e4p0vWqbK6ZJr_GWEvH66CU_HVuoTk,35527
|
|
398
412
|
v0/relationalai/semantics/metamodel/rewrite/__init__.py,sha256=9ONWFSdMPHkWpObDMSljt8DywhpFf4Ehsq1aT3fTPt8,344
|
|
399
413
|
v0/relationalai/semantics/metamodel/rewrite/discharge_constraints.py,sha256=jilU6ZNaqhoFRwNdxArSfYb3Rbeahig9kDjdYoJR9Q4,1955
|
|
@@ -411,11 +425,11 @@ v0/relationalai/semantics/reasoners/graph/core.py,sha256=Bth2oe5ulItBChZCoFTgP-o
|
|
|
411
425
|
v0/relationalai/semantics/reasoners/optimization/__init__.py,sha256=HZlyy3Od7ArXI_HMhWrxrQPnyZGScgiVdmMul51lx7Q,2218
|
|
412
426
|
v0/relationalai/semantics/reasoners/optimization/common.py,sha256=gmJrJAPNyaBqik2_QaxjCoFPZKqdroxmNXUeoDGwOtY,3130
|
|
413
427
|
v0/relationalai/semantics/reasoners/optimization/solvers_dev.py,sha256=MqCvdDk1l_XSBlHd5-XpHVfcvD8INjCNbCttaomv6SY,24517
|
|
414
|
-
v0/relationalai/semantics/reasoners/optimization/solvers_pb.py,sha256=
|
|
428
|
+
v0/relationalai/semantics/reasoners/optimization/solvers_pb.py,sha256=MbubEIDJbXpe1gJ3lT_yBhVSDzA_EVuDvxRU4bLOjUk,60159
|
|
415
429
|
v0/relationalai/semantics/rel/__init__.py,sha256=pMlVTC_TbQ45mP1LpzwFBBgPxpKc0H3uJDvvDXEWzvs,55
|
|
416
430
|
v0/relationalai/semantics/rel/builtins.py,sha256=0M9r5GQb9CnkkbdhO8Psw9TgiZk5CC3z5RMncUa6uuM,1571
|
|
417
431
|
v0/relationalai/semantics/rel/compiler.py,sha256=t7gitonfRewTk8IQ53DTqPegytwax1jGu43VgQOqBWA,43062
|
|
418
|
-
v0/relationalai/semantics/rel/executor.py,sha256=
|
|
432
|
+
v0/relationalai/semantics/rel/executor.py,sha256=fJnOb6Lgv32Qrr8V72i4M6ebOuEiqqyOcSuffUok3AI,17660
|
|
419
433
|
v0/relationalai/semantics/rel/rel.py,sha256=mQTykcHz63P1w8nhvA8SwYRtIi0LEud19vGrdh0ZrG8,15747
|
|
420
434
|
v0/relationalai/semantics/rel/rel_utils.py,sha256=B9qR7hUouybwluuo9zUYemv6tWPnDPaV4da-emsTrRQ,9569
|
|
421
435
|
v0/relationalai/semantics/snowflake/__init__.py,sha256=QRcuGvnK-TeNOWvHpBu5Z4hJHcMRXb5IPOokvLihy1U,169
|
|
@@ -425,7 +439,7 @@ v0/relationalai/semantics/sql/sql.py,sha256=a3EBJKPp92EoVpl1qct2jdBwXQflFpG1nJ2O
|
|
|
425
439
|
v0/relationalai/semantics/sql/executor/__init__.py,sha256=F3HqQPJVP9wgV3rkwI5jy1_QBCD_3qj2IGxbdT_pX9k,120
|
|
426
440
|
v0/relationalai/semantics/sql/executor/duck_db.py,sha256=FriWhN_IvpQ1YH0YcQ9vlnPRkM1ARoqKDZd0koSk0SM,1918
|
|
427
441
|
v0/relationalai/semantics/sql/executor/result_helpers.py,sha256=WFeijyYXUSl2Ut25SNFYTGZ-XktTlz8CZQt5xm9QW9o,3224
|
|
428
|
-
v0/relationalai/semantics/sql/executor/snowflake.py,sha256=
|
|
442
|
+
v0/relationalai/semantics/sql/executor/snowflake.py,sha256=ItM-dcC-OynlAQNtXTdmVdSyJtKuY24_9_vIXDFP9-A,6024
|
|
429
443
|
v0/relationalai/semantics/sql/rewrite/__init__.py,sha256=AT1WR0rqQHQ7E06NLoVym0zrZpBVPqK85uRFNJUTDp4,254
|
|
430
444
|
v0/relationalai/semantics/sql/rewrite/denormalize.py,sha256=zCwjt8FvcOjs88GUOzLzoqYcxPVlARrYtbVc78yQeBI,9046
|
|
431
445
|
v0/relationalai/semantics/sql/rewrite/double_negation.py,sha256=Rm2-g_gbPPYzqMfsYWX0Z9rm_d-kGVuNRBFNrUaMBbo,1713
|
|
@@ -444,7 +458,7 @@ v0/relationalai/semantics/std/std.py,sha256=T9cPRC19I3WlolDyHk8nwVzGRyyYCpbagN1v
|
|
|
444
458
|
v0/relationalai/semantics/std/strings.py,sha256=3fw1VAggsuFosH_3-5BIB4KbKDmqVque9FlV3yJusrE,2705
|
|
445
459
|
v0/relationalai/semantics/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
446
460
|
v0/relationalai/semantics/tests/logging.py,sha256=oJTrUS_Bq6WxqqO8QLtrjdkUB02Uu5erZ7FTl__-lNY,1432
|
|
447
|
-
v0/relationalai/semantics/tests/test_snapshot_abstract.py,sha256=
|
|
461
|
+
v0/relationalai/semantics/tests/test_snapshot_abstract.py,sha256=Q2rIUhzwVAJMJVoCsBtrCVBYafUR7nTQUxO2bL3ECa8,6336
|
|
448
462
|
v0/relationalai/semantics/tests/test_snapshot_base.py,sha256=Q2zThxDOp2FrXK4uhV4nStBc_Q2-ML6MJ-dfE-e6R7U,469
|
|
449
463
|
v0/relationalai/semantics/tests/utils.py,sha256=qcZ5IgU6_vRdKI9yLuoUkBE0Cq0iU6yzPh5HQaH3ttA,1834
|
|
450
464
|
v0/relationalai/std/__init__.py,sha256=r-o7hYZip7xe1stQP4R10jFNA_Km1dcFwmr2j7LBF3s,2184
|
|
@@ -457,9 +471,9 @@ v0/relationalai/std/re.py,sha256=7B0dPaYyEdIlEgZfDzs7HJ_MTqccYTfIZieqst6MHbk,445
|
|
|
457
471
|
v0/relationalai/std/strings.py,sha256=vHvex_W5GHhhsVws6Dfyl4w1EHdbDE3nPjT09DnpvSE,4260
|
|
458
472
|
v0/relationalai/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
459
473
|
v0/relationalai/tools/cleanup_snapshots.py,sha256=s1q1ophi1RmiTZ9QQolQ6q1K9ZwseCaOuDtI1Rm99MQ,3434
|
|
460
|
-
v0/relationalai/tools/cli.py,sha256=
|
|
474
|
+
v0/relationalai/tools/cli.py,sha256=7Ads7TGIqqUviVCW1YoVK14chhLu2v2Vr4Zo9GrInNg,76883
|
|
461
475
|
v0/relationalai/tools/cli_controls.py,sha256=PgXdmJ7JJxk_yUyhljPBV7A4qbAzvSMvjhybni7bJwo,70474
|
|
462
|
-
v0/relationalai/tools/cli_helpers.py,sha256=
|
|
476
|
+
v0/relationalai/tools/cli_helpers.py,sha256=z6RGKDNwOK8DjWtd-rxiSNdEtnwdF8Kh5d0xV9xtjkI,14449
|
|
463
477
|
v0/relationalai/tools/constants.py,sha256=A8Qz0CPs2cRUs5xaZ-Y7BCyvqmI6RLvipzwLDYZ3_PU,4505
|
|
464
478
|
v0/relationalai/tools/debugger.py,sha256=CiPy3czIR80TfnjGTTpiDSJC2ZlPneAtlddPEMri7Us,6937
|
|
465
479
|
v0/relationalai/tools/debugger_client.py,sha256=lh2ejDZkAmOBu2qOAdVqH0XnqMKM7azGmXXDpTSoq30,3741
|
|
@@ -474,16 +488,16 @@ v0/relationalai/util/constants.py,sha256=rq6c1Q5tLIewiG_M_lUtRAbmrKFUUL1jfl_nxU0
|
|
|
474
488
|
v0/relationalai/util/format.py,sha256=fLRovumUa2cu0_2gy3O5vaEbpND4p9_IIgr-vDaIGDc,3754
|
|
475
489
|
v0/relationalai/util/graph.py,sha256=eT8s0yCiJIu6D1T1fjZsLSPCcuQb2Mzl6qnljtQ5TuA,1504
|
|
476
490
|
v0/relationalai/util/list_databases.py,sha256=dHu9xQkL1MxORrHMqR5E38GybzIjsfayCnFKFKEzXL4,155
|
|
477
|
-
v0/relationalai/util/otel_configuration.py,sha256=
|
|
478
|
-
v0/relationalai/util/otel_handler.py,sha256=
|
|
491
|
+
v0/relationalai/util/otel_configuration.py,sha256=rt6jQsWBevQNMkTBT3RDHR7r-py2O05vRgx4y2XAdZc,1127
|
|
492
|
+
v0/relationalai/util/otel_handler.py,sha256=lG4fcCb4C8PvQ38c53uhW1-9--son6qztT0QmzbenWU,18131
|
|
479
493
|
v0/relationalai/util/snowflake_handler.py,sha256=mm5hm4FjjaTkDwZGocOkRK4DmLQqFWLMV05pv7mmvUg,2945
|
|
480
494
|
v0/relationalai/util/span_format_test.py,sha256=djFxvHx7IDdh0QwU4DBThTd8OQBBZTBDN4dGcpOwf1Y,1348
|
|
481
495
|
v0/relationalai/util/span_tracker.py,sha256=7vyvEBdI9uCj1dxVZCQT_W5vPMxIzxewrlRRkvD5FGA,7900
|
|
482
496
|
v0/relationalai/util/spans_file_handler.py,sha256=w34WVw19ubtrjPBkKmg0Hb-9MldICmowF1OW85KCJN0,3209
|
|
483
497
|
v0/relationalai/util/timeout.py,sha256=2o6BVNFnFc-B2j-i1pEkZcQbMRto9ps2emci0XwiA4I,783
|
|
484
498
|
v0/relationalai/util/tracing_handler.py,sha256=wJQN52PRw8R2XB1_qd-POgfGZStrj9OFL7wa5Xr6SEM,1732
|
|
485
|
-
relationalai-1.0.
|
|
486
|
-
relationalai-1.0.
|
|
487
|
-
relationalai-1.0.
|
|
488
|
-
relationalai-1.0.
|
|
489
|
-
relationalai-1.0.
|
|
499
|
+
relationalai-1.0.0a4.dist-info/METADATA,sha256=IBtzvgqfMTby0BJHn885Ub5UgZ9O3f_flCGqY84qCWM,1417
|
|
500
|
+
relationalai-1.0.0a4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
501
|
+
relationalai-1.0.0a4.dist-info/entry_points.txt,sha256=u_anMN5_VCOQNA5E2mTLT2LWc9r1i-F9yQmy3ZNAAck,91
|
|
502
|
+
relationalai-1.0.0a4.dist-info/top_level.txt,sha256=Y9cfzWf-p2omqqmVy_98m287xf0OJbj6OB5RRdkGql4,16
|
|
503
|
+
relationalai-1.0.0a4.dist-info/RECORD,,
|
v0/relationalai/__init__.py
CHANGED
|
@@ -7,8 +7,8 @@ import importlib.metadata
|
|
|
7
7
|
|
|
8
8
|
from typing import cast
|
|
9
9
|
|
|
10
|
-
from .clients import config as cfg
|
|
11
10
|
from .clients.config import Config, save_config
|
|
11
|
+
from . import clients
|
|
12
12
|
from . import dsl
|
|
13
13
|
from . import debugging
|
|
14
14
|
from . import metamodel
|
|
@@ -19,11 +19,14 @@ from . import tools
|
|
|
19
19
|
from .util.otel_configuration import configure_otel
|
|
20
20
|
from snowflake.snowpark import Session
|
|
21
21
|
from .errors import RAIException, handle_missing_integration
|
|
22
|
-
from .environments import runtime_env, SessionEnvironment
|
|
23
|
-
from v0.relationalai.tools.constants import
|
|
22
|
+
from .environments import runtime_env, SessionEnvironment, SnowbookEnvironment
|
|
23
|
+
from v0.relationalai.tools.constants import Generation
|
|
24
24
|
|
|
25
25
|
import __main__
|
|
26
26
|
|
|
27
|
+
# Define cfg after all imports since it depends on clients being imported
|
|
28
|
+
cfg = clients.config
|
|
29
|
+
|
|
27
30
|
# __version__ = importlib.metadata.version(__package__ or __name__)
|
|
28
31
|
|
|
29
32
|
__version__ = '1.0.0a'
|
|
@@ -114,9 +117,9 @@ def Model(
|
|
|
114
117
|
|
|
115
118
|
try:
|
|
116
119
|
if platform == "azure":
|
|
117
|
-
|
|
120
|
+
from v0.relationalai.clients.resources.azure.azure import Graph
|
|
118
121
|
from .util.otel_handler import disable_otel_handling, is_otel_initialized
|
|
119
|
-
model =
|
|
122
|
+
model = Graph(
|
|
120
123
|
name,
|
|
121
124
|
profile=profile,
|
|
122
125
|
config=config,
|
|
@@ -128,8 +131,18 @@ def Model(
|
|
|
128
131
|
if is_otel_initialized:
|
|
129
132
|
disable_otel_handling()
|
|
130
133
|
elif platform == "snowflake":
|
|
131
|
-
|
|
132
|
-
|
|
134
|
+
try:
|
|
135
|
+
from v0.relationalai.clients.resources.snowflake import Graph
|
|
136
|
+
except ImportError as e:
|
|
137
|
+
# Provide a helpful error message for Snowflake notebook environments
|
|
138
|
+
if isinstance(runtime_env, SnowbookEnvironment):
|
|
139
|
+
raise ImportError(
|
|
140
|
+
"Failed to import relationalai.clients.resources.snowflake. "
|
|
141
|
+
"This may indicate that the relationalai.zip package structure is incomplete. "
|
|
142
|
+
"Please ensure the zip file includes the full clients/resources/snowflake directory structure."
|
|
143
|
+
) from e
|
|
144
|
+
raise
|
|
145
|
+
model = Graph(
|
|
133
146
|
name,
|
|
134
147
|
profile=profile,
|
|
135
148
|
config=config,
|
|
@@ -164,18 +177,41 @@ def Resources(
|
|
|
164
177
|
config = config or Config(profile)
|
|
165
178
|
platform = config.get("platform", "snowflake")
|
|
166
179
|
if platform == "azure":
|
|
167
|
-
from v0.relationalai.clients.azure import Resources
|
|
180
|
+
from v0.relationalai.clients.resources.azure.azure import Resources
|
|
168
181
|
return Resources(config=config)
|
|
169
182
|
elif platform == "snowflake":
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
183
|
+
try:
|
|
184
|
+
from v0.relationalai.clients.resources.snowflake.resources_factory import create_resources_instance
|
|
185
|
+
except ImportError as e:
|
|
186
|
+
# Provide a helpful error message for Snowflake notebook environments
|
|
187
|
+
from v0.relationalai.environments import runtime_env, SnowbookEnvironment
|
|
188
|
+
if isinstance(runtime_env, SnowbookEnvironment):
|
|
189
|
+
raise ImportError(
|
|
190
|
+
"Failed to import relationalai.clients.resources.snowflake. "
|
|
191
|
+
"This may indicate that the relationalai.zip package structure is incomplete. "
|
|
192
|
+
"Please ensure the zip file includes the full clients/resources/snowflake directory structure."
|
|
193
|
+
) from e
|
|
194
|
+
raise
|
|
195
|
+
return create_resources_instance(
|
|
196
|
+
config=config,
|
|
197
|
+
profile=profile,
|
|
198
|
+
connection=connection,
|
|
199
|
+
reset_session=reset_session,
|
|
200
|
+
generation=generation or Generation.V0,
|
|
201
|
+
dry_run=False,
|
|
202
|
+
language="rel",
|
|
203
|
+
)
|
|
176
204
|
elif platform == "local":
|
|
177
|
-
from v0.relationalai.clients.
|
|
178
|
-
return
|
|
205
|
+
from v0.relationalai.clients.resources.snowflake.resources_factory import create_resources_instance
|
|
206
|
+
return create_resources_instance(
|
|
207
|
+
config=config,
|
|
208
|
+
profile=profile,
|
|
209
|
+
connection=connection,
|
|
210
|
+
reset_session=reset_session,
|
|
211
|
+
generation=generation or Generation.V0,
|
|
212
|
+
dry_run=False,
|
|
213
|
+
language="rel",
|
|
214
|
+
)
|
|
179
215
|
else:
|
|
180
216
|
raise Exception(f"Unknown platform: {platform}")
|
|
181
217
|
|
|
@@ -188,15 +224,26 @@ def Provider(
|
|
|
188
224
|
resources = Resources(profile, config, connection, generation=generation)
|
|
189
225
|
platform = resources.config.get("platform", "snowflake")
|
|
190
226
|
if platform == "azure":
|
|
191
|
-
|
|
192
|
-
resources = cast(
|
|
193
|
-
return
|
|
227
|
+
from v0.relationalai.clients.resources.azure.azure import Resources as AzureResources, Provider as AzureProvider
|
|
228
|
+
resources = cast(AzureResources, resources)
|
|
229
|
+
return AzureProvider(
|
|
194
230
|
resources=resources
|
|
195
231
|
)
|
|
196
232
|
elif platform == "snowflake":
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
233
|
+
try:
|
|
234
|
+
from v0.relationalai.clients.resources.snowflake import Resources as SnowflakeResources, Provider as SnowflakeProvider
|
|
235
|
+
except ImportError as e:
|
|
236
|
+
# Provide a helpful error message for Snowflake notebook environments
|
|
237
|
+
from v0.relationalai.environments import runtime_env, SnowbookEnvironment
|
|
238
|
+
if isinstance(runtime_env, SnowbookEnvironment):
|
|
239
|
+
raise ImportError(
|
|
240
|
+
"Failed to import relationalai.clients.resources.snowflake. "
|
|
241
|
+
"This may indicate that the relationalai.zip package structure is incomplete. "
|
|
242
|
+
"Please ensure the zip file includes the full clients/resources/snowflake directory structure."
|
|
243
|
+
) from e
|
|
244
|
+
raise
|
|
245
|
+
resources = cast(SnowflakeResources, resources)
|
|
246
|
+
return SnowflakeProvider(
|
|
200
247
|
resources=resources,
|
|
201
248
|
generation=generation
|
|
202
249
|
)
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Azure import is dropped because we need to to do runtime import of azure module to support our package running on Snowflake Notebook
|
|
2
|
-
from . import config
|
|
2
|
+
from . import config
|
|
3
|
+
|
|
4
|
+
# Lazy imports for client and local to avoid circular import issues
|
|
5
|
+
# These modules import from relationalai which imports from clients, creating a cycle
|
|
6
|
+
def __getattr__(name: str):
|
|
7
|
+
if name == 'client':
|
|
8
|
+
from . import client
|
|
9
|
+
return client
|
|
10
|
+
elif name == 'local':
|
|
11
|
+
from . import local
|
|
12
|
+
return local
|
|
13
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
3
14
|
|
|
4
15
|
# note: user must do `import relationalai.clients.azure` to get `azure` submodule
|
|
5
|
-
|
|
16
|
+
# note: snowflake module is now at relationalai.clients.resources.snowflake
|
|
17
|
+
# note: 'client' and 'local' are lazy-loaded via __getattr__, so they're not in __all__
|
|
18
|
+
__all__ = ['config']
|
|
@@ -10,12 +10,12 @@ from dataclasses import dataclass
|
|
|
10
10
|
from pandas import DataFrame
|
|
11
11
|
import time
|
|
12
12
|
|
|
13
|
-
from
|
|
14
|
-
from
|
|
13
|
+
from .hash_util import database_name_from_sproc_name
|
|
14
|
+
from ..tools.constants import USE_GRAPH_INDEX, USE_PACKAGE_MANAGER
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
from .types import AvailableModel, EngineState, Import, ImportSource, ImportsStatus, SourceMapEntry
|
|
18
|
-
from
|
|
18
|
+
from .config import Config
|
|
19
19
|
from ..compiler import Compiler
|
|
20
20
|
from ..environments import runtime_env, NotebookRuntimeEnvironment
|
|
21
21
|
from .. import dsl, debugging, metamodel as m
|
|
@@ -210,7 +210,7 @@ class ResourcesBase(ABC):
|
|
|
210
210
|
return engine
|
|
211
211
|
|
|
212
212
|
@abstractmethod
|
|
213
|
-
def auto_create_engine_async(self, name: str | None = None):
|
|
213
|
+
def auto_create_engine_async(self, name: str | None = None) -> str:
|
|
214
214
|
pass
|
|
215
215
|
|
|
216
216
|
_active_engine: EngineState|None = None
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import time
|
|
4
|
+
from typing import Dict, Optional, TYPE_CHECKING
|
|
5
|
+
|
|
6
|
+
from v0.relationalai import debugging
|
|
7
|
+
from v0.relationalai.clients.util import poll_with_specified_overhead
|
|
8
|
+
from v0.relationalai.tools.cli_controls import create_progress
|
|
9
|
+
from v0.relationalai.util.format import format_duration
|
|
10
|
+
|
|
11
|
+
if TYPE_CHECKING:
|
|
12
|
+
from v0.relationalai.clients.resources.snowflake import Resources
|
|
13
|
+
|
|
14
|
+
# Polling behavior constants
|
|
15
|
+
POLL_OVERHEAD_RATE = 0.1 # Overhead rate for exponential backoff
|
|
16
|
+
|
|
17
|
+
# Text color constants
|
|
18
|
+
GREEN_COLOR = '\033[92m'
|
|
19
|
+
GRAY_COLOR = '\033[90m'
|
|
20
|
+
ENDC = '\033[0m'
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ExecTxnPoller:
|
|
24
|
+
"""
|
|
25
|
+
Encapsulates the polling logic for exec_async transaction completion.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
def __init__(
|
|
29
|
+
self,
|
|
30
|
+
resource: "Resources",
|
|
31
|
+
txn_id: str,
|
|
32
|
+
headers: Optional[Dict] = None,
|
|
33
|
+
txn_start_time: Optional[float] = None,
|
|
34
|
+
):
|
|
35
|
+
self.res = resource
|
|
36
|
+
self.txn_id = txn_id
|
|
37
|
+
self.headers = headers or {}
|
|
38
|
+
self.txn_start_time = txn_start_time or time.time()
|
|
39
|
+
|
|
40
|
+
def poll(self) -> bool:
|
|
41
|
+
"""
|
|
42
|
+
Poll for transaction completion with interactive progress display.
|
|
43
|
+
|
|
44
|
+
Returns:
|
|
45
|
+
True if transaction completed successfully, False otherwise
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
# Don't show duration summary - we handle our own completion message
|
|
49
|
+
with create_progress(
|
|
50
|
+
description="Evaluating Query...",
|
|
51
|
+
success_message="", # We'll handle this ourselves
|
|
52
|
+
leading_newline=False,
|
|
53
|
+
trailing_newline=False,
|
|
54
|
+
show_duration_summary=False,
|
|
55
|
+
) as progress:
|
|
56
|
+
def check_status() -> bool:
|
|
57
|
+
"""Check if transaction is complete."""
|
|
58
|
+
elapsed = time.time() - self.txn_start_time
|
|
59
|
+
# Update the main status with elapsed time
|
|
60
|
+
progress.update_main_status(
|
|
61
|
+
query_progress_message(self.txn_id, elapsed)
|
|
62
|
+
)
|
|
63
|
+
return self.res._check_exec_async_status(self.txn_id, headers=self.headers)
|
|
64
|
+
|
|
65
|
+
with debugging.span("wait", txn_id=self.txn_id):
|
|
66
|
+
poll_with_specified_overhead(check_status, overhead_rate=POLL_OVERHEAD_RATE)
|
|
67
|
+
|
|
68
|
+
# Calculate final duration
|
|
69
|
+
total_duration = time.time() - self.txn_start_time
|
|
70
|
+
|
|
71
|
+
# Update to success message with duration
|
|
72
|
+
progress.update_main_status(
|
|
73
|
+
query_complete_message(self.txn_id, total_duration)
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
return True
|
|
77
|
+
|
|
78
|
+
def query_progress_message(id: str, duration: float) -> str:
|
|
79
|
+
return (
|
|
80
|
+
# Print with whitespace to align with the end of the transaction ID
|
|
81
|
+
f"Evaluating Query... {format_duration(duration):>18}\n" +
|
|
82
|
+
f"{GRAY_COLOR}Query: {id}{ENDC}"
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
def query_complete_message(id: str, duration: float, status_header: bool = False) -> str:
|
|
86
|
+
return (
|
|
87
|
+
(f"{GREEN_COLOR}✅ " if status_header else "") +
|
|
88
|
+
# Print with whitespace to align with the end of the transaction ID
|
|
89
|
+
f"Query Complete: {format_duration(duration):>24}\n" +
|
|
90
|
+
f"{GRAY_COLOR}Query: {id}{ENDC}"
|
|
91
|
+
)
|
v0/relationalai/clients/local.py
CHANGED
|
@@ -13,10 +13,10 @@ from typing import Any, Dict, List, Iterable, Literal, Optional, Tuple, Union
|
|
|
13
13
|
from requests.adapters import HTTPAdapter
|
|
14
14
|
from urllib3.util.retry import Retry
|
|
15
15
|
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
16
|
+
from .client import ResourcesBase, ProviderBase
|
|
17
|
+
from .config import Config
|
|
18
|
+
from .types import TransactionAsyncResponse
|
|
19
|
+
from .util import get_pyrel_version
|
|
20
20
|
from ..errors import ResponseStatusException
|
|
21
21
|
from .. import debugging
|
|
22
22
|
|
|
@@ -202,7 +202,7 @@ class LocalResources(ResourcesBase):
|
|
|
202
202
|
def alter_engine_pool(self, size: str | None = None, mins: int | None = None, maxs: int | None = None):
|
|
203
203
|
raise NotImplementedError("alter_engine_pool not supported in local mode")
|
|
204
204
|
|
|
205
|
-
def auto_create_engine_async(self, name: str | None = None):
|
|
205
|
+
def auto_create_engine_async(self, name: str | None = None) -> str:
|
|
206
206
|
raise NotImplementedError("auto_create_engine_async not supported in local mode")
|
|
207
207
|
|
|
208
208
|
#--------------------------------------------------
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Resources module for RelationalAI clients.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
# This package contains resource implementations for different platforms:
|
|
6
|
+
# - snowflake: Snowflake-specific resources
|
|
7
|
+
# - azure: Azure-specific resources (optional, may not be available in all environments)
|
|
8
|
+
|
|
@@ -9,18 +9,18 @@ from urllib.error import HTTPError
|
|
|
9
9
|
|
|
10
10
|
from pandas import DataFrame
|
|
11
11
|
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
|
|
15
|
-
from
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
20
|
-
from
|
|
21
|
-
from
|
|
12
|
+
from .... import debugging
|
|
13
|
+
from ...util import poll_with_specified_overhead
|
|
14
|
+
|
|
15
|
+
from ....errors import EngineNotFoundException, RAIException, AzureUnsupportedQueryTimeoutException
|
|
16
|
+
from ....rel_utils import assert_no_problems
|
|
17
|
+
from ....loaders.loader import emit_delete_import, import_file, list_available_resources
|
|
18
|
+
from ...config import Config
|
|
19
|
+
from ...types import EngineState, ImportSource, ImportSourceFile, TransactionAsyncResponse
|
|
20
|
+
from ...client import Client, ExportParams, ProviderBase, ResourcesBase
|
|
21
|
+
from .... import dsl, rel, metamodel as m
|
|
22
22
|
from railib import api
|
|
23
|
-
from
|
|
23
|
+
from ... import result_helpers
|
|
24
24
|
|
|
25
25
|
#--------------------------------------------------
|
|
26
26
|
# Constants
|
|
@@ -105,7 +105,7 @@ class Resources(ResourcesBase):
|
|
|
105
105
|
def resume_engine_async(self, name:str):
|
|
106
106
|
return api.resume_engine(self._api_ctx(), name)
|
|
107
107
|
|
|
108
|
-
def auto_create_engine_async(self, name: str | None = None):
|
|
108
|
+
def auto_create_engine_async(self, name: str | None = None) -> str:
|
|
109
109
|
raise Exception("Azure doesn't support auto_create_engine_async")
|
|
110
110
|
|
|
111
111
|
def alter_engine_pool(self, size: str | None = None, mins: int | None = None, maxs: int | None = None):
|