snowflake-cli 3.8.3__py3-none-any.whl → 3.9.1__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 (32) hide show
  1. snowflake/cli/__about__.py +1 -1
  2. snowflake/cli/_app/commands_registration/builtin_plugins.py +2 -0
  3. snowflake/cli/_app/version_check.py +14 -4
  4. snowflake/cli/_plugins/cortex/commands.py +34 -8
  5. snowflake/cli/_plugins/cortex/constants.py +2 -1
  6. snowflake/cli/_plugins/cortex/manager.py +81 -21
  7. snowflake/cli/_plugins/dbt/__init__.py +13 -0
  8. snowflake/cli/_plugins/dbt/commands.py +187 -0
  9. snowflake/cli/_plugins/dbt/constants.py +41 -0
  10. snowflake/cli/_plugins/dbt/manager.py +182 -0
  11. snowflake/cli/_plugins/dbt/plugin_spec.py +30 -0
  12. snowflake/cli/_plugins/nativeapp/sf_sql_facade.py +4 -1
  13. snowflake/cli/_plugins/project/commands.py +33 -6
  14. snowflake/cli/_plugins/project/manager.py +6 -1
  15. snowflake/cli/_plugins/snowpark/snowpark_entity.py +1 -1
  16. snowflake/cli/_plugins/spcs/image_registry/commands.py +2 -2
  17. snowflake/cli/_plugins/spcs/image_registry/manager.py +2 -2
  18. snowflake/cli/_plugins/stage/commands.py +14 -3
  19. snowflake/cli/_plugins/stage/manager.py +39 -19
  20. snowflake/cli/_plugins/streamlit/streamlit_entity.py +19 -30
  21. snowflake/cli/api/commands/snow_typer.py +3 -0
  22. snowflake/cli/api/constants.py +2 -0
  23. snowflake/cli/api/entities/common.py +0 -52
  24. snowflake/cli/api/feature_flags.py +1 -0
  25. snowflake/cli/api/rest_api.py +3 -2
  26. snowflake/cli/api/secure_path.py +9 -0
  27. snowflake/cli/api/sql_execution.py +12 -9
  28. {snowflake_cli-3.8.3.dist-info → snowflake_cli-3.9.1.dist-info}/METADATA +3 -3
  29. {snowflake_cli-3.8.3.dist-info → snowflake_cli-3.9.1.dist-info}/RECORD +32 -27
  30. {snowflake_cli-3.8.3.dist-info → snowflake_cli-3.9.1.dist-info}/WHEEL +0 -0
  31. {snowflake_cli-3.8.3.dist-info → snowflake_cli-3.9.1.dist-info}/entry_points.txt +0 -0
  32. {snowflake_cli-3.8.3.dist-info → snowflake_cli-3.9.1.dist-info}/licenses/LICENSE +0 -0
@@ -4,18 +4,13 @@ from pathlib import Path
4
4
  from typing import Generic, List, Optional, Type, TypeVar, get_args
5
5
 
6
6
  from snowflake.cli._plugins.workspace.context import ActionContext, WorkspaceContext
7
- from snowflake.cli.api.artifacts.bundle_map import BundleMap
8
7
  from snowflake.cli.api.cli_global_context import get_cli_context, span
9
8
  from snowflake.cli.api.entities.resolver import Dependency, DependencyResolver
10
9
  from snowflake.cli.api.entities.utils import EntityActions, get_sql_executor
11
10
  from snowflake.cli.api.identifiers import FQN
12
11
  from snowflake.cli.api.sql_execution import SqlExecutor
13
- from snowflake.cli.api.utils.path_utils import change_directory
14
- from snowflake.cli.api.utils.python_api_utils import StageEncryptionType
15
12
  from snowflake.connector import SnowflakeConnection
16
13
  from snowflake.connector.cursor import SnowflakeCursor
17
- from snowflake.core import CreateMode
18
- from snowflake.core.stage import Stage, StageEncryption, StageResource
19
14
 
20
15
  T = TypeVar("T")
21
16
 
@@ -129,13 +124,6 @@ class EntityBase(Generic[T]):
129
124
  raise ValueError("snow_api_root is not set")
130
125
  return root
131
126
 
132
- @property
133
- def stage_object(self) -> "StageResource":
134
- if self._stage_object is None:
135
- self._stage_object = self._create_stage_if_not_exists()
136
-
137
- return self._stage_object
138
-
139
127
  @property
140
128
  def model(self) -> T:
141
129
  return self._entity_model
@@ -152,22 +140,6 @@ class EntityBase(Generic[T]):
152
140
  def get_drop_sql(self) -> str:
153
141
  return f"DROP {self.model.type.upper()} {self.identifier};" # type: ignore[attr-defined]
154
142
 
