snowflake-cli-labs 2.7.0rc4__py3-none-any.whl → 2.8.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.
- snowflake/cli/__about__.py +1 -1
- snowflake/cli/api/project/definition.py +3 -36
- snowflake/cli/api/project/errors.py +16 -1
- snowflake/cli/api/project/schemas/entities/application_entity.py +5 -11
- snowflake/cli/api/project/schemas/entities/application_package_entity.py +5 -2
- snowflake/cli/api/project/schemas/entities/common.py +15 -22
- snowflake/cli/api/project/schemas/native_app/application.py +10 -2
- snowflake/cli/api/project/schemas/native_app/native_app.py +13 -2
- snowflake/cli/api/project/schemas/native_app/package.py +24 -1
- snowflake/cli/api/project/schemas/project_definition.py +23 -40
- snowflake/cli/api/project/schemas/snowpark/callable.py +1 -3
- snowflake/cli/api/project/schemas/updatable_model.py +148 -5
- snowflake/cli/api/project/util.py +55 -7
- snowflake/cli/api/rendering/jinja.py +1 -0
- snowflake/cli/api/rendering/project_templates.py +8 -7
- snowflake/cli/api/rendering/sql_templates.py +8 -4
- snowflake/cli/api/utils/definition_rendering.py +50 -11
- snowflake/cli/api/utils/models.py +10 -7
- snowflake/cli/api/utils/templating_functions.py +144 -0
- snowflake/cli/app/build_and_push.sh +8 -0
- snowflake/cli/app/snow_connector.py +14 -10
- snowflake/cli/plugins/init/commands.py +13 -7
- snowflake/cli/plugins/nativeapp/manager.py +93 -10
- snowflake/cli/plugins/nativeapp/project_model.py +13 -3
- snowflake/cli/plugins/nativeapp/run_processor.py +22 -51
- snowflake/cli/plugins/nativeapp/v2_conversions/v2_to_v1_decorator.py +7 -18
- snowflake/cli/plugins/nativeapp/version/version_processor.py +4 -0
- snowflake/cli/plugins/snowpark/commands.py +6 -3
- {snowflake_cli_labs-2.7.0rc4.dist-info → snowflake_cli_labs-2.8.0.dist-info}/METADATA +1 -1
- {snowflake_cli_labs-2.7.0rc4.dist-info → snowflake_cli_labs-2.8.0.dist-info}/RECORD +33 -31
- {snowflake_cli_labs-2.7.0rc4.dist-info → snowflake_cli_labs-2.8.0.dist-info}/WHEEL +0 -0
- {snowflake_cli_labs-2.7.0rc4.dist-info → snowflake_cli_labs-2.8.0.dist-info}/entry_points.txt +0 -0
- {snowflake_cli_labs-2.7.0rc4.dist-info → snowflake_cli_labs-2.8.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -25,6 +25,7 @@ from typing import Any, List, NoReturn, Optional, TypedDict
|
|
|
25
25
|
|
|
26
26
|
import jinja2
|
|
27
27
|
from click import ClickException
|
|
28
|
+
from snowflake.cli.api.cli_global_context import cli_context
|
|
28
29
|
from snowflake.cli.api.console import cli_console as cc
|
|
29
30
|
from snowflake.cli.api.errno import (
|
|
30
31
|
DOES_NOT_EXIST_OR_CANNOT_BE_PERFORMED,
|
|
@@ -33,7 +34,7 @@ from snowflake.cli.api.errno import (
|
|
|
33
34
|
)
|
|
34
35
|
from snowflake.cli.api.exceptions import SnowflakeSQLExecutionError
|
|
35
36
|
from snowflake.cli.api.project.schemas.native_app.application import (
|
|
36
|
-
|
|
37
|
+
PostDeployHook,
|
|
37
38
|
)
|
|
38
39
|
from snowflake.cli.api.project.schemas.native_app.native_app import NativeApp
|
|
39
40
|
from snowflake.cli.api.project.schemas.native_app.path_mapping import PathMapping
|
|
@@ -41,6 +42,10 @@ from snowflake.cli.api.project.util import (
|
|
|
41
42
|
identifier_for_url,
|
|
42
43
|
unquote_identifier,
|
|
43
44
|
)
|
|
45
|
+
from snowflake.cli.api.rendering.sql_templates import (
|
|
46
|
+
get_sql_cli_jinja_env,
|
|
47
|
+
)
|
|
48
|
+
from snowflake.cli.api.secure_path import UNLIMITED, SecurePath
|
|
44
49
|
from snowflake.cli.api.sql_execution import SqlExecutionMixin
|
|
45
50
|
from snowflake.cli.plugins.connection.util import make_snowsight_url
|
|
46
51
|
from snowflake.cli.plugins.nativeapp.artifacts import (
|
|
@@ -279,9 +284,13 @@ class NativeAppManager(SqlExecutionMixin):
|
|
|
279
284
|
return self.na_project.app_role
|
|
280
285
|
|
|
281
286
|
@property
|
|
282
|
-
def app_post_deploy_hooks(self) -> Optional[List[
|
|
287
|
+
def app_post_deploy_hooks(self) -> Optional[List[PostDeployHook]]:
|
|
283
288
|
return self.na_project.app_post_deploy_hooks
|
|
284
289
|
|
|
290
|
+
@property
|
|
291
|
+
def package_post_deploy_hooks(self) -> Optional[List[PostDeployHook]]:
|
|
292
|
+
return self.na_project.package_post_deploy_hooks
|
|
293
|
+
|
|
285
294
|
@property
|
|
286
295
|
def debug_mode(self) -> bool:
|
|
287
296
|
return self.na_project.debug_mode
|
|
@@ -569,7 +578,10 @@ class NativeAppManager(SqlExecutionMixin):
|
|
|
569
578
|
)
|
|
570
579
|
|
|
571
580
|
def _expand_script_templates(
|
|
572
|
-
self,
|
|
581
|
+
self,
|
|
582
|
+
env: jinja2.Environment,
|
|
583
|
+
jinja_context: dict[str, Any],
|
|
584
|
+
scripts: List[str],
|
|
573
585
|
) -> List[str]:
|
|
574
586
|
"""
|
|
575
587
|
Input:
|
|
@@ -581,20 +593,22 @@ class NativeAppManager(SqlExecutionMixin):
|
|
|
581
593
|
Size of the return list is the same as the size of the input scripts list.
|
|
582
594
|
"""
|
|
583
595
|
scripts_contents = []
|
|
584
|
-
for
|
|
596
|
+
for script in scripts:
|
|
597
|
+
full_path = SecurePath(self.project_root) / script
|
|
585
598
|
try:
|
|
586
|
-
|
|
599
|
+
template_content = full_path.read_text(file_size_limit_mb=UNLIMITED)
|
|
600
|
+
template = env.from_string(template_content)
|
|
587
601
|
result = template.render(**jinja_context)
|
|
588
602
|
scripts_contents.append(result)
|
|
589
603
|
|
|
590
|
-
except
|
|
591
|
-
raise MissingScriptError(
|
|
604
|
+
except FileNotFoundError as e:
|
|
605
|
+
raise MissingScriptError(script) from e
|
|
592
606
|
|
|
593
607
|
except jinja2.TemplateSyntaxError as e:
|
|
594
|
-
raise InvalidScriptError(
|
|
608
|
+
raise InvalidScriptError(script, e, e.lineno) from e
|
|
595
609
|
|
|
596
610
|
except jinja2.UndefinedError as e:
|
|
597
|
-
raise InvalidScriptError(
|
|
611
|
+
raise InvalidScriptError(script, e) from e
|
|
598
612
|
|
|
599
613
|
return scripts_contents
|
|
600
614
|
|
|
@@ -603,8 +617,14 @@ class NativeAppManager(SqlExecutionMixin):
|
|
|
603
617
|
Assuming the application package exists and we are using the correct role,
|
|
604
618
|
applies all package scripts in-order to the application package.
|
|
605
619
|
"""
|
|
620
|
+
|
|
621
|
+
if self.package_scripts:
|
|
622
|
+
cc.warning(
|
|
623
|
+
"WARNING: native_app.package.scripts is deprecated. Please migrate to using native_app.package.post_deploy."
|
|
624
|
+
)
|
|
625
|
+
|
|
606
626
|
env = jinja2.Environment(
|
|
607
|
-
loader=jinja2.
|
|
627
|
+
loader=jinja2.BaseLoader(),
|
|
608
628
|
keep_trailing_newline=True,
|
|
609
629
|
undefined=jinja2.StrictUndefined,
|
|
610
630
|
)
|
|
@@ -624,6 +644,65 @@ class NativeAppManager(SqlExecutionMixin):
|
|
|
624
644
|
err, role=self.package_role, warehouse=self.package_warehouse
|
|
625
645
|
)
|
|
626
646
|
|
|
647
|
+
def _execute_sql_script(
|
|
648
|
+
self, script_content: str, database_name: Optional[str] = None
|
|
649
|
+
) -> None:
|
|
650
|
+
"""
|
|
651
|
+
Executing the provided SQL script content.
|
|
652
|
+
This assumes that a relevant warehouse is already active.
|
|
653
|
+
If database_name is passed in, it will be used first.
|
|
654
|
+
"""
|
|
655
|
+
try:
|
|
656
|
+
if database_name is not None:
|
|
657
|
+
self._execute_query(f"use database {database_name}")
|
|
658
|
+
|
|
659
|
+
self._execute_queries(script_content)
|
|
660
|
+
except ProgrammingError as err:
|
|
661
|
+
generic_sql_error_handler(err)
|
|
662
|
+
|
|
663
|
+
def _execute_post_deploy_hooks(
|
|
664
|
+
self,
|
|
665
|
+
post_deploy_hooks: Optional[List[PostDeployHook]],
|
|
666
|
+
deployed_object_type: str,
|
|
667
|
+
database_name: str,
|
|
668
|
+
) -> None:
|
|
669
|
+
"""
|
|
670
|
+
Executes post-deploy hooks for the given object type.
|
|
671
|
+
While executing SQL post deploy hooks, it first switches to the database provided in the input.
|
|
672
|
+
All post deploy scripts templates will first be expanded using the global template context.
|
|
673
|
+
"""
|
|
674
|
+
if not post_deploy_hooks:
|
|
675
|
+
return
|
|
676
|
+
|
|
677
|
+
with cc.phase(f"Executing {deployed_object_type} post_deploy actions"):
|
|
678
|
+
sql_scripts_paths = []
|
|
679
|
+
for hook in post_deploy_hooks:
|
|
680
|
+
if hook.sql_script:
|
|
681
|
+
sql_scripts_paths.append(hook.sql_script)
|
|
682
|
+
else:
|
|
683
|
+
raise ValueError(
|
|
684
|
+
f"Unsupported {deployed_object_type} post_deploy hook type: {hook}"
|
|
685
|
+
)
|
|
686
|
+
|
|
687
|
+
env = get_sql_cli_jinja_env()
|
|
688
|
+
scripts_content_list = self._expand_script_templates(
|
|
689
|
+
env, cli_context.template_context, sql_scripts_paths
|
|
690
|
+
)
|
|
691
|
+
|
|
692
|
+
for index, sql_script_path in enumerate(sql_scripts_paths):
|
|
693
|
+
cc.step(f"Executing SQL script: {sql_script_path}")
|
|
694
|
+
self._execute_sql_script(scripts_content_list[index], database_name)
|
|
695
|
+
|
|
696
|
+
def execute_package_post_deploy_hooks(self) -> None:
|
|
697
|
+
self._execute_post_deploy_hooks(
|
|
698
|
+
self.package_post_deploy_hooks, "application package", self.package_name
|
|
699
|
+
)
|
|
700
|
+
|
|
701
|
+
def execute_app_post_deploy_hooks(self) -> None:
|
|
702
|
+
self._execute_post_deploy_hooks(
|
|
703
|
+
self.app_post_deploy_hooks, "application", self.app_name
|
|
704
|
+
)
|
|
705
|
+
|
|
627
706
|
def deploy(
|
|
628
707
|
self,
|
|
629
708
|
bundle_map: BundleMap,
|
|
@@ -655,6 +734,10 @@ class NativeAppManager(SqlExecutionMixin):
|
|
|
655
734
|
print_diff=print_diff,
|
|
656
735
|
)
|
|
657
736
|
|
|
737
|
+
# 4. Execute post-deploy hooks
|
|
738
|
+
with self.use_package_warehouse():
|
|
739
|
+
self.execute_package_post_deploy_hooks()
|
|
740
|
+
|
|
658
741
|
if validate:
|
|
659
742
|
self.validate(use_scratch_stage=False)
|
|
660
743
|
|
|
@@ -25,7 +25,7 @@ from snowflake.cli.api.project.definition import (
|
|
|
25
25
|
default_role,
|
|
26
26
|
)
|
|
27
27
|
from snowflake.cli.api.project.schemas.native_app.application import (
|
|
28
|
-
|
|
28
|
+
PostDeployHook,
|
|
29
29
|
)
|
|
30
30
|
from snowflake.cli.api.project.schemas.native_app.native_app import NativeApp
|
|
31
31
|
from snowflake.cli.api.project.schemas.native_app.path_mapping import PathMapping
|
|
@@ -162,15 +162,25 @@ class NativeAppProjectModel:
|
|
|
162
162
|
return self._default_role
|
|
163
163
|
|
|
164
164
|
@cached_property
|
|
165
|
-
def app_post_deploy_hooks(self) -> Optional[List[
|
|
165
|
+
def app_post_deploy_hooks(self) -> Optional[List[PostDeployHook]]:
|
|
166
166
|
"""
|
|
167
|
-
List of application post deploy hooks.
|
|
167
|
+
List of application instance post deploy hooks.
|
|
168
168
|
"""
|
|
169
169
|
if self.definition.application and self.definition.application.post_deploy:
|
|
170
170
|
return self.definition.application.post_deploy
|
|
171
171
|
else:
|
|
172
172
|
return None
|
|
173
173
|
|
|
174
|
+
@cached_property
|
|
175
|
+
def package_post_deploy_hooks(self) -> Optional[List[PostDeployHook]]:
|
|
176
|
+
"""
|
|
177
|
+
List of application package post deploy hooks.
|
|
178
|
+
"""
|
|
179
|
+
if self.definition.package and self.definition.package.post_deploy:
|
|
180
|
+
return self.definition.package.post_deploy
|
|
181
|
+
else:
|
|
182
|
+
return None
|
|
183
|
+
|
|
174
184
|
@cached_property
|
|
175
185
|
def _default_role(self) -> str:
|
|
176
186
|
role = default_role()
|
|
@@ -18,10 +18,8 @@ from pathlib import Path
|
|
|
18
18
|
from textwrap import dedent
|
|
19
19
|
from typing import Optional
|
|
20
20
|
|
|
21
|
-
import jinja2
|
|
22
21
|
import typer
|
|
23
22
|
from click import UsageError
|
|
24
|
-
from snowflake.cli.api.cli_global_context import cli_context
|
|
25
23
|
from snowflake.cli.api.console import cli_console as cc
|
|
26
24
|
from snowflake.cli.api.errno import (
|
|
27
25
|
APPLICATION_NO_LONGER_AVAILABLE,
|
|
@@ -37,9 +35,6 @@ from snowflake.cli.api.project.util import (
|
|
|
37
35
|
identifier_to_show_like_pattern,
|
|
38
36
|
unquote_identifier,
|
|
39
37
|
)
|
|
40
|
-
from snowflake.cli.api.rendering.sql_templates import (
|
|
41
|
-
get_sql_cli_jinja_env,
|
|
42
|
-
)
|
|
43
38
|
from snowflake.cli.api.utils.cursor import find_all_rows
|
|
44
39
|
from snowflake.cli.plugins.nativeapp.artifacts import BundleMap
|
|
45
40
|
from snowflake.cli.plugins.nativeapp.constants import (
|
|
@@ -77,6 +72,20 @@ UPGRADE_RESTRICTION_CODES = {
|
|
|
77
72
|
}
|
|
78
73
|
|
|
79
74
|
|
|
75
|
+
def print_messages(create_or_upgrade_cursor: Optional[SnowflakeCursor]):
|
|
76
|
+
"""
|
|
77
|
+
Shows messages in the console returned by the CREATE or UPGRADE
|
|
78
|
+
APPLICATION command.
|
|
79
|
+
"""
|
|
80
|
+
if not create_or_upgrade_cursor:
|
|
81
|
+
return
|
|
82
|
+
|
|
83
|
+
messages = [row[0] for row in create_or_upgrade_cursor.fetchall()]
|
|
84
|
+
for message in messages:
|
|
85
|
+
cc.warning(message)
|
|
86
|
+
cc.message("")
|
|
87
|
+
|
|
88
|
+
|
|
80
89
|
class SameAccountInstallMethod:
|
|
81
90
|
_requires_created_by_cli: bool
|
|
82
91
|
_from_release_directive: bool
|
|
@@ -139,46 +148,6 @@ class NativeAppRunProcessor(NativeAppManager, NativeAppCommandProcessor):
|
|
|
139
148
|
def __init__(self, project_definition: NativeApp, project_root: Path):
|
|
140
149
|
super().__init__(project_definition, project_root)
|
|
141
150
|
|
|
142
|
-
def _execute_sql_script(
|
|
143
|
-
self, script_content: str, database_name: Optional[str] = None
|
|
144
|
-
):
|
|
145
|
-
"""
|
|
146
|
-
Executing the provided SQL script content.
|
|
147
|
-
This assumes that a relevant warehouse is already active.
|
|
148
|
-
If database_name is passed in, it will be used first.
|
|
149
|
-
"""
|
|
150
|
-
try:
|
|
151
|
-
if database_name is not None:
|
|
152
|
-
self._execute_query(f"use database {database_name}")
|
|
153
|
-
|
|
154
|
-
self._execute_queries(script_content)
|
|
155
|
-
except ProgrammingError as err:
|
|
156
|
-
generic_sql_error_handler(err)
|
|
157
|
-
|
|
158
|
-
def _execute_post_deploy_hooks(self):
|
|
159
|
-
post_deploy_script_hooks = self.app_post_deploy_hooks
|
|
160
|
-
if post_deploy_script_hooks:
|
|
161
|
-
with cc.phase("Executing application post-deploy actions"):
|
|
162
|
-
sql_scripts_paths = []
|
|
163
|
-
for hook in post_deploy_script_hooks:
|
|
164
|
-
if hook.sql_script:
|
|
165
|
-
sql_scripts_paths.append(hook.sql_script)
|
|
166
|
-
else:
|
|
167
|
-
raise ValueError(
|
|
168
|
-
f"Unsupported application post-deploy hook type: {hook}"
|
|
169
|
-
)
|
|
170
|
-
|
|
171
|
-
env = get_sql_cli_jinja_env(
|
|
172
|
-
loader=jinja2.loaders.FileSystemLoader(self.project_root)
|
|
173
|
-
)
|
|
174
|
-
scripts_content_list = self._expand_script_templates(
|
|
175
|
-
env, cli_context.template_context, sql_scripts_paths
|
|
176
|
-
)
|
|
177
|
-
|
|
178
|
-
for index, sql_script_path in enumerate(sql_scripts_paths):
|
|
179
|
-
cc.step(f"Executing SQL script: {sql_script_path}")
|
|
180
|
-
self._execute_sql_script(scripts_content_list[index], self.app_name)
|
|
181
|
-
|
|
182
151
|
def get_all_existing_versions(self) -> SnowflakeCursor:
|
|
183
152
|
"""
|
|
184
153
|
Get all existing versions, if defined, for an application package.
|
|
@@ -297,9 +266,10 @@ class NativeAppRunProcessor(NativeAppManager, NativeAppCommandProcessor):
|
|
|
297
266
|
f"Upgrading existing application object {self.app_name}."
|
|
298
267
|
)
|
|
299
268
|
using_clause = install_method.using_clause(self._na_project)
|
|
300
|
-
self._execute_query(
|
|
301
|
-
f"alter application {self.app_name} upgrade {using_clause}"
|
|
269
|
+
upgrade_cursor = self._execute_query(
|
|
270
|
+
f"alter application {self.app_name} upgrade {using_clause}",
|
|
302
271
|
)
|
|
272
|
+
print_messages(upgrade_cursor)
|
|
303
273
|
|
|
304
274
|
if install_method.is_dev_mode:
|
|
305
275
|
# if debug_mode is present (controlled), ensure it is up-to-date
|
|
@@ -309,7 +279,7 @@ class NativeAppRunProcessor(NativeAppManager, NativeAppCommandProcessor):
|
|
|
309
279
|
)
|
|
310
280
|
|
|
311
281
|
# hooks always executed after a create or upgrade
|
|
312
|
-
self.
|
|
282
|
+
self.execute_app_post_deploy_hooks()
|
|
313
283
|
return
|
|
314
284
|
|
|
315
285
|
except ProgrammingError as err:
|
|
@@ -345,18 +315,19 @@ class NativeAppRunProcessor(NativeAppManager, NativeAppCommandProcessor):
|
|
|
345
315
|
debug_mode_clause = f"debug_mode = {initial_debug_mode}"
|
|
346
316
|
|
|
347
317
|
using_clause = install_method.using_clause(self._na_project)
|
|
348
|
-
self._execute_query(
|
|
318
|
+
create_cursor = self._execute_query(
|
|
349
319
|
dedent(
|
|
350
320
|
f"""\
|
|
351
321
|
create application {self.app_name}
|
|
352
322
|
from application package {self.package_name} {using_clause} {debug_mode_clause}
|
|
353
323
|
comment = {SPECIAL_COMMENT}
|
|
354
324
|
"""
|
|
355
|
-
)
|
|
325
|
+
),
|
|
356
326
|
)
|
|
327
|
+
print_messages(create_cursor)
|
|
357
328
|
|
|
358
329
|
# hooks always executed after a create or upgrade
|
|
359
|
-
self.
|
|
330
|
+
self.execute_app_post_deploy_hooks()
|
|
360
331
|
|
|
361
332
|
except ProgrammingError as err:
|
|
362
333
|
generic_sql_error_handler(err)
|
|
@@ -16,7 +16,7 @@ from __future__ import annotations
|
|
|
16
16
|
|
|
17
17
|
from functools import wraps
|
|
18
18
|
from pathlib import Path
|
|
19
|
-
from typing import Any, Dict,
|
|
19
|
+
from typing import Any, Dict, Optional, Union
|
|
20
20
|
|
|
21
21
|
from click import ClickException
|
|
22
22
|
from snowflake.cli.api.cli_global_context import cli_context, cli_context_manager
|
|
@@ -26,15 +26,12 @@ from snowflake.cli.api.project.schemas.entities.application_entity import (
|
|
|
26
26
|
from snowflake.cli.api.project.schemas.entities.application_package_entity import (
|
|
27
27
|
ApplicationPackageEntity,
|
|
28
28
|
)
|
|
29
|
-
from snowflake.cli.api.project.schemas.native_app.application import (
|
|
30
|
-
ApplicationPostDeployHook,
|
|
31
|
-
SqlScriptHookType,
|
|
32
|
-
)
|
|
33
29
|
from snowflake.cli.api.project.schemas.native_app.path_mapping import PathMapping
|
|
34
30
|
from snowflake.cli.api.project.schemas.project_definition import (
|
|
35
31
|
DefinitionV11,
|
|
36
32
|
DefinitionV20,
|
|
37
33
|
)
|
|
34
|
+
from snowflake.cli.api.utils.definition_rendering import render_definition_template
|
|
38
35
|
|
|
39
36
|
|
|
40
37
|
def _convert_v2_artifact_to_v1_dict(
|
|
@@ -49,14 +46,6 @@ def _convert_v2_artifact_to_v1_dict(
|
|
|
49
46
|
return str(v2_artifact)
|
|
50
47
|
|
|
51
48
|
|
|
52
|
-
def _convert_v2_post_deploy_hook_to_v1_scripts(
|
|
53
|
-
v2_post_deploy_hook: ApplicationPostDeployHook,
|
|
54
|
-
) -> List[str]:
|
|
55
|
-
if isinstance(v2_post_deploy_hook, SqlScriptHookType):
|
|
56
|
-
return v2_post_deploy_hook.sql_script
|
|
57
|
-
raise ValueError(f"Unsupported post deploy hook type: {v2_post_deploy_hook}")
|
|
58
|
-
|
|
59
|
-
|
|
60
49
|
def _pdf_v2_to_v1(v2_definition: DefinitionV20) -> DefinitionV11:
|
|
61
50
|
pdfv1: Dict[str, Any] = {"definition_version": "1.1", "native_app": {}}
|
|
62
51
|
|
|
@@ -102,10 +91,9 @@ def _pdf_v2_to_v1(v2_definition: DefinitionV20) -> DefinitionV11:
|
|
|
102
91
|
"distribution"
|
|
103
92
|
] = app_package_definition.distribution
|
|
104
93
|
if app_package_definition.meta and app_package_definition.meta.post_deploy:
|
|
105
|
-
pdfv1["native_app"]["package"][
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
]
|
|
94
|
+
pdfv1["native_app"]["package"][
|
|
95
|
+
"post_deploy"
|
|
96
|
+
] = app_package_definition.meta.post_deploy
|
|
109
97
|
|
|
110
98
|
# Application
|
|
111
99
|
if app_definition:
|
|
@@ -118,8 +106,9 @@ def _pdf_v2_to_v1(v2_definition: DefinitionV20) -> DefinitionV11:
|
|
|
118
106
|
"post_deploy"
|
|
119
107
|
] = app_definition.meta.post_deploy
|
|
120
108
|
|
|
109
|
+
result = render_definition_template(pdfv1, {})
|
|
121
110
|
# Override the definition object in global context
|
|
122
|
-
return
|
|
111
|
+
return result.project_definition
|
|
123
112
|
|
|
124
113
|
|
|
125
114
|
def nativeapp_definition_v2_to_v1(func):
|
|
@@ -215,6 +215,8 @@ class NativeAppVersionCreateProcessor(NativeAppRunProcessor):
|
|
|
215
215
|
is_interactive=is_interactive,
|
|
216
216
|
)
|
|
217
217
|
|
|
218
|
+
# TODO: consider using self.deploy() instead
|
|
219
|
+
|
|
218
220
|
try:
|
|
219
221
|
self.create_app_package()
|
|
220
222
|
except ApplicationPackageAlreadyExistsError as e:
|
|
@@ -234,6 +236,8 @@ class NativeAppVersionCreateProcessor(NativeAppRunProcessor):
|
|
|
234
236
|
recursive=True,
|
|
235
237
|
stage_fqn=self.stage_fqn,
|
|
236
238
|
)
|
|
239
|
+
with self.use_package_warehouse():
|
|
240
|
+
self.execute_package_post_deploy_hooks()
|
|
237
241
|
|
|
238
242
|
# Warn if the version exists in a release directive(s)
|
|
239
243
|
existing_release_directives = (
|
|
@@ -522,7 +522,7 @@ def list_(
|
|
|
522
522
|
**options,
|
|
523
523
|
):
|
|
524
524
|
"""Lists all available procedures or functions."""
|
|
525
|
-
object_list(object_type=object_type.value, like=like, scope=scope, **options)
|
|
525
|
+
return object_list(object_type=object_type.value, like=like, scope=scope, **options)
|
|
526
526
|
|
|
527
527
|
|
|
528
528
|
@app.command("drop", requires_connection=True)
|
|
@@ -532,7 +532,7 @@ def drop(
|
|
|
532
532
|
**options,
|
|
533
533
|
):
|
|
534
534
|
"""Drop procedure or function."""
|
|
535
|
-
object_drop(object_type=object_type.value, object_name=identifier, **options)
|
|
535
|
+
return object_drop(object_type=object_type.value, object_name=identifier, **options)
|
|
536
536
|
|
|
537
537
|
|
|
538
538
|
@app.command("describe", requires_connection=True)
|
|
@@ -542,4 +542,7 @@ def describe(
|
|
|
542
542
|
**options,
|
|
543
543
|
):
|
|
544
544
|
"""Provides description of a procedure or function."""
|
|
545
|
-
|
|
545
|
+
|
|
546
|
+
return object_describe(
|
|
547
|
+
object_type=object_type.value, object_name=identifier, **options
|
|
548
|
+
)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
snowflake/cli/__about__.py,sha256=
|
|
1
|
+
snowflake/cli/__about__.py,sha256=wF0IHRBsGzqBabOU-Z-s5cuCYzRhQyg5D4ap4tza9kU,633
|
|
2
2
|
snowflake/cli/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
3
3
|
snowflake/cli/api/__init__.py,sha256=kD6lYv5et7QJvW7vzvLN9p2ibfD7pjh9KRWsp2QoYqo,1330
|
|
4
4
|
snowflake/cli/api/cli_global_context.py,sha256=gAs7snaqRi5ESaxU8HcC_QBR2q9y1PMdhi7kQCGkICs,11714
|
|
@@ -34,54 +34,56 @@ snowflake/cli/api/plugins/plugin_config.py,sha256=oJB3HvVqw7R-MDh5jGJtL84ABOATsF
|
|
|
34
34
|
snowflake/cli/api/plugins/command/__init__.py,sha256=qCzBzpq8__2OUN0PcruIKgQXI2V9rzk4UIGVLFv7yk4,2134
|
|
35
35
|
snowflake/cli/api/plugins/command/plugin_hook_specs.py,sha256=AHJGk6j3NRzalIe4llM3Mt0-opHui1sLdbILoEMhpuA,714
|
|
36
36
|
snowflake/cli/api/project/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
37
|
-
snowflake/cli/api/project/definition.py,sha256=
|
|
37
|
+
snowflake/cli/api/project/definition.py,sha256=12R3Z59bp0y0E1eQC2E1VFxRx3HwsFzk4p9nlkW0csk,2987
|
|
38
38
|
snowflake/cli/api/project/definition_manager.py,sha256=h1ympKIZ9TB5a-WgEro4gm8BjqpHxAeCwXVppV26x0Y,4645
|
|
39
|
-
snowflake/cli/api/project/errors.py,sha256=
|
|
39
|
+
snowflake/cli/api/project/errors.py,sha256=9TGN2ezqSCHmSGy1U7AByaJm5Xf47zN-7N3i6R6fyBg,2136
|
|
40
40
|
snowflake/cli/api/project/project_verification.py,sha256=l3K6SMDJxpys9xhnwxBhd6BDyQVqqUItsf4FKAp8NtA,951
|
|
41
|
-
snowflake/cli/api/project/util.py,sha256=
|
|
41
|
+
snowflake/cli/api/project/util.py,sha256=wung3PYl3_32RO-R2Qu7SGFnYWpIxqE6bltJFyoWnfc,8678
|
|
42
42
|
snowflake/cli/api/project/schemas/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
43
43
|
snowflake/cli/api/project/schemas/identifier_model.py,sha256=mwfogq6iLOwRhfwKOWtwvJIDnAP2JjZD6tT4Dgpxwto,1859
|
|
44
|
-
snowflake/cli/api/project/schemas/project_definition.py,sha256=
|
|
44
|
+
snowflake/cli/api/project/schemas/project_definition.py,sha256=cZ4Glr5RvIo-j4ibx9yp1ETJCkJA0FmOFS2g7IFaOs4,7356
|
|
45
45
|
snowflake/cli/api/project/schemas/template.py,sha256=w8cJt6VcMmMJgKO6rv31cTBDQZuSsaMVOOfeBZMF56k,3019
|
|
46
|
-
snowflake/cli/api/project/schemas/updatable_model.py,sha256=
|
|
47
|
-
snowflake/cli/api/project/schemas/entities/application_entity.py,sha256=
|
|
48
|
-
snowflake/cli/api/project/schemas/entities/application_package_entity.py,sha256=
|
|
49
|
-
snowflake/cli/api/project/schemas/entities/common.py,sha256=
|
|
46
|
+
snowflake/cli/api/project/schemas/updatable_model.py,sha256=6Eos3XJX0vUha0e2JM_RSPHBzAUMOg19TpGf6dy-ktc,7262
|
|
47
|
+
snowflake/cli/api/project/schemas/entities/application_entity.py,sha256=xyGHRpq8qmmJr2CO4dVI2V_QbMvHRHzbAL6NSQlp4so,1526
|
|
48
|
+
snowflake/cli/api/project/schemas/entities/application_package_entity.py,sha256=U4HJ5rSLbb13K3g4bRJpSK1DBLYFEzW-X_AE-TTRtB4,2677
|
|
49
|
+
snowflake/cli/api/project/schemas/entities/common.py,sha256=p0J7UcP8-3VV8rUn_0vXj_Kow3RUA7sTfgYcbXBrQwA,2317
|
|
50
50
|
snowflake/cli/api/project/schemas/entities/entities.py,sha256=kZ7PwcQXuFzLsV3bh8IYy1LEMbSb9o3a9401wrCs6XE,1028
|
|
51
51
|
snowflake/cli/api/project/schemas/native_app/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
52
|
-
snowflake/cli/api/project/schemas/native_app/application.py,sha256=
|
|
53
|
-
snowflake/cli/api/project/schemas/native_app/native_app.py,sha256=
|
|
54
|
-
snowflake/cli/api/project/schemas/native_app/package.py,sha256=
|
|
52
|
+
snowflake/cli/api/project/schemas/native_app/application.py,sha256=VK8zwIn5rV5-A3N0yEt7QppMDJdihiAYdFn7xBqNw_A,2238
|
|
53
|
+
snowflake/cli/api/project/schemas/native_app/native_app.py,sha256=o88owmn-bO1BLEVhg6fWAdVAXNbedbZ45VtG5ZJ9r14,3597
|
|
54
|
+
snowflake/cli/api/project/schemas/native_app/package.py,sha256=5STLsv_iEavuzHWkDuaCU6e5_IXhWY_Njcg7phUqZXw,3059
|
|
55
55
|
snowflake/cli/api/project/schemas/native_app/path_mapping.py,sha256=pHtjGsO2Zv_qn9JwrVQX_sB2U0C_Tz6uGWya0xNC6cc,2547
|
|
56
56
|
snowflake/cli/api/project/schemas/snowpark/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
57
57
|
snowflake/cli/api/project/schemas/snowpark/argument.py,sha256=SGJCTr9kIq91G4n3zetI4pkV1cMZRtNMDVMcZDpogHQ,1054
|
|
58
|
-
snowflake/cli/api/project/schemas/snowpark/callable.py,sha256=
|
|
58
|
+
snowflake/cli/api/project/schemas/snowpark/callable.py,sha256=cV1M1OI7uZt87dGzZ5XI-o6fJp77xCWIZZNZLcmVLRQ,2762
|
|
59
59
|
snowflake/cli/api/project/schemas/snowpark/snowpark.py,sha256=C4IuWdiPcTcg7RIx1sQuPKzVoMT9yizxgtcRsHcaHFY,1378
|
|
60
60
|
snowflake/cli/api/project/schemas/streamlit/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
61
61
|
snowflake/cli/api/project/schemas/streamlit/streamlit.py,sha256=VXOYFJPwO8e3NaPBkcWhCaPGof18XH4TYKEMaqu2UYQ,1873
|
|
62
62
|
snowflake/cli/api/rendering/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
63
|
-
snowflake/cli/api/rendering/jinja.py,sha256=
|
|
63
|
+
snowflake/cli/api/rendering/jinja.py,sha256=dD7XAsufZiUsUMKhBNVK9iaWzkeBJTf2z9oWKUDRuI8,3529
|
|
64
64
|
snowflake/cli/api/rendering/project_definition_templates.py,sha256=JvuLohNu8wA97th6o8H_qoS9X6qyLbGg0QDnY9Tq68s,1353
|
|
65
|
-
snowflake/cli/api/rendering/project_templates.py,sha256=
|
|
66
|
-
snowflake/cli/api/rendering/sql_templates.py,sha256=
|
|
65
|
+
snowflake/cli/api/rendering/project_templates.py,sha256=zRh863Gn2hYli9uUu1eXQ_gZsMDUCCg5N44kcPXcSSg,3474
|
|
66
|
+
snowflake/cli/api/rendering/sql_templates.py,sha256=cEFufR-lF7IoOSmhxbFcpPYVx31dX2ftLTFxhTL6jYY,2068
|
|
67
67
|
snowflake/cli/api/utils/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
68
68
|
snowflake/cli/api/utils/cursor.py,sha256=JlyUG5b4EXii71Dm7qiTdptjwIsOOmEv2QmZA1cY8NQ,1222
|
|
69
|
-
snowflake/cli/api/utils/definition_rendering.py,sha256=
|
|
69
|
+
snowflake/cli/api/utils/definition_rendering.py,sha256=aUxBtNGJnv79PzfhrV-G8Rmm86OTDSMT-eBjVEstHko,14769
|
|
70
70
|
snowflake/cli/api/utils/dict_utils.py,sha256=8vb9EyiT8gNHCtPNfE1S-0WcWdP6G_kiwJ-aizu3Pzs,2799
|
|
71
71
|
snowflake/cli/api/utils/error_handling.py,sha256=etIGdS8kd9APgyeUecnY2XMivDORSRV8q-WuBtpriZY,708
|
|
72
72
|
snowflake/cli/api/utils/graph.py,sha256=XZgcTySyS1je9ARdPWqJyrfzuqFBNt9SSLnGeE2na8M,3045
|
|
73
|
-
snowflake/cli/api/utils/models.py,sha256=
|
|
73
|
+
snowflake/cli/api/utils/models.py,sha256=KD4Q402_6iNKsV9CTulzuDrlJbEGu8quAlmZNQuieE4,2016
|
|
74
74
|
snowflake/cli/api/utils/naming_utils.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
75
75
|
snowflake/cli/api/utils/path_utils.py,sha256=ru0jgw6Ur5zhqpHhj_eAqcaJdrgEgr3bC7Z02FnQV18,1218
|
|
76
|
+
snowflake/cli/api/utils/templating_functions.py,sha256=DlmpGAEY6OBArtIap6kN1aaILPwx2ynqKflPwjj7BbU,4935
|
|
76
77
|
snowflake/cli/api/utils/types.py,sha256=fVKuls8axKSsBzPqWwrkwkwoXXmedqxNJKqfXrrGyBM,1190
|
|
77
78
|
snowflake/cli/app/__init__.py,sha256=CR_uTgoqHnU1XdyRhm5iQsS86yWXGVx5Ht7aGSDNFmc,765
|
|
78
79
|
snowflake/cli/app/__main__.py,sha256=KrWQBN5trQZUBqC9nQLeQDq134JLkFC0AfmDxRD3U38,833
|
|
80
|
+
snowflake/cli/app/build_and_push.sh,sha256=TmZu-YgjBr_ngna72S1Hs6zYTxMuPNJ-649weouFTW8,561
|
|
79
81
|
snowflake/cli/app/cli_app.py,sha256=culZ_65q5eFKR35ScLRNh1z-TbPtJ0-CMVjPjd_ChLs,8149
|
|
80
82
|
snowflake/cli/app/constants.py,sha256=WCqViioXdOt0Cykf-KK42cBLfqHKTfYobMJJ-AC7kSs,698
|
|
81
83
|
snowflake/cli/app/loggers.py,sha256=anPJsFA4H8qV928LTxU_sQ5Ci8MWphFb14GSSBly-XA,6638
|
|
82
84
|
snowflake/cli/app/main_typer.py,sha256=4VQqUCxTGHrc21I2nt-Lel6_T_NS8uwkuAntHjrkx3w,2101
|
|
83
85
|
snowflake/cli/app/printing.py,sha256=0zvgMT1NyofzueO-pGduslx43yzj2hdlGV2BGQZhwo0,5810
|
|
84
|
-
snowflake/cli/app/snow_connector.py,sha256=
|
|
86
|
+
snowflake/cli/app/snow_connector.py,sha256=YSeeuiyUBuh4y9wp3QSsNnyo1r_5x0VyNCOo9Y0CV38,8815
|
|
85
87
|
snowflake/cli/app/telemetry.py,sha256=KrOWU_sfYccIX9WBxYwb3WQL7jE5lDMoBjELSyLOU1I,6385
|
|
86
88
|
snowflake/cli/app/api_impl/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
87
89
|
snowflake/cli/app/api_impl/plugin/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
@@ -121,7 +123,7 @@ snowflake/cli/plugins/git/commands.py,sha256=3wgM-UVHC5e6bUKCxW7a3pdI0ylYG2xEnV_
|
|
|
121
123
|
snowflake/cli/plugins/git/manager.py,sha256=cIPGienI_KgOYiL7uBBmvybR2ymtp4k5UnhWi5wr6UY,3571
|
|
122
124
|
snowflake/cli/plugins/git/plugin_spec.py,sha256=RgGZ744MYXfBMnR1-f11c9_n5XoH7GaIsPocrazq52A,991
|
|
123
125
|
snowflake/cli/plugins/init/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
124
|
-
snowflake/cli/plugins/init/commands.py,sha256=
|
|
126
|
+
snowflake/cli/plugins/init/commands.py,sha256=5-mCs7iABKyJby1Yfim8ei6z9NzyA5sfu2bySxRXoxo,8863
|
|
125
127
|
snowflake/cli/plugins/init/plugin_spec.py,sha256=uxglpV4GxY_hysq5fit_XR8JWLGkA8sClEN0bAU5OwU,993
|
|
126
128
|
snowflake/cli/plugins/nativeapp/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
127
129
|
snowflake/cli/plugins/nativeapp/artifacts.py,sha256=otpxa6YFWJs1W1KDzo1agAyvq5YqAR3YoLjJJhm1CLs,30178
|
|
@@ -131,11 +133,11 @@ snowflake/cli/plugins/nativeapp/constants.py,sha256=j25fS9dS54GPPp41njUOZTDykhYq
|
|
|
131
133
|
snowflake/cli/plugins/nativeapp/exceptions.py,sha256=Wh-qJlAG9UMdWB0lqAVafbBdA_hj_m7UnI4efLjOgUA,4360
|
|
132
134
|
snowflake/cli/plugins/nativeapp/feature_flags.py,sha256=Y1peJF8ju_lybKjklOvXYsGQMN8VhFoLnoq-Z7oqO-E,829
|
|
133
135
|
snowflake/cli/plugins/nativeapp/init.py,sha256=BX0rDIJem5bJn0-0s5Ha3BSJIX82ZWJLsDiJvuQSsAA,12124
|
|
134
|
-
snowflake/cli/plugins/nativeapp/manager.py,sha256=
|
|
136
|
+
snowflake/cli/plugins/nativeapp/manager.py,sha256=Xel0eAhs65FQBGWT-3eKI5Zi33qioXoAWKX3tu34j9s,31023
|
|
135
137
|
snowflake/cli/plugins/nativeapp/plugin_spec.py,sha256=CWpkkQlCjY7kO-JLFdAx6UtUo4FZ2soJXcxjUAnUflM,997
|
|
136
138
|
snowflake/cli/plugins/nativeapp/policy.py,sha256=yND6QTJUtbuREdT9I2fzFI4-XFd7zbNgWKlvoFICwko,1605
|
|
137
|
-
snowflake/cli/plugins/nativeapp/project_model.py,sha256=
|
|
138
|
-
snowflake/cli/plugins/nativeapp/run_processor.py,sha256=
|
|
139
|
+
snowflake/cli/plugins/nativeapp/project_model.py,sha256=uLVLEbefN_vV0TbsYJWTOQD-YO2_-scJzxS69aE1RHo,6774
|
|
140
|
+
snowflake/cli/plugins/nativeapp/run_processor.py,sha256=IcKySZVaUhMB0A3EYVGuhy9SkWJlK0DUMNHP9jmiG0s,16047
|
|
139
141
|
snowflake/cli/plugins/nativeapp/teardown_processor.py,sha256=v8Fx4omsCV-OgQWawrq8eYUcOCjaFfv6L_-JoDwcXTg,13053
|
|
140
142
|
snowflake/cli/plugins/nativeapp/utils.py,sha256=dR7xjjHM8LlyE-PVKhQfAi6OKPd1TA9XQxN5EsBamLI,2867
|
|
141
143
|
snowflake/cli/plugins/nativeapp/codegen/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
@@ -148,10 +150,10 @@ snowflake/cli/plugins/nativeapp/codegen/snowpark/callback_source.py.jinja,sha256
|
|
|
148
150
|
snowflake/cli/plugins/nativeapp/codegen/snowpark/extension_function_utils.py,sha256=E2bQFVmiC7MdRCWBtWo3BjzcBUr-9BBzwKduWmZdXdw,7626
|
|
149
151
|
snowflake/cli/plugins/nativeapp/codegen/snowpark/models.py,sha256=xPC7Igbyo_A6Su4xWeXNYV421uefMqHpQbwFGG8AprI,2225
|
|
150
152
|
snowflake/cli/plugins/nativeapp/codegen/snowpark/python_processor.py,sha256=71LV70GaTAoHPQ6k-0B8tFBjR1riCpZC51B8U6vSDsA,20037
|
|
151
|
-
snowflake/cli/plugins/nativeapp/v2_conversions/v2_to_v1_decorator.py,sha256=
|
|
153
|
+
snowflake/cli/plugins/nativeapp/v2_conversions/v2_to_v1_decorator.py,sha256=M5yTleZvzlzYCv3JLLiwMrAwrOJVdCwKyfGv7hpm9w4,5535
|
|
152
154
|
snowflake/cli/plugins/nativeapp/version/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
153
155
|
snowflake/cli/plugins/nativeapp/version/commands.py,sha256=aQ9nxTEtFktyayq2ybNNE5-z87_otZzIiIcY2mSqnfo,5836
|
|
154
|
-
snowflake/cli/plugins/nativeapp/version/version_processor.py,sha256=
|
|
156
|
+
snowflake/cli/plugins/nativeapp/version/version_processor.py,sha256=og1x1akTl_7rsL4B99vsKa_wiUURV48r1carDueDheY,14541
|
|
155
157
|
snowflake/cli/plugins/notebook/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
156
158
|
snowflake/cli/plugins/notebook/commands.py,sha256=uV9p3Dy_09eYKJ2KV6CD9cQ0-8zIvE01WTHYfQJh0nk,2673
|
|
157
159
|
snowflake/cli/plugins/notebook/exceptions.py,sha256=YUS9RRcsEOgQEbikUFpbm8Qo5MYJEB-d-TGZYpMyfwo,782
|
|
@@ -168,7 +170,7 @@ snowflake/cli/plugins/object_stage_deprecated/__init__.py,sha256=RLQpA97914b74tT
|
|
|
168
170
|
snowflake/cli/plugins/object_stage_deprecated/commands.py,sha256=_lsUcmu1mYj9HurpLLBpoJspwiEtWbnglXPPTCqGcVk,3835
|
|
169
171
|
snowflake/cli/plugins/object_stage_deprecated/plugin_spec.py,sha256=pYE_GOQjzMStVPW0icAglc4CyvaWnPM2i1_DpNZ5t9M,1025
|
|
170
172
|
snowflake/cli/plugins/snowpark/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
|
|
171
|
-
snowflake/cli/plugins/snowpark/commands.py,sha256=
|
|
173
|
+
snowflake/cli/plugins/snowpark/commands.py,sha256=GgggLHN4bQ-vlq9tveNJxJlVq6hyKZpm7_kcxWJFWOg,19536
|
|
172
174
|
snowflake/cli/plugins/snowpark/common.py,sha256=ROxNEgoQ2sQTQOo1MJNLZQz2DhN4Y1kISq-CvQLsSvk,10214
|
|
173
175
|
snowflake/cli/plugins/snowpark/manager.py,sha256=JIqZlr63iSKel4iePSuP5IVq2Izj-hlu9bT-nNkyIx4,3128
|
|
174
176
|
snowflake/cli/plugins/snowpark/models.py,sha256=snUEBi4pqw0pgUVPqy8wy9uDdyeshPqaKVe6LJBDZC8,4849
|
|
@@ -231,8 +233,8 @@ snowflake/cli/templates/default_streamlit/snowflake.yml,sha256=yWFU-vqJ7Z17K3loU
|
|
|
231
233
|
snowflake/cli/templates/default_streamlit/streamlit_app.py,sha256=hfYtJl4Rtm0n3J2gNeDwMT-leeGL5R-qJKwyJ0kUxAI,109
|
|
232
234
|
snowflake/cli/templates/default_streamlit/common/hello.py,sha256=3Zt2LthAYDs6UGqOvRNCzYH-HISLHxdx_uAVhcCOtJM,37
|
|
233
235
|
snowflake/cli/templates/default_streamlit/pages/my_page.py,sha256=f__P9j5XCo8J1c6du25wSvknIKvhTFWrXF_298YiQbw,49
|
|
234
|
-
snowflake_cli_labs-2.
|
|
235
|
-
snowflake_cli_labs-2.
|
|
236
|
-
snowflake_cli_labs-2.
|
|
237
|
-
snowflake_cli_labs-2.
|
|
238
|
-
snowflake_cli_labs-2.
|
|
236
|
+
snowflake_cli_labs-2.8.0.dist-info/METADATA,sha256=1SpkXWM-q82uRpDU-jf-oabZrhNlYhop60txY5OTjjU,17801
|
|
237
|
+
snowflake_cli_labs-2.8.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
238
|
+
snowflake_cli_labs-2.8.0.dist-info/entry_points.txt,sha256=_qdnT44fYFbH78kb6Em5jr2_26amIg3UIAvSdmqT6TY,57
|
|
239
|
+
snowflake_cli_labs-2.8.0.dist-info/licenses/LICENSE,sha256=mJMA3Uz2AbjU_kVggo1CAx01XhBsI7BSi2H7ggUg_-c,11344
|
|
240
|
+
snowflake_cli_labs-2.8.0.dist-info/RECORD,,
|
|
File without changes
|
{snowflake_cli_labs-2.7.0rc4.dist-info → snowflake_cli_labs-2.8.0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{snowflake_cli_labs-2.7.0rc4.dist-info → snowflake_cli_labs-2.8.0.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|