155
- def _create_stage_if_not_exists(
156
- self, stage_name: Optional[str] = None
157
- ) -> StageResource:
158
- if stage_name is None:
159
- stage_name = self.model.stage # type: ignore[attr-defined]
160
-
161
- stage_collection = (
162
- self.snow_api_root.databases[self.database].schemas[self.schema].stages # type: ignore[attr-defined]
163
- )
164
- stage_object = Stage(
165
- name=stage_name,
166
- encryption=StageEncryption(type=StageEncryptionType.SNOWFLAKE_SSE.value),
167
- )
168
-
169
- return stage_collection.create(stage_object, mode=CreateMode.if_not_exists)
170
-
171
143
  def _get_identifier(
172
144
  self, schema: Optional[str] = None, database: Optional[str] = None
173
145
  ) -> str:
@@ -175,30 +147,6 @@ class EntityBase(Generic[T]):
175
147
  db_to_use = database or self._entity_model.fqn.database or self._conn.database # type: ignore
176
148
  return f"{self._entity_model.fqn.set_schema(schema_to_use).set_database(db_to_use).sql_identifier}" # type: ignore
177
149
 
178
- def _upload_files_to_stage(
179
- self,
180
- stage: StageResource,
181
- bundle_map: BundleMap,
182
- stage_root: Optional[str] = None,
183
- ) -> None:
184
- with change_directory(self.root):
185
- for src, dest in bundle_map.all_mappings(
186
- absolute=True, expand_directories=True
187
- ):
188
- if src.is_file():
189
- upload_dst = (
190
- f"{stage_root}/{dest.relative_to(self.root)}"
191
- if stage_root
192
- else f"/{self.fqn.name}/{get_parent_path_for_stage_deployment(dest.relative_to(bundle_map.deploy_root()))}"
193
- )
194
-
195
- stage.put(
196
- local_file_name=src.relative_to(self.root),
197
- stage_location=upload_dst,
198
- overwrite=True,
199
- auto_compress=False,
200
- )
201
-
202
150
  def get_from_fqn_or_conn(self, attribute_name: str) -> str:
203
151
  attribute = getattr(self.fqn, attribute_name, None) or getattr(
204
152
  self._conn, attribute_name, None
@@ -68,6 +68,7 @@ class FeatureFlag(FeatureFlagMixin):
68
68
  )
69
69
  ENABLE_SNOWPARK_GLOB_SUPPORT = BooleanFlag("ENABLE_SNOWPARK_GLOB_SUPPORT", False)
70
70
  ENABLE_SPCS_SERVICE_EVENTS = BooleanFlag("ENABLE_SPCS_SERVICE_EVENTS", False)
71
+ ENABLE_DBT = BooleanFlag("ENABLE_DBT", False)
71
72
  ENABLE_AUTH_KEYPAIR = BooleanFlag("ENABLE_AUTH_KEYPAIR", False)
72
73
  ENABLE_NATIVE_APP_PYTHON_SETUP = BooleanFlag(
73
74
  "ENABLE_NATIVE_APP_PYTHON_SETUP", False
@@ -155,8 +155,9 @@ class RestApi:
155
155
  raise SchemaNotDefinedException(
156
156
  "Schema not defined in connection. Please try again with `--schema` flag."
157
157
  )
158
- if not self._schema_exists(db_name=db, schema_name=schema):
159
- raise SchemaNotExistsException(f"Schema '{schema}' does not exist.")
158
+ # temporarily skip schema existence check due to server-side issue (SNOW-2110515)
159
+ # if not self._schema_exists(db_name=db, schema_name=schema):
160
+ # raise SchemaNotExistsException(f"Schema '{schema}' does not exist.")
160
161
  if self.get_endpoint_exists(
161
162
  url := f"{SF_REST_API_URL_PREFIX}/databases/{self.conn.database}/schemas/{self.conn.schema}/{plural_object_type}/"
162
163
  ):
@@ -46,6 +46,11 @@ class SecurePath:
46
46
  def __truediv__(self, key):
47
47
  return SecurePath(self._path / key)
48
48
 
49
+ def __eq__(self, other):
50
+ if isinstance(other, Path):
51
+ return self.path == other
52
+ return self.path == other.path
53
+
49
54
  @property
50
55
  def path(self) -> Path:
51
56
  """
@@ -72,6 +77,10 @@ class SecurePath:
72
77
  """
73
78
  return SecurePath(self._path.absolute())
74
79
 
80
+ @classmethod
81
+ def cwd(cls) -> SecurePath:
82
+ return cls(Path.cwd())
83
+
75
84
  def resolve(self):
76
85
  """
77
86
  Make the path absolute, resolving symlinks
@@ -93,20 +93,18 @@ class BaseSqlExecutor:
93
93
 
94
94
  def execute_string(self, query: str, **kwargs) -> Iterable[SnowflakeCursor]:
95
95
  """Executes a single SQL query and returns the results"""
96
- return self._execute_string(query, **kwargs)
96
+ return self._execute_string(dedent(query), **kwargs)
97
97
 
98
98
  def execute_query(self, query: str, **kwargs) -> SnowflakeCursor:
99
99
  """Executes a single SQL query and returns the last result"""
100
- *_, last_result = list(self.execute_string(dedent(query), **kwargs))
100
+ *_, last_result = list(self.execute_string(query, **kwargs))
101
101
  return last_result
102
102
 
103
103
  def execute_queries(self, queries: str, **kwargs):
104
104
  """Executes multiple SQL queries (passed as one string) and returns the results as a list"""
105
105
 
106
106
  # Without remove_comments=True, connectors might throw an error if there is a comment at the end of the file
107
- return list(
108
- self.execute_string(dedent(queries), remove_comments=True, **kwargs)
109
- )
107
+ return list(self.execute_string(queries, remove_comments=True, **kwargs))
110
108
 
111
109
 
112
110
  class SqlExecutor(BaseSqlExecutor):
@@ -126,8 +124,10 @@ class SqlExecutor(BaseSqlExecutor):
126
124
  # Rewrite the error to make the message more useful.
127
125
  raise CouldNotUseObjectError(object_type=object_type, name=name) from err
128
126
 
129
- def current_role(self) -> str:
130
- return to_identifier(self.execute_query(f"select current_role()").fetchone()[0])
127
+ def current_role(self) -> Optional[str]:
128
+ if result := self.execute_query(f"select current_role()").fetchone()[0]:
129
+ return to_identifier(result)
130
+ return None
131
131
 
132
132
  @contextmanager
133
133
  def use_role(self, new_role: str):
@@ -137,14 +137,17 @@ class SqlExecutor(BaseSqlExecutor):
137
137
  """
138
138
  new_role = to_identifier(new_role)
139
139
  prev_role = self.current_role()
140
- is_different_role = new_role.lower() != prev_role.lower()
140
+ if prev_role:
141
+ is_different_role = new_role.lower() != prev_role.lower()
142
+ else:
143
+ is_different_role = True
141
144
  if is_different_role:
142
145
  self._log.debug("Assuming different role: %s", new_role)
143
146
  self.execute_query(f"use role {new_role}")
144
147
  try:
145
148
  yield
146
149
  finally:
147
- if is_different_role:
150
+ if is_different_role and prev_role:
148
151
  self.execute_query(f"use role {prev_role}")
149
152
 
150
153
  def session_has_warehouse(self) -> bool:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-cli
3
- Version: 3.8.3
3
+ Version: 3.9.1
4
4
  Summary: Snowflake CLI
5
5
  Project-URL: Source code, https://github.com/snowflakedb/snowflake-cli
6
6
  Project-URL: Bug Tracker, https://github.com/snowflakedb/snowflake-cli/issues
@@ -222,7 +222,7 @@ Requires-Dist: gitpython==3.1.44
222
222
  Requires-Dist: jinja2==3.1.6
223
223
  Requires-Dist: packaging
224
224
  Requires-Dist: pip
225
- Requires-Dist: pluggy==1.5.0
225
+ Requires-Dist: pluggy==1.6.0
226
226
  Requires-Dist: prompt-toolkit==3.0.51
227
227
  Requires-Dist: pydantic==2.11.4
228
228
  Requires-Dist: pyyaml==6.0.2
@@ -239,7 +239,7 @@ Requires-Dist: urllib3<2.5,>=1.24.3
239
239
  Provides-Extra: development
240
240
  Requires-Dist: coverage==7.8.0; extra == 'development'
241
241
  Requires-Dist: factory-boy==3.3.3; extra == 'development'
242
- Requires-Dist: faker==37.1.0; extra == 'development'
242
+ Requires-Dist: faker==37.3.0; extra == 'development'
243
243
  Requires-Dist: pre-commit>=3.5.0; extra == 'development'
244
244
  Requires-Dist: pytest-httpserver==1.1.3; extra == 'development'
245
245
  Requires-Dist: pytest-randomly==3.16.0; extra == 'development'
@@ -1,4 +1,4 @@
1
- snowflake/cli/__about__.py,sha256=vo4Y2IjCu3t8SBhzMac_KvSAae1j682mmLovxzEhMW8,852
1
+ snowflake/cli/__about__.py,sha256=I3yd_lGUmaEO1hMjsxur38AMsCh96rxtVZ4yFjnHQAU,852
2
2
  snowflake/cli/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
3
3
  snowflake/cli/_app/__init__.py,sha256=CR_uTgoqHnU1XdyRhm5iQsS86yWXGVx5Ht7aGSDNFmc,765
4
4
  snowflake/cli/_app/__main__.py,sha256=ZmcFdFqAtk2mFMz-cqCFdGd0iYzc7UsLH1oT1U40S0k,858
@@ -9,9 +9,9 @@ snowflake/cli/_app/main_typer.py,sha256=v2n7moen3CkP-SfsGrTh-MzFgqG6Ak8bJa8E2dGK
9
9
  snowflake/cli/_app/printing.py,sha256=Q2EKlkd7dbEiGrOaOIr0EgK_C0EUidTfIY3uRlRqSo0,5834
10
10
  snowflake/cli/_app/snow_connector.py,sha256=-YjzGz3etmdKQSMkaOOuz3oR6gBRGXM0Zh09eqpSB78,12111
11
11
  snowflake/cli/_app/telemetry.py,sha256=BilrctjAesRQh7NqLfaLbCiXV2tcgLhvWXCgoBcU0zk,9771
12
- snowflake/cli/_app/version_check.py,sha256=UCBnDGtNfiT0I9kpGubJdJeBOyUycJ4ULiKZjVhGXzY,2438
12
+ snowflake/cli/_app/version_check.py,sha256=vmvjmMwE-oFwW2cUThlRP6Fj8_mlUZm4HqIG4gFpK-U,3088
13
13
  snowflake/cli/_app/commands_registration/__init__.py,sha256=HhP1c8GDRqUtZMeYVNuYwc1_524q9jH18bxJJk1JKWU,918
14
- snowflake/cli/_app/commands_registration/builtin_plugins.py,sha256=jprTW2Z4LbSJQ4Z80B6zaKfeeBqz1u04aaeH2y-Nsq0,2778
14
+ snowflake/cli/_app/commands_registration/builtin_plugins.py,sha256=aVVccHbCGYP2JJB-ISX8o-RNSJ7TFUxSkeQIRu7rShQ,2880
15
15
  snowflake/cli/_app/commands_registration/command_plugins_loader.py,sha256=4pRKUYBmIVsBxDvaztgFbIBZKSaGseAMJMEHSkg0Nag,6297
16
16
  snowflake/cli/_app/commands_registration/commands_registration_with_callbacks.py,sha256=VvGFd_q0-xe8HU_BP5l1OkVld4PYfNJ45YAWjuIydPE,3038
17
17
  snowflake/cli/_app/commands_registration/exception_logging.py,sha256=4B_OuXo6BJXhchs1c4zlmhnN3fN-LV6jdv6LZ227Lr8,985
@@ -40,11 +40,16 @@ snowflake/cli/_plugins/connection/commands.py,sha256=VFBthwvY5lLdB_Nqg7BzH8sT2Vo
40
40
  snowflake/cli/_plugins/connection/plugin_spec.py,sha256=A50dPnOAjPLwgp4CDXL6EkrEKSivGZ324GPFeG023sw,999
41
41
  snowflake/cli/_plugins/connection/util.py,sha256=OjpezcayWVVUhNLzcs8UB6nJ0PIiokMQeX0meaW_6f8,7777
42
42
  snowflake/cli/_plugins/cortex/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
43
- snowflake/cli/_plugins/cortex/commands.py,sha256=SslkJ4ySSdCjK-AOwbehVs7YTspaCiPhQ1aMQ7DEfnU,10629
44
- snowflake/cli/_plugins/cortex/constants.py,sha256=kDr4ekb7Wf1hI56Rq8ZEcOwOahNSTJ_VG2e9Jjg7h7g,683
45
- snowflake/cli/_plugins/cortex/manager.py,sha256=tpjnS_qCshahlTRTO4pEp9e2ztTPdNoG9kaa6X7u77I,6416
43
+ snowflake/cli/_plugins/cortex/commands.py,sha256=tAfZjtL0UVQUV08qYtT2vHydeg_P5XFYYUFmi2zMllw,11319
44
+ snowflake/cli/_plugins/cortex/constants.py,sha256=amVIGTexscfEZLyf6wFnWbaxtiABlMBie2yrZI7KXu0,704
45
+ snowflake/cli/_plugins/cortex/manager.py,sha256=jAblK64SZASQqOA15rBuj0eiCg1cDG1Vaavm_lmOEdQ,8496
46
46
  snowflake/cli/_plugins/cortex/plugin_spec.py,sha256=wbOkXoUTVdXCj8m_-bJRi7IiKxS03q0XEgxrT7aB3yU,995
47
47
  snowflake/cli/_plugins/cortex/types.py,sha256=9KQPlQRkoR67ty8VoqsifJfaoeLJPXZzCJ6dehYWYLE,827
48
+ snowflake/cli/_plugins/dbt/__init__.py,sha256=JhO1yb1LCYqYx-Ya-MlhubtiqD82CuvWF09dDMafxRM,578
49
+ snowflake/cli/_plugins/dbt/commands.py,sha256=EWucHMCHyn0OGS8hbAuGtGzBLXgQjsYNTHBRWTTahpU,6747
50
+ snowflake/cli/_plugins/dbt/constants.py,sha256=mAwkVchQikcfegHqs-PmziZJRd9-DEAienWxpoHhnPc,962
51
+ snowflake/cli/_plugins/dbt/manager.py,sha256=OP5RwX8INs8lFiIp5Khv9PVjeubACGOAVyXZ40yHW9w,7465
52
+ snowflake/cli/_plugins/dbt/plugin_spec.py,sha256=7yEc3tLgvw3iUhALpmaVpS-iePdSMjFdFSZVybf5KTc,992
48
53
  snowflake/cli/_plugins/git/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
49
54
  snowflake/cli/_plugins/git/commands.py,sha256=87R8Fs_f6BUdfLv85QGlfTTH6K-Y_oDlqJyZ3jUpBVg,11320
50
55
  snowflake/cli/_plugins/git/manager.py,sha256=cvH6ZykdXXWwvSMQiOB3ee1sRl1YUKb0OIgJM4ebj_Y,5706
@@ -74,7 +79,7 @@ snowflake/cli/_plugins/nativeapp/same_account_install_method.py,sha256=97Q7tWWcN
74
79
  snowflake/cli/_plugins/nativeapp/sf_facade.py,sha256=Ng5-fZuPyCtOCsUdeeAgIt4k7S0oNXqB-sUTbII9mJ4,1047
75
80
  snowflake/cli/_plugins/nativeapp/sf_facade_constants.py,sha256=nVWM_gbvW53hEPYwmySw43BbPixivv_qegMAcHQ7wxU,774
76
81
  snowflake/cli/_plugins/nativeapp/sf_facade_exceptions.py,sha256=YzUIgAvcGUxJ8hOvLnLdM-PR2gD0pWmIvNi0tTRAofo,7245
77
- snowflake/cli/_plugins/nativeapp/sf_sql_facade.py,sha256=eYSWuUiCEbdr7C7b9lMjU5ItlDn8sxuXzGCXTiY5ZTg,75383
82
+ snowflake/cli/_plugins/nativeapp/sf_sql_facade.py,sha256=MyXdMPG0mDf58TUFGyUKWtsiFK-hP47Cg4m5tD_tXqM,75479
78
83
  snowflake/cli/_plugins/nativeapp/utils.py,sha256=2sSZKKjaSbRebQ28oMWNsopeAMQh5ce3aDO93dSIPLs,3380
79
84
  snowflake/cli/_plugins/nativeapp/codegen/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
80
85
  snowflake/cli/_plugins/nativeapp/codegen/artifact_processor.py,sha256=sQ3dmbm0PkDT_V5kIDT5Z4BlFHFNFRS7wTXopdTk3PA,2935
@@ -119,9 +124,9 @@ snowflake/cli/_plugins/plugin/commands.py,sha256=JoDeE-ggxYE6FKulNGJQrfl7nao7lg8
119
124
  snowflake/cli/_plugins/plugin/manager.py,sha256=eeW5b0zAvvsZREgIVH7afAQbKHI2YqqdIjqo0hqFfHs,2641
120
125
  snowflake/cli/_plugins/plugin/plugin_spec.py,sha256=5XZJPT42ZIEARYvthic3jLEB4CvDUdMeWTM6YfDkD9k,995
121
126
  snowflake/cli/_plugins/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
- snowflake/cli/_plugins/project/commands.py,sha256=Df_qKUkcQ3vy73uur7KoPd-D5jXAlzfdUVV7ngIZiYo,6999
127
+ snowflake/cli/_plugins/project/commands.py,sha256=Z9y-ijQs4npDeG3vU3yfeoWdD9F_k_KFygYjhKrg2JQ,7669
123
128
  snowflake/cli/_plugins/project/feature_flags.py,sha256=wcogqMHGLVo4T83nmPOKTlO0Oz02i6d887KRLbHnUS0,805
124
- snowflake/cli/_plugins/project/manager.py,sha256=ZAQosmubiMCouwK7kSk3YfagMMuMh2jCxUqjLU2GMkI,4216
129
+ snowflake/cli/_plugins/project/manager.py,sha256=VUJzgKL3CIMN6PfNkmvzX2Imt0UebqV67htdyfuC3mQ,4432
125
130
  snowflake/cli/_plugins/project/plugin_spec.py,sha256=wlRaaVR5pSq2qzty_E__LuRmgWoz5QKsVoijT3pbeTE,996
126
131
  snowflake/cli/_plugins/project/project_entity_model.py,sha256=ibXeeFwB4o4-76q6eJ64pD1_wxyMhccUksRtVkw7Eg8,2138
127
132
  snowflake/cli/_plugins/snowpark/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
@@ -130,7 +135,7 @@ snowflake/cli/_plugins/snowpark/common.py,sha256=3vDEZhAC7JdlDOZW1Pisdyx1s96M6bf
130
135
  snowflake/cli/_plugins/snowpark/models.py,sha256=Bd69O3krCS5HvQdHhjQsbhFi0wtYOD_Y9sj6lBMR7KU,4766
131
136
  snowflake/cli/_plugins/snowpark/package_utils.py,sha256=GwCKgLTorCsO50UCPcuXy5voVjRSwmLxNFrONVrdtCs,11844
132
137
  snowflake/cli/_plugins/snowpark/plugin_spec.py,sha256=2fzlWnGL57oCLWfmkfo6USxvJpy7K9KPE3-ZqwILQcg,997
133
- snowflake/cli/_plugins/snowpark/snowpark_entity.py,sha256=rxINJ5v0i_YfZz1bp0ELUM0LbfT62lEqrtNjuXYcYag,10869
138
+ snowflake/cli/_plugins/snowpark/snowpark_entity.py,sha256=fTMrWFoVGpSzSs7vDFULfbzppTX1lkp7ZZ5SnO1W9f4,10874
134
139
  snowflake/cli/_plugins/snowpark/snowpark_entity_model.py,sha256=Cm15wVkw8OKnWad6BTobTa-fNuz8TYkkCnGkpXi6J0E,6924
135
140
  snowflake/cli/_plugins/snowpark/snowpark_project_paths.py,sha256=hHzKro0qOk_1hOyQD4goi0qcBfjTymy2YIwLEABX9WA,8266
136
141
  snowflake/cli/_plugins/snowpark/snowpark_shared.py,sha256=bvKQa0FkB0UCoqIkxAJAYyymaXUuaiQ5hAe5m1GTXXk,1723
@@ -149,8 +154,8 @@ snowflake/cli/_plugins/spcs/compute_pool/compute_pool_entity.py,sha256=Uf1B26_AR
149
154
  snowflake/cli/_plugins/spcs/compute_pool/compute_pool_entity_model.py,sha256=XnI8hPeaXQ7d3AtOQVtYVnvWhGuDz6bhYSD2Uji1HqU,1639
150
155
  snowflake/cli/_plugins/spcs/compute_pool/manager.py,sha256=pf8fXBf84Snw6grHE31Rdj0HYNYKAQHRxgGQ7cnSNlk,6013
151
156
  snowflake/cli/_plugins/spcs/image_registry/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
152
- snowflake/cli/_plugins/spcs/image_registry/commands.py,sha256=W2AKp8i5Wmyys2H2x-ORJt7oEmmxzbnMPsyS5wq2e_g,2631
153
- snowflake/cli/_plugins/spcs/image_registry/manager.py,sha256=8ZI2PhiyIsiskK0RdguBKK5GoDkgTk27Wg5brQgKA9M,4611
157
+ snowflake/cli/_plugins/spcs/image_registry/commands.py,sha256=q4hHDvrhmGSVetA_k7QnoTw-qOyXSQ65c9j_43qirGM,2683
158
+ snowflake/cli/_plugins/spcs/image_registry/manager.py,sha256=lj3vOqwQyDJL2uVziBjCux-4AuuF9meYsX2vmZjbMVs,4651
154
159
  snowflake/cli/_plugins/spcs/image_repository/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
155
160
  snowflake/cli/_plugins/spcs/image_repository/commands.py,sha256=SVLrqwl9iVA74GSRCY8ATVfW164Ay3b_GkHUdSY9qpg,6391
156
161
  snowflake/cli/_plugins/spcs/image_repository/image_repository_entity.py,sha256=GT2h1xkefD6js38uYbZYN_NjBffJqBBZrz6-F5zyJPs,260
@@ -177,9 +182,9 @@ snowflake/cli/_plugins/sql/lexer/keywords.py,sha256=H2ElLX76COhB1wPiDmgufz-1ZAa2
177
182
  snowflake/cli/_plugins/sql/lexer/lexer.py,sha256=6cVtAm-bCtyxzgp3DghXGdDQqHqHiPQlVGmdTbNYlgI,1896
178
183
  snowflake/cli/_plugins/sql/lexer/types.py,sha256=Qp-zwYMI-36JHy1HrmsveFUelgLOG-ODUHdfL_G5k3k,539
179
184
  snowflake/cli/_plugins/stage/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
180
- snowflake/cli/_plugins/stage/commands.py,sha256=5vAoX1HOdOUwrG_kjVSq5NHkSu-Qz7-UgrBGeUzgxHA,8784
185
+ snowflake/cli/_plugins/stage/commands.py,sha256=QD5rqqGHWuW76r58V0i-iEg9cdzKYZtK4hUpmImh1os,9089
181
186
  snowflake/cli/_plugins/stage/diff.py,sha256=Xq9cEnHs_Ee4JHrFMhAO_aHO_IGcGV9_zX8cMHuguZk,10462
182
- snowflake/cli/_plugins/stage/manager.py,sha256=a3dFUaQBwsPswI1DH1vuTacwV3RVhwVgOpCiFIIVn4Q,31714
187
+ snowflake/cli/_plugins/stage/manager.py,sha256=qXhe0s5-ZObknj6Z2rC57VnvUZHlhwGMlARV6dhsEL4,32422
183
188
  snowflake/cli/_plugins/stage/md5.py,sha256=9B9jt3DVbSL4XyL7-4j7Tf8sI_u5CAO2LILS9xuq7fw,6303
184
189
  snowflake/cli/_plugins/stage/plugin_spec.py,sha256=2APmhjF1Emtdx1Ir9vLwJ1PLgLbnu7Or8lijOi_AM2U,994
185
190
  snowflake/cli/_plugins/stage/utils.py,sha256=RiJ7bDFx92U8ffqzS0djrT_KbtWy-nk-tRbXbkaq5qI,1760
@@ -187,7 +192,7 @@ snowflake/cli/_plugins/streamlit/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBl
187
192
  snowflake/cli/_plugins/streamlit/commands.py,sha256=O5Og6DE86I-ZPrMXB02nBs01WAgMTmac6LeMywrvaTw,6621
188
193
  snowflake/cli/_plugins/streamlit/manager.py,sha256=6Vz9WCW33_Mb8GgLGtQzgBbnLRMvllySG-3HBRIf6io,2110
189
194
  snowflake/cli/_plugins/streamlit/plugin_spec.py,sha256=swcszE2JoJWs-DzgN02CxK3myIYexsnWijkFYyYf7Ws,998
190
- snowflake/cli/_plugins/streamlit/streamlit_entity.py,sha256=m7iDtFoSw1I5s6f0N5SxR3snN8L4xp6mmClV0G-ORXo,10333
195
+ snowflake/cli/_plugins/streamlit/streamlit_entity.py,sha256=q0mv_U8L5muHspRqk0Q4pMQ2jZ7xeDdkfAwCzYW0rSI,9866
191
196
  snowflake/cli/_plugins/streamlit/streamlit_entity_model.py,sha256=1DKlKELYOTKvzGFPItGnH6qav1fbl8OesArdRVGy3vE,2057
192
197
  snowflake/cli/_plugins/streamlit/streamlit_project_paths.py,sha256=-q7EobPKqDmXk5x_gMvHsCaPT_l41vrJoxIHaGDHui4,1007
193
198
  snowflake/cli/_plugins/workspace/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
@@ -198,18 +203,18 @@ snowflake/cli/_plugins/workspace/plugin_spec.py,sha256=DvjilAunPuBuSIgKHOPcAVfk8
198
203
  snowflake/cli/api/cli_global_context.py,sha256=7RLMNamZ-8pfWcO2lfNNXXDqKlzw4tGFzIhOhGdAWcg,9711
199
204
  snowflake/cli/api/config.py,sha256=R_AMmy2gg4nxxzhZHpYwFb4XkfhgjP6jXFq6TB4pCns,14069
200
205
  snowflake/cli/api/connections.py,sha256=I1gmvmhFBPeuZcOORTo1yuR_jTQfJmmwjm-2dP-LnhA,9385
201
- snowflake/cli/api/constants.py,sha256=ipvBqTW-UUZffXUqmes9C8d0ujYxDlEWYi9lG5FAgPc,3736
206
+ snowflake/cli/api/constants.py,sha256=7hAHmqb_K0kY9q9cBaQq55MG19DR7yhRT8sjf4ijkN0,3855
202
207
  snowflake/cli/api/errno.py,sha256=nVQ2kO9nPaA1uGB4yZiKTwtE2LiQmINHTutziA37c6s,3871
203
208
  snowflake/cli/api/exceptions.py,sha256=3Esa8gL0D_dsbpjWpBFWt1fQW8u4BgU59kx1B5Vgw9A,9228
204
- snowflake/cli/api/feature_flags.py,sha256=KuoX5dTG8WKJliGiZdph_cnS2bahpxwLI-3C4G16wHw,2600
209
+ snowflake/cli/api/feature_flags.py,sha256=gtqR70dA0HYCV1jkbTdjXQEJhyYEkUdQlp3ulINAXk0,2650
205
210
  snowflake/cli/api/identifiers.py,sha256=ro7nCNU5GAgi29-RGzkULWQkLP0VSQRCCG-WoyCa2pM,6861
206
211
  snowflake/cli/api/metrics.py,sha256=l-khpKWvRF8OB86OhJ2H61jrcTdMDGZe_QM1_-yqWT8,10694
207
- snowflake/cli/api/rest_api.py,sha256=WklAb_2Z95sfC8JAtY5FPzSAZqpxHtKaKU49zMfiTMU,7207
212
+ snowflake/cli/api/rest_api.py,sha256=XATD2vmi4a5zQI4izZx44_awh0KOiFYuOIDtitCvr-g,7301
208
213
  snowflake/cli/api/sanitizers.py,sha256=7EKqVQ3KOob0IFFoc_GmXPYpRhgnmIqhnJSvHPgxM5I,1211
209
214
  snowflake/cli/api/secret.py,sha256=9Jg30dAVcV95tCxTY6RPdaKYTsiG39sld_bwUXXxF2A,263
210
- snowflake/cli/api/secure_path.py,sha256=nVoCrH6A6SFw-wJHNJDqGnNJiQ2CNeNK6171uPtwn6M,13526
215
+ snowflake/cli/api/secure_path.py,sha256=jNev299e6Zrw_Z1lonN0ReAYXwKQVvD7GAaGyaqvJKk,13750
211
216
  snowflake/cli/api/secure_utils.py,sha256=w3f1JU2ntOXGQ2STeqU0QiAVx_sLLEfgPwIvpprqevY,4000
212
- snowflake/cli/api/sql_execution.py,sha256=5EEFcefyShzEZcX315hl_b5DCFxqm9Rc026iS2OYEUw,12031
217
+ snowflake/cli/api/sql_execution.py,sha256=gfF8ebBCAruqvRX0ftXKr4QOHB6P7djnWOWa-ChcCjo,12155
213
218
  snowflake/cli/api/stage_path.py,sha256=riSrqbjvuqz6PK88VfCeXqJh1kqsmIsT5MTKC_idIZs,7249
214
219
  snowflake/cli/api/artifacts/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
215
220
  snowflake/cli/api/artifacts/bundle_map.py,sha256=df1wos2OgThV65gSuT-7wbF4oiDBOpU7Qqs5qs7FuVg,21808
@@ -224,13 +229,13 @@ snowflake/cli/api/commands/execution_metadata.py,sha256=9tz1dbzdVRLFprGi_y8TeTfv
224
229
  snowflake/cli/api/commands/experimental_behaviour.py,sha256=HFTw0d46B1QJpiCy0MeeJhWXrPF_bnmgUGaEWkWXw98,733
225
230
  snowflake/cli/api/commands/flags.py,sha256=0k2YhKUqlQIpJfXHV7UHSpCuZUTMYks0bWG8fTA33z8,21793
226
231
  snowflake/cli/api/commands/overrideable_parameter.py,sha256=LDiRQudkTeoWu5y_qTCVmtseEvO6U9LuSiuLZt5oFq8,6353
227
- snowflake/cli/api/commands/snow_typer.py,sha256=CTF6Lsze6X5eNYyNQVWmfXt8C7E58qGdJtlidBpmVdQ,9754
232
+ snowflake/cli/api/commands/snow_typer.py,sha256=zumd8BO9pcsXhQf35xUX-baApIQeuK39lbpmlr5hI_g,9913
228
233
  snowflake/cli/api/commands/utils.py,sha256=vZcVtPZsuH312FPf9yw-JooNWE7Tli-zVWh4u-gQk7c,1605
229
234
  snowflake/cli/api/console/__init__.py,sha256=jKSsXJDqyQZwJ--5eRzUqb2nNvq-lo_NC1pbqK5xROI,665
230
235
  snowflake/cli/api/console/abc.py,sha256=s34xf-E0Xtrz3Jq-0bL2k-ik91OMTWGcILW3Df0dX_0,3144
231
236
  snowflake/cli/api/console/console.py,sha256=OAtIlKoaQ2IrjT-R-0K-_nKtAvoHalI7vVLEVOkrW9A,4475
232
237
  snowflake/cli/api/console/enum.py,sha256=0dhepH8DEmxLjij9XxFX3kEZ_WE267zsffzecEwA2fU,675
233
- snowflake/cli/api/entities/common.py,sha256=lv7v5sWhqyFLuCfOG3T0dac-gmieq1HFmmBBm0vnfFc,7981
238
+ snowflake/cli/api/entities/common.py,sha256=8T5hU6ocQjEYqD2I-oUlKNIhS1D9kl-hqJyzxyOETGM,5944
234
239
  snowflake/cli/api/entities/resolver.py,sha256=yD1m71X7-JPQ6dy5mKyzVR_9d3Eji4z-nRfKd_lqXFo,5922
235
240
  snowflake/cli/api/entities/utils.py,sha256=NwFozrcQsjWMVHz_1Opuw3E0QiLf77_yWzJvyPJ--B8,14356
236
241
  snowflake/cli/api/output/__init__.py,sha256=uGA_QRGW3iGwaegpFsLgOhup0zBliBSXh9ou8J439uU,578
@@ -285,8 +290,8 @@ snowflake/cli/api/utils/path_utils.py,sha256=OgR7cwbHXqP875RgPJGrAvDC1RRTU-2-Yss
285
290
  snowflake/cli/api/utils/python_api_utils.py,sha256=wTNxXrma78wPvBz-Jo-ixNtP8ZjDCDh4TvciEnhYIAM,300
286
291
  snowflake/cli/api/utils/templating_functions.py,sha256=zu2oK1BEC9yyWtDx17Hr-VAYHvCtagaOdxIrm70JQys,4955
287
292
  snowflake/cli/api/utils/types.py,sha256=fVKuls8axKSsBzPqWwrkwkwoXXmedqxNJKqfXrrGyBM,1190
288
- snowflake_cli-3.8.3.dist-info/METADATA,sha256=qF-mPBZxbJlpYd_ru9dfzzZaFMd40ofJwaQReUbhCyQ,18316
289
- snowflake_cli-3.8.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
290
- snowflake_cli-3.8.3.dist-info/entry_points.txt,sha256=6QmSI0wUX6p7f-dGvrPdswlQyVAVGi1AtOUbE8X6bho,58
291
- snowflake_cli-3.8.3.dist-info/licenses/LICENSE,sha256=mJMA3Uz2AbjU_kVggo1CAx01XhBsI7BSi2H7ggUg_-c,11344
292
- snowflake_cli-3.8.3.dist-info/RECORD,,
293
+ snowflake_cli-3.9.1.dist-info/METADATA,sha256=yoq-FFyb_IezAy8gUq1N-D2tnEojt8B0aBLgXcDwRjA,18316
294
+ snowflake_cli-3.9.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
295
+ snowflake_cli-3.9.1.dist-info/entry_points.txt,sha256=6QmSI0wUX6p7f-dGvrPdswlQyVAVGi1AtOUbE8X6bho,58
296
+ snowflake_cli-3.9.1.dist-info/licenses/LICENSE,sha256=mJMA3Uz2AbjU_kVggo1CAx01XhBsI7BSi2H7ggUg_-c,11344
297
+ snowflake_cli-3.9.1.dist-info/RECORD,,