snowflake-cli-labs 2.8.0rc1__py3-none-any.whl → 2.8.2__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.
- README.md +21 -0
- {snowflake_cli_labs-2.8.0rc1.dist-info → snowflake_cli_labs-2.8.2.dist-info}/METADATA +7 -95
- snowflake_cli_labs-2.8.2.dist-info/RECORD +5 -0
- snowflake/cli/__about__.py +0 -17
- snowflake/cli/__init__.py +0 -13
- snowflake/cli/api/__init__.py +0 -48
- snowflake/cli/api/cli_global_context.py +0 -390
- snowflake/cli/api/commands/__init__.py +0 -13
- snowflake/cli/api/commands/alias.py +0 -23
- snowflake/cli/api/commands/decorators.py +0 -354
- snowflake/cli/api/commands/execution_metadata.py +0 -40
- snowflake/cli/api/commands/experimental_behaviour.py +0 -19
- snowflake/cli/api/commands/flags.py +0 -640
- snowflake/cli/api/commands/project_initialisation.py +0 -65
- snowflake/cli/api/commands/snow_typer.py +0 -237
- snowflake/cli/api/commands/typer_pre_execute.py +0 -26
- snowflake/cli/api/config.py +0 -348
- snowflake/cli/api/console/__init__.py +0 -17
- snowflake/cli/api/console/abc.py +0 -89
- snowflake/cli/api/console/console.py +0 -134
- snowflake/cli/api/console/enum.py +0 -17
- snowflake/cli/api/constants.py +0 -79
- snowflake/cli/api/errno.py +0 -27
- snowflake/cli/api/exceptions.py +0 -164
- snowflake/cli/api/feature_flags.py +0 -55
- snowflake/cli/api/identifiers.py +0 -154
- snowflake/cli/api/output/__init__.py +0 -13
- snowflake/cli/api/output/formats.py +0 -20
- snowflake/cli/api/output/types.py +0 -118
- snowflake/cli/api/plugins/__init__.py +0 -13
- snowflake/cli/api/plugins/command/__init__.py +0 -72
- snowflake/cli/api/plugins/command/plugin_hook_specs.py +0 -21
- snowflake/cli/api/plugins/plugin_config.py +0 -32
- snowflake/cli/api/project/__init__.py +0 -13
- snowflake/cli/api/project/definition.py +0 -84
- snowflake/cli/api/project/definition_manager.py +0 -134
- snowflake/cli/api/project/errors.py +0 -56
- snowflake/cli/api/project/project_verification.py +0 -23
- snowflake/cli/api/project/schemas/__init__.py +0 -13
- snowflake/cli/api/project/schemas/entities/application_entity.py +0 -44
- snowflake/cli/api/project/schemas/entities/application_package_entity.py +0 -66
- snowflake/cli/api/project/schemas/entities/common.py +0 -78
- snowflake/cli/api/project/schemas/entities/entities.py +0 -30
- snowflake/cli/api/project/schemas/identifier_model.py +0 -49
- snowflake/cli/api/project/schemas/native_app/__init__.py +0 -13
- snowflake/cli/api/project/schemas/native_app/application.py +0 -62
- snowflake/cli/api/project/schemas/native_app/native_app.py +0 -93
- snowflake/cli/api/project/schemas/native_app/package.py +0 -78
- snowflake/cli/api/project/schemas/native_app/path_mapping.py +0 -65
- snowflake/cli/api/project/schemas/project_definition.py +0 -199
- snowflake/cli/api/project/schemas/snowpark/__init__.py +0 -13
- snowflake/cli/api/project/schemas/snowpark/argument.py +0 -28
- snowflake/cli/api/project/schemas/snowpark/callable.py +0 -69
- snowflake/cli/api/project/schemas/snowpark/snowpark.py +0 -36
- snowflake/cli/api/project/schemas/streamlit/__init__.py +0 -13
- snowflake/cli/api/project/schemas/streamlit/streamlit.py +0 -46
- snowflake/cli/api/project/schemas/template.py +0 -77
- snowflake/cli/api/project/schemas/updatable_model.py +0 -194
- snowflake/cli/api/project/util.py +0 -261
- snowflake/cli/api/rendering/__init__.py +0 -13
- snowflake/cli/api/rendering/jinja.py +0 -112
- snowflake/cli/api/rendering/project_definition_templates.py +0 -39
- snowflake/cli/api/rendering/project_templates.py +0 -98
- snowflake/cli/api/rendering/sql_templates.py +0 -60
- snowflake/cli/api/rest_api.py +0 -172
- snowflake/cli/api/sanitizers.py +0 -43
- snowflake/cli/api/secure_path.py +0 -362
- snowflake/cli/api/secure_utils.py +0 -29
- snowflake/cli/api/sql_execution.py +0 -260
- snowflake/cli/api/utils/__init__.py +0 -13
- snowflake/cli/api/utils/cursor.py +0 -34
- snowflake/cli/api/utils/definition_rendering.py +0 -383
- snowflake/cli/api/utils/dict_utils.py +0 -73
- snowflake/cli/api/utils/error_handling.py +0 -23
- snowflake/cli/api/utils/graph.py +0 -97
- snowflake/cli/api/utils/models.py +0 -63
- snowflake/cli/api/utils/naming_utils.py +0 -13
- snowflake/cli/api/utils/path_utils.py +0 -36
- snowflake/cli/api/utils/templating_functions.py +0 -144
- snowflake/cli/api/utils/types.py +0 -35
- snowflake/cli/app/__init__.py +0 -22
- snowflake/cli/app/__main__.py +0 -31
- snowflake/cli/app/api_impl/__init__.py +0 -13
- snowflake/cli/app/api_impl/plugin/__init__.py +0 -13
- snowflake/cli/app/api_impl/plugin/plugin_config_provider_impl.py +0 -66
- snowflake/cli/app/build_and_push.sh +0 -8
- snowflake/cli/app/cli_app.py +0 -243
- snowflake/cli/app/commands_registration/__init__.py +0 -33
- snowflake/cli/app/commands_registration/builtin_plugins.py +0 -54
- snowflake/cli/app/commands_registration/command_plugins_loader.py +0 -169
- snowflake/cli/app/commands_registration/commands_registration_with_callbacks.py +0 -105
- snowflake/cli/app/commands_registration/exception_logging.py +0 -26
- snowflake/cli/app/commands_registration/threadsafe.py +0 -48
- snowflake/cli/app/commands_registration/typer_registration.py +0 -153
- snowflake/cli/app/constants.py +0 -19
- snowflake/cli/app/dev/__init__.py +0 -13
- snowflake/cli/app/dev/commands_structure.py +0 -48
- snowflake/cli/app/dev/docs/__init__.py +0 -13
- snowflake/cli/app/dev/docs/commands_docs_generator.py +0 -100
- snowflake/cli/app/dev/docs/generator.py +0 -35
- snowflake/cli/app/dev/docs/project_definition_docs_generator.py +0 -58
- snowflake/cli/app/dev/docs/project_definition_generate_json_schema.py +0 -227
- snowflake/cli/app/dev/docs/template_utils.py +0 -23
- snowflake/cli/app/dev/docs/templates/definition_description.rst.jinja2 +0 -38
- snowflake/cli/app/dev/docs/templates/overview.rst.jinja2 +0 -9
- snowflake/cli/app/dev/docs/templates/usage.rst.jinja2 +0 -57
- snowflake/cli/app/dev/pycharm_remote_debug.py +0 -46
- snowflake/cli/app/loggers.py +0 -199
- snowflake/cli/app/main_typer.py +0 -62
- snowflake/cli/app/printing.py +0 -181
- snowflake/cli/app/snow_connector.py +0 -243
- snowflake/cli/app/telemetry.py +0 -189
- snowflake/cli/plugins/__init__.py +0 -13
- snowflake/cli/plugins/connection/__init__.py +0 -13
- snowflake/cli/plugins/connection/commands.py +0 -330
- snowflake/cli/plugins/connection/plugin_spec.py +0 -30
- snowflake/cli/plugins/connection/util.py +0 -179
- snowflake/cli/plugins/cortex/__init__.py +0 -13
- snowflake/cli/plugins/cortex/commands.py +0 -327
- snowflake/cli/plugins/cortex/constants.py +0 -17
- snowflake/cli/plugins/cortex/manager.py +0 -189
- snowflake/cli/plugins/cortex/plugin_spec.py +0 -30
- snowflake/cli/plugins/cortex/types.py +0 -22
- snowflake/cli/plugins/git/__init__.py +0 -13
- snowflake/cli/plugins/git/commands.py +0 -305
- snowflake/cli/plugins/git/manager.py +0 -96
- snowflake/cli/plugins/git/plugin_spec.py +0 -30
- snowflake/cli/plugins/init/__init__.py +0 -13
- snowflake/cli/plugins/init/commands.py +0 -244
- snowflake/cli/plugins/init/plugin_spec.py +0 -30
- snowflake/cli/plugins/nativeapp/__init__.py +0 -13
- snowflake/cli/plugins/nativeapp/artifacts.py +0 -742
- snowflake/cli/plugins/nativeapp/codegen/__init__.py +0 -13
- snowflake/cli/plugins/nativeapp/codegen/artifact_processor.py +0 -91
- snowflake/cli/plugins/nativeapp/codegen/compiler.py +0 -130
- snowflake/cli/plugins/nativeapp/codegen/sandbox.py +0 -306
- snowflake/cli/plugins/nativeapp/codegen/setup/native_app_setup_processor.py +0 -172
- snowflake/cli/plugins/nativeapp/codegen/setup/setup_driver.py.source +0 -56
- snowflake/cli/plugins/nativeapp/codegen/snowpark/callback_source.py.jinja +0 -181
- snowflake/cli/plugins/nativeapp/codegen/snowpark/extension_function_utils.py +0 -217
- snowflake/cli/plugins/nativeapp/codegen/snowpark/models.py +0 -61
- snowflake/cli/plugins/nativeapp/codegen/snowpark/python_processor.py +0 -528
- snowflake/cli/plugins/nativeapp/commands.py +0 -439
- snowflake/cli/plugins/nativeapp/common_flags.py +0 -44
- snowflake/cli/plugins/nativeapp/constants.py +0 -27
- snowflake/cli/plugins/nativeapp/exceptions.py +0 -122
- snowflake/cli/plugins/nativeapp/feature_flags.py +0 -24
- snowflake/cli/plugins/nativeapp/init.py +0 -345
- snowflake/cli/plugins/nativeapp/manager.py +0 -823
- snowflake/cli/plugins/nativeapp/plugin_spec.py +0 -30
- snowflake/cli/plugins/nativeapp/policy.py +0 -50
- snowflake/cli/plugins/nativeapp/project_model.py +0 -195
- snowflake/cli/plugins/nativeapp/run_processor.py +0 -389
- snowflake/cli/plugins/nativeapp/teardown_processor.py +0 -301
- snowflake/cli/plugins/nativeapp/utils.py +0 -98
- snowflake/cli/plugins/nativeapp/v2_conversions/v2_to_v1_decorator.py +0 -135
- snowflake/cli/plugins/nativeapp/version/__init__.py +0 -13
- snowflake/cli/plugins/nativeapp/version/commands.py +0 -170
- snowflake/cli/plugins/nativeapp/version/version_processor.py +0 -362
- snowflake/cli/plugins/notebook/__init__.py +0 -13
- snowflake/cli/plugins/notebook/commands.py +0 -84
- snowflake/cli/plugins/notebook/exceptions.py +0 -20
- snowflake/cli/plugins/notebook/manager.py +0 -71
- snowflake/cli/plugins/notebook/plugin_spec.py +0 -30
- snowflake/cli/plugins/notebook/types.py +0 -16
- snowflake/cli/plugins/object/__init__.py +0 -13
- snowflake/cli/plugins/object/command_aliases.py +0 -94
- snowflake/cli/plugins/object/commands.py +0 -174
- snowflake/cli/plugins/object/common.py +0 -85
- snowflake/cli/plugins/object/manager.py +0 -96
- snowflake/cli/plugins/object/plugin_spec.py +0 -30
- snowflake/cli/plugins/object_stage_deprecated/__init__.py +0 -15
- snowflake/cli/plugins/object_stage_deprecated/commands.py +0 -122
- snowflake/cli/plugins/object_stage_deprecated/plugin_spec.py +0 -32
- snowflake/cli/plugins/snowpark/__init__.py +0 -13
- snowflake/cli/plugins/snowpark/commands.py +0 -548
- snowflake/cli/plugins/snowpark/common.py +0 -307
- snowflake/cli/plugins/snowpark/manager.py +0 -109
- snowflake/cli/plugins/snowpark/models.py +0 -156
- snowflake/cli/plugins/snowpark/package/__init__.py +0 -13
- snowflake/cli/plugins/snowpark/package/anaconda_packages.py +0 -233
- snowflake/cli/plugins/snowpark/package/commands.py +0 -256
- snowflake/cli/plugins/snowpark/package/manager.py +0 -43
- snowflake/cli/plugins/snowpark/package/utils.py +0 -26
- snowflake/cli/plugins/snowpark/package_utils.py +0 -354
- snowflake/cli/plugins/snowpark/plugin_spec.py +0 -30
- snowflake/cli/plugins/snowpark/snowpark_package_paths.py +0 -65
- snowflake/cli/plugins/snowpark/snowpark_shared.py +0 -95
- snowflake/cli/plugins/snowpark/zipper.py +0 -81
- snowflake/cli/plugins/spcs/__init__.py +0 -35
- snowflake/cli/plugins/spcs/common.py +0 -99
- snowflake/cli/plugins/spcs/compute_pool/__init__.py +0 -13
- snowflake/cli/plugins/spcs/compute_pool/commands.py +0 -240
- snowflake/cli/plugins/spcs/compute_pool/manager.py +0 -121
- snowflake/cli/plugins/spcs/image_registry/__init__.py +0 -13
- snowflake/cli/plugins/spcs/image_registry/commands.py +0 -65
- snowflake/cli/plugins/spcs/image_registry/manager.py +0 -105
- snowflake/cli/plugins/spcs/image_repository/__init__.py +0 -13
- snowflake/cli/plugins/spcs/image_repository/commands.py +0 -196
- snowflake/cli/plugins/spcs/image_repository/manager.py +0 -84
- snowflake/cli/plugins/spcs/jobs/__init__.py +0 -13
- snowflake/cli/plugins/spcs/jobs/commands.py +0 -78
- snowflake/cli/plugins/spcs/jobs/manager.py +0 -53
- snowflake/cli/plugins/spcs/plugin_spec.py +0 -30
- snowflake/cli/plugins/spcs/services/__init__.py +0 -13
- snowflake/cli/plugins/spcs/services/commands.py +0 -311
- snowflake/cli/plugins/spcs/services/manager.py +0 -170
- snowflake/cli/plugins/sql/__init__.py +0 -13
- snowflake/cli/plugins/sql/commands.py +0 -83
- snowflake/cli/plugins/sql/manager.py +0 -92
- snowflake/cli/plugins/sql/plugin_spec.py +0 -30
- snowflake/cli/plugins/sql/snowsql_templating.py +0 -28
- snowflake/cli/plugins/stage/__init__.py +0 -13
- snowflake/cli/plugins/stage/commands.py +0 -261
- snowflake/cli/plugins/stage/diff.py +0 -326
- snowflake/cli/plugins/stage/manager.py +0 -544
- snowflake/cli/plugins/stage/md5.py +0 -160
- snowflake/cli/plugins/stage/plugin_spec.py +0 -30
- snowflake/cli/plugins/streamlit/__init__.py +0 -13
- snowflake/cli/plugins/streamlit/commands.py +0 -186
- snowflake/cli/plugins/streamlit/manager.py +0 -222
- snowflake/cli/plugins/streamlit/plugin_spec.py +0 -30
- snowflake/cli/plugins/workspace/__init__.py +0 -13
- snowflake/cli/plugins/workspace/commands.py +0 -35
- snowflake/cli/plugins/workspace/plugin_spec.py +0 -30
- snowflake/cli/templates/default_snowpark/.gitignore +0 -4
- snowflake/cli/templates/default_snowpark/app/__init__.py +0 -0
- snowflake/cli/templates/default_snowpark/app/common.py +0 -2
- snowflake/cli/templates/default_snowpark/app/functions.py +0 -15
- snowflake/cli/templates/default_snowpark/app/procedures.py +0 -22
- snowflake/cli/templates/default_snowpark/requirements.txt +0 -1
- snowflake/cli/templates/default_snowpark/snowflake.yml +0 -23
- snowflake/cli/templates/default_streamlit/.gitignore +0 -4
- snowflake/cli/templates/default_streamlit/common/hello.py +0 -2
- snowflake/cli/templates/default_streamlit/environment.yml +0 -6
- snowflake/cli/templates/default_streamlit/pages/my_page.py +0 -3
- snowflake/cli/templates/default_streamlit/snowflake.yml +0 -10
- snowflake/cli/templates/default_streamlit/streamlit_app.py +0 -4
- snowflake_cli_labs-2.8.0rc1.dist-info/RECORD +0 -240
- snowflake_cli_labs-2.8.0rc1.dist-info/entry_points.txt +0 -2
- {snowflake_cli_labs-2.8.0rc1.dist-info → snowflake_cli_labs-2.8.2.dist-info}/WHEEL +0 -0
- {snowflake_cli_labs-2.8.0rc1.dist-info → snowflake_cli_labs-2.8.2.dist-info}/licenses/LICENSE +0 -0
README.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Copyright (c) 2024 Snowflake Inc.
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
-->
|
|
16
|
+
|
|
17
|
+
# Snowflake Developer CLI
|
|
18
|
+
|
|
19
|
+
This package has been renamed. Use `pip install snowflake-cli` instead.
|
|
20
|
+
|
|
21
|
+
New package: https://pypi.org/project/snowflake-cli/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: snowflake-cli-labs
|
|
3
|
-
Version: 2.8.
|
|
3
|
+
Version: 2.8.2
|
|
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
|
|
@@ -207,39 +207,9 @@ License: Apache License
|
|
|
207
207
|
See the License for the specific language governing permissions and
|
|
208
208
|
limitations under the License.
|
|
209
209
|
License-File: LICENSE
|
|
210
|
-
Classifier: Development Status ::
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
Classifier: Intended Audience :: Information Technology
|
|
214
|
-
Classifier: Intended Audience :: System Administrators
|
|
215
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
216
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
217
|
-
Classifier: Programming Language :: SQL
|
|
218
|
-
Classifier: Topic :: Database
|
|
219
|
-
Requires-Python: >=3.8
|
|
220
|
-
Requires-Dist: gitpython==3.1.43
|
|
221
|
-
Requires-Dist: jinja2==3.1.4
|
|
222
|
-
Requires-Dist: packaging
|
|
223
|
-
Requires-Dist: pip
|
|
224
|
-
Requires-Dist: pluggy==1.5.0
|
|
225
|
-
Requires-Dist: pydantic==2.8.2
|
|
226
|
-
Requires-Dist: pyyaml==6.0.1
|
|
227
|
-
Requires-Dist: requests==2.32.3
|
|
228
|
-
Requires-Dist: requirements-parser==0.9.0
|
|
229
|
-
Requires-Dist: rich==13.7.1
|
|
230
|
-
Requires-Dist: setuptools==70.3.0
|
|
231
|
-
Requires-Dist: snowflake-connector-python[secure-local-storage]==3.11.0
|
|
232
|
-
Requires-Dist: snowflake-core==0.8.0; python_version < '3.12'
|
|
233
|
-
Requires-Dist: snowflake-snowpark-python>=1.15.0; python_version < '3.12'
|
|
234
|
-
Requires-Dist: tomlkit==0.13.0
|
|
235
|
-
Requires-Dist: typer==0.12.3
|
|
236
|
-
Requires-Dist: urllib3<2.3,>=1.24.3
|
|
237
|
-
Provides-Extra: development
|
|
238
|
-
Requires-Dist: coverage==7.6.0; extra == 'development'
|
|
239
|
-
Requires-Dist: pre-commit>=3.5.0; extra == 'development'
|
|
240
|
-
Requires-Dist: pytest-randomly==3.15.0; extra == 'development'
|
|
241
|
-
Requires-Dist: pytest==8.3.1; extra == 'development'
|
|
242
|
-
Requires-Dist: syrupy==4.6.1; extra == 'development'
|
|
210
|
+
Classifier: Development Status :: 7 - Inactive
|
|
211
|
+
Requires-Python: >=3.10
|
|
212
|
+
Requires-Dist: snowflake-cli==2.8.2
|
|
243
213
|
Description-Content-Type: text/markdown
|
|
244
214
|
|
|
245
215
|
<!--
|
|
@@ -258,66 +228,8 @@ Description-Content-Type: text/markdown
|
|
|
258
228
|
limitations under the License.
|
|
259
229
|
-->
|
|
260
230
|
|
|
261
|
-
|
|
262
|
-
[](https://github.com/snowflakedb/snowflake-cli/actions/workflows/integration_test.yaml)
|
|
263
|
-
[](https://github.com/snowflakedb/snowflake-cli/actions/workflows/test_cli_action.yaml)
|
|
231
|
+
# Snowflake Developer CLI
|
|
264
232
|
|
|
265
|
-
|
|
233
|
+
This package has been renamed. Use `pip install snowflake-cli` instead.
|
|
266
234
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
Snowflake CLI is an open-source command-line tool explicitly designed for developer-centric workloads in addition to SQL operations. It is a flexible and extensible tool that can accommodate modern development practices and technologies.
|
|
270
|
-
|
|
271
|
-
With Snowflake CLI, developers can create, manage, update, and view apps running on Snowflake across workloads such as Streamlit in Snowflake, the Snowflake Native App Framework, Snowpark Container Services, and Snowpark. It supports a range of Snowflake features, including user-defined functions, stored procedures, Streamlit in Snowflake, and SQL execution.
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
**Note**: Snowflake CLI is in Public Preview (PuPr).
|
|
275
|
-
|
|
276
|
-
Docs: https://docs.snowflake.com/en/developer-guide/snowflake-cli-v2/index.
|
|
277
|
-
|
|
278
|
-
Quick start: https://quickstarts.snowflake.com/guide/getting-started-with-snowflake-cli
|
|
279
|
-
|
|
280
|
-
Cheatsheet: https://github.com/Snowflake-Labs/sf-cheatsheets/blob/main/snowflake-cli.md
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
## Install Snowflake CLI
|
|
284
|
-
|
|
285
|
-
### Install with pip (PyPi)
|
|
286
|
-
|
|
287
|
-
Requires Python >= 3.8
|
|
288
|
-
|
|
289
|
-
```bash
|
|
290
|
-
pip install snowflake-cli-labs
|
|
291
|
-
snow --help
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
### Install with Homebrew (Mac only)
|
|
295
|
-
|
|
296
|
-
Requires [Homebrew](https://brew.sh/).
|
|
297
|
-
|
|
298
|
-
```bash
|
|
299
|
-
brew tap snowflakedb/snowflake-cli
|
|
300
|
-
brew install snowflake-cli
|
|
301
|
-
snow --help
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
### Install from source
|
|
305
|
-
|
|
306
|
-
Requires Python >= 3.8 and git
|
|
307
|
-
|
|
308
|
-
```bash
|
|
309
|
-
git clone https://github.com/snowflakedb/snowflake-cli
|
|
310
|
-
cd snowflake-cli
|
|
311
|
-
# you can also do the below in an active virtual environment:
|
|
312
|
-
# python -m venv .venv
|
|
313
|
-
# source .venv/bin/activate
|
|
314
|
-
hatch build && pip install .
|
|
315
|
-
snow --version
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
You should now be able to run `snow` and get the CLI message.
|
|
319
|
-
|
|
320
|
-
## Get involved
|
|
321
|
-
|
|
322
|
-
Have a feature idea? Running into a bug? Want to contribute? We'd love to hear from you!
|
|
323
|
-
Please open or review issues, open pull requests, or reach out to us on developers@snowflake.com
|
|
235
|
+
New package: https://pypi.org/project/snowflake-cli/
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
README.md,sha256=A_KrrRF2DbYSf8rBfTbKNnk3ICcl5P2H_60qQzEkq2E,729
|
|
2
|
+
snowflake_cli_labs-2.8.2.dist-info/METADATA,sha256=KbJlWDKwgaX6qhYUwAQ5dpgeurOEg1fWe6t5tlC31kg,14109
|
|
3
|
+
snowflake_cli_labs-2.8.2.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
4
|
+
snowflake_cli_labs-2.8.2.dist-info/licenses/LICENSE,sha256=mJMA3Uz2AbjU_kVggo1CAx01XhBsI7BSi2H7ggUg_-c,11344
|
|
5
|
+
snowflake_cli_labs-2.8.2.dist-info/RECORD,,
|
snowflake/cli/__about__.py
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2024 Snowflake Inc.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
|
|
15
|
-
from __future__ import annotations
|
|
16
|
-
|
|
17
|
-
VERSION = "2.8.0rc1"
|
snowflake/cli/__init__.py
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2024 Snowflake Inc.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
snowflake/cli/api/__init__.py
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2024 Snowflake Inc.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
|
|
15
|
-
from __future__ import annotations
|
|
16
|
-
|
|
17
|
-
from typing import Optional
|
|
18
|
-
|
|
19
|
-
from snowflake.cli.api.plugins.plugin_config import PluginConfigProvider
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class Api:
|
|
23
|
-
def __init__(
|
|
24
|
-
self,
|
|
25
|
-
plugin_config_provider: PluginConfigProvider,
|
|
26
|
-
):
|
|
27
|
-
self.plugin_config_provider = plugin_config_provider
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
class ApiNotInitializedError(RuntimeError):
|
|
31
|
-
"""There was a try to use CLI's API while it is still not initialized."""
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
class ApiProvider:
|
|
35
|
-
def __init__(self):
|
|
36
|
-
self._api: Optional[Api] = None
|
|
37
|
-
|
|
38
|
-
def register_api(self, api: Api) -> None:
|
|
39
|
-
self._api = api
|
|
40
|
-
|
|
41
|
-
def api(self) -> Api:
|
|
42
|
-
if self._api:
|
|
43
|
-
return self._api
|
|
44
|
-
else:
|
|
45
|
-
raise ApiNotInitializedError()
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
api_provider = ApiProvider()
|
|
@@ -1,390 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2024 Snowflake Inc.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
|
|
15
|
-
from __future__ import annotations
|
|
16
|
-
|
|
17
|
-
import re
|
|
18
|
-
from pathlib import Path
|
|
19
|
-
from typing import Callable, Optional
|
|
20
|
-
|
|
21
|
-
from snowflake.cli.api.exceptions import InvalidSchemaError
|
|
22
|
-
from snowflake.cli.api.output.formats import OutputFormat
|
|
23
|
-
from snowflake.cli.api.project.schemas.project_definition import ProjectDefinition
|
|
24
|
-
from snowflake.connector import SnowflakeConnection
|
|
25
|
-
|
|
26
|
-
schema_pattern = re.compile(r".+\..+")
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
class _ConnectionContext:
|
|
30
|
-
def __init__(self):
|
|
31
|
-
self._cached_connection: Optional[SnowflakeConnection] = None
|
|
32
|
-
|
|
33
|
-
self._connection_name: Optional[str] = None
|
|
34
|
-
self._account: Optional[str] = None
|
|
35
|
-
self._database: Optional[str] = None
|
|
36
|
-
self._role: Optional[str] = None
|
|
37
|
-
self._schema: Optional[str] = None
|
|
38
|
-
self._user: Optional[str] = None
|
|
39
|
-
self._password: Optional[str] = None
|
|
40
|
-
self._authenticator: Optional[str] = None
|
|
41
|
-
self._private_key_path: Optional[str] = None
|
|
42
|
-
self._warehouse: Optional[str] = None
|
|
43
|
-
self._mfa_passcode: Optional[str] = None
|
|
44
|
-
self._enable_diag: Optional[bool] = False
|
|
45
|
-
self._diag_log_path: Optional[Path] = None
|
|
46
|
-
self._diag_allowlist_path: Optional[Path] = None
|
|
47
|
-
self._temporary_connection: bool = False
|
|
48
|
-
self._session_token: Optional[str] = None
|
|
49
|
-
self._master_token: Optional[str] = None
|
|
50
|
-
self._token_file_path: Optional[Path] = None
|
|
51
|
-
|
|
52
|
-
def __setattr__(self, key, value):
|
|
53
|
-
"""
|
|
54
|
-
We invalidate connection cache every time connection attributes change.
|
|
55
|
-
"""
|
|
56
|
-
super().__setattr__(key, value)
|
|
57
|
-
if key != "_cached_connection":
|
|
58
|
-
self._cached_connection = None
|
|
59
|
-
|
|
60
|
-
@property
|
|
61
|
-
def connection_name(self) -> Optional[str]:
|
|
62
|
-
return self._connection_name
|
|
63
|
-
|
|
64
|
-
def set_connection_name(self, value: Optional[str]):
|
|
65
|
-
self._connection_name = value
|
|
66
|
-
|
|
67
|
-
@property
|
|
68
|
-
def account(self) -> Optional[str]:
|
|
69
|
-
return self._account
|
|
70
|
-
|
|
71
|
-
def set_account(self, value: Optional[str]):
|
|
72
|
-
self._account = value
|
|
73
|
-
|
|
74
|
-
@property
|
|
75
|
-
def database(self) -> Optional[str]:
|
|
76
|
-
return self._database
|
|
77
|
-
|
|
78
|
-
def set_database(self, value: Optional[str]):
|
|
79
|
-
self._database = value
|
|
80
|
-
|
|
81
|
-
@property
|
|
82
|
-
def role(self) -> Optional[str]:
|
|
83
|
-
return self._role
|
|
84
|
-
|
|
85
|
-
def set_role(self, value: Optional[str]):
|
|
86
|
-
self._role = value
|
|
87
|
-
|
|
88
|
-
@property
|
|
89
|
-
def schema(self) -> Optional[str]:
|
|
90
|
-
return self._schema
|
|
91
|
-
|
|
92
|
-
def set_schema(self, value: Optional[str]):
|
|
93
|
-
if (
|
|
94
|
-
value
|
|
95
|
-
and not (value.startswith('"') and value.endswith('"'))
|
|
96
|
-
# if schema is fully qualified name (db.schema)
|
|
97
|
-
and schema_pattern.match(value)
|
|
98
|
-
):
|
|
99
|
-
raise InvalidSchemaError(value)
|
|
100
|
-
self._schema = value
|
|
101
|
-
|
|
102
|
-
@property
|
|
103
|
-
def user(self) -> Optional[str]:
|
|
104
|
-
return self._user
|
|
105
|
-
|
|
106
|
-
def set_user(self, value: Optional[str]):
|
|
107
|
-
self._user = value
|
|
108
|
-
|
|
109
|
-
@property
|
|
110
|
-
def password(self) -> Optional[str]:
|
|
111
|
-
return self._password
|
|
112
|
-
|
|
113
|
-
def set_password(self, value: Optional[str]):
|
|
114
|
-
self._password = value
|
|
115
|
-
|
|
116
|
-
@property
|
|
117
|
-
def authenticator(self) -> Optional[str]:
|
|
118
|
-
return self._authenticator
|
|
119
|
-
|
|
120
|
-
def set_authenticator(self, value: Optional[str]):
|
|
121
|
-
self._authenticator = value
|
|
122
|
-
|
|
123
|
-
@property
|
|
124
|
-
def private_key_path(self) -> Optional[str]:
|
|
125
|
-
return self._private_key_path
|
|
126
|
-
|
|
127
|
-
def set_private_key_path(self, value: Optional[str]):
|
|
128
|
-
self._private_key_path = value
|
|
129
|
-
|
|
130
|
-
@property
|
|
131
|
-
def warehouse(self) -> Optional[str]:
|
|
132
|
-
return self._warehouse
|
|
133
|
-
|
|
134
|
-
def set_warehouse(self, value: Optional[str]):
|
|
135
|
-
self._warehouse = value
|
|
136
|
-
|
|
137
|
-
@property
|
|
138
|
-
def mfa_passcode(self) -> Optional[str]:
|
|
139
|
-
return self._mfa_passcode
|
|
140
|
-
|
|
141
|
-
def set_mfa_passcode(self, value: Optional[str]):
|
|
142
|
-
self._mfa_passcode = value
|
|
143
|
-
|
|
144
|
-
@property
|
|
145
|
-
def enable_diag(self) -> Optional[bool]:
|
|
146
|
-
return self._enable_diag
|
|
147
|
-
|
|
148
|
-
def set_enable_diag(self, value: Optional[bool]):
|
|
149
|
-
self._enable_diag = value
|
|
150
|
-
|
|
151
|
-
@property
|
|
152
|
-
def diag_log_path(self) -> Optional[Path]:
|
|
153
|
-
return self._diag_log_path
|
|
154
|
-
|
|
155
|
-
def set_diag_log_path(self, value: Optional[Path]):
|
|
156
|
-
self._diag_log_path = value
|
|
157
|
-
|
|
158
|
-
@property
|
|
159
|
-
def diag_allowlist_path(self) -> Optional[Path]:
|
|
160
|
-
return self._diag_allowlist_path
|
|
161
|
-
|
|
162
|
-
def set_diag_allowlist_path(self, value: Optional[Path]):
|
|
163
|
-
self._diag_allowlist_path = value
|
|
164
|
-
|
|
165
|
-
@property
|
|
166
|
-
def temporary_connection(self) -> bool:
|
|
167
|
-
return self._temporary_connection
|
|
168
|
-
|
|
169
|
-
def set_temporary_connection(self, value: bool):
|
|
170
|
-
self._temporary_connection = value
|
|
171
|
-
|
|
172
|
-
@property
|
|
173
|
-
def session_token(self) -> Optional[str]:
|
|
174
|
-
return self._session_token
|
|
175
|
-
|
|
176
|
-
def set_session_token(self, value: Optional[str]):
|
|
177
|
-
self._session_token = value
|
|
178
|
-
|
|
179
|
-
@property
|
|
180
|
-
def master_token(self) -> Optional[str]:
|
|
181
|
-
return self._master_token
|
|
182
|
-
|
|
183
|
-
def set_master_token(self, value: Optional[str]):
|
|
184
|
-
self._master_token = value
|
|
185
|
-
|
|
186
|
-
@property
|
|
187
|
-
def token_file_path(self) -> Optional[Path]:
|
|
188
|
-
return self._token_file_path
|
|
189
|
-
|
|
190
|
-
def set_token_file_path(self, value: Optional[Path]):
|
|
191
|
-
self._token_file_path = value
|
|
192
|
-
|
|
193
|
-
@property
|
|
194
|
-
def connection(self) -> SnowflakeConnection:
|
|
195
|
-
if not self._cached_connection:
|
|
196
|
-
self._cached_connection = self._build_connection()
|
|
197
|
-
return self._cached_connection
|
|
198
|
-
|
|
199
|
-
def _collect_not_empty_connection_attributes(self):
|
|
200
|
-
return {
|
|
201
|
-
"account": self.account,
|
|
202
|
-
"user": self.user,
|
|
203
|
-
"password": self.password,
|
|
204
|
-
"authenticator": self.authenticator,
|
|
205
|
-
"private_key_path": self.private_key_path,
|
|
206
|
-
"database": self.database,
|
|
207
|
-
"schema": self.schema,
|
|
208
|
-
"role": self.role,
|
|
209
|
-
"warehouse": self.warehouse,
|
|
210
|
-
"session_token": self.session_token,
|
|
211
|
-
"master_token": self.master_token,
|
|
212
|
-
"token_file_path": self.token_file_path,
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
def _build_connection(self):
|
|
216
|
-
from snowflake.cli.app.snow_connector import connect_to_snowflake
|
|
217
|
-
|
|
218
|
-
return connect_to_snowflake(
|
|
219
|
-
temporary_connection=self.temporary_connection,
|
|
220
|
-
mfa_passcode=self._mfa_passcode,
|
|
221
|
-
enable_diag=self._enable_diag,
|
|
222
|
-
diag_log_path=self._diag_log_path,
|
|
223
|
-
diag_allowlist_path=self._diag_allowlist_path,
|
|
224
|
-
connection_name=self.connection_name,
|
|
225
|
-
**self._collect_not_empty_connection_attributes(),
|
|
226
|
-
)
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
class _CliGlobalContextManager:
|
|
230
|
-
def __init__(self):
|
|
231
|
-
self._connection_context = _ConnectionContext()
|
|
232
|
-
self._enable_tracebacks = True
|
|
233
|
-
self._output_format = OutputFormat.TABLE
|
|
234
|
-
self._verbose = False
|
|
235
|
-
self._experimental = False
|
|
236
|
-
self._project_definition = None
|
|
237
|
-
self._project_root = None
|
|
238
|
-
self._project_path_arg = None
|
|
239
|
-
self._project_env_overrides_args = {}
|
|
240
|
-
self._typer_pre_execute_commands = []
|
|
241
|
-
self._template_context = None
|
|
242
|
-
self._silent: bool = False
|
|
243
|
-
|
|
244
|
-
def reset(self):
|
|
245
|
-
self.__init__()
|
|
246
|
-
|
|
247
|
-
@property
|
|
248
|
-
def enable_tracebacks(self) -> bool:
|
|
249
|
-
return self._enable_tracebacks
|
|
250
|
-
|
|
251
|
-
def set_enable_tracebacks(self, value: bool):
|
|
252
|
-
self._enable_tracebacks = value
|
|
253
|
-
|
|
254
|
-
@property
|
|
255
|
-
def output_format(self) -> OutputFormat:
|
|
256
|
-
return self._output_format
|
|
257
|
-
|
|
258
|
-
def set_output_format(self, value: OutputFormat):
|
|
259
|
-
self._output_format = value
|
|
260
|
-
|
|
261
|
-
@property
|
|
262
|
-
def verbose(self) -> bool:
|
|
263
|
-
return self._verbose
|
|
264
|
-
|
|
265
|
-
def set_verbose(self, value: bool):
|
|
266
|
-
self._verbose = value
|
|
267
|
-
|
|
268
|
-
@property
|
|
269
|
-
def experimental(self) -> bool:
|
|
270
|
-
return self._experimental
|
|
271
|
-
|
|
272
|
-
def set_experimental(self, value: bool):
|
|
273
|
-
self._experimental = value
|
|
274
|
-
|
|
275
|
-
@property
|
|
276
|
-
def project_definition(self) -> Optional[ProjectDefinition]:
|
|
277
|
-
return self._project_definition
|
|
278
|
-
|
|
279
|
-
def set_project_definition(self, value: ProjectDefinition):
|
|
280
|
-
self._project_definition = value
|
|
281
|
-
|
|
282
|
-
@property
|
|
283
|
-
def project_root(self):
|
|
284
|
-
return self._project_root
|
|
285
|
-
|
|
286
|
-
def set_project_root(self, project_root: Path):
|
|
287
|
-
self._project_root = project_root
|
|
288
|
-
|
|
289
|
-
@property
|
|
290
|
-
def project_path_arg(self) -> Optional[str]:
|
|
291
|
-
return self._project_path_arg
|
|
292
|
-
|
|
293
|
-
def set_project_path_arg(self, project_path_arg: str):
|
|
294
|
-
self._project_path_arg = project_path_arg
|
|
295
|
-
|
|
296
|
-
@property
|
|
297
|
-
def project_env_overrides_args(self) -> dict[str, str]:
|
|
298
|
-
return self._project_env_overrides_args
|
|
299
|
-
|
|
300
|
-
def set_project_env_overrides_args(
|
|
301
|
-
self, project_env_overrides_args: dict[str, str]
|
|
302
|
-
):
|
|
303
|
-
self._project_env_overrides_args = project_env_overrides_args
|
|
304
|
-
|
|
305
|
-
@property
|
|
306
|
-
def template_context(self) -> dict:
|
|
307
|
-
return self._template_context
|
|
308
|
-
|
|
309
|
-
def set_template_context(self, template_context: dict):
|
|
310
|
-
self._template_context = template_context
|
|
311
|
-
|
|
312
|
-
@property
|
|
313
|
-
def typer_pre_execute_commands(self) -> list[Callable[[], None]]:
|
|
314
|
-
return self._typer_pre_execute_commands
|
|
315
|
-
|
|
316
|
-
def add_typer_pre_execute_commands(
|
|
317
|
-
self, typer_pre_execute_command: Callable[[], None]
|
|
318
|
-
):
|
|
319
|
-
self._typer_pre_execute_commands.append(typer_pre_execute_command)
|
|
320
|
-
|
|
321
|
-
@property
|
|
322
|
-
def connection_context(self) -> _ConnectionContext:
|
|
323
|
-
return self._connection_context
|
|
324
|
-
|
|
325
|
-
@property
|
|
326
|
-
def connection(self) -> SnowflakeConnection:
|
|
327
|
-
return self.connection_context.connection
|
|
328
|
-
|
|
329
|
-
@property
|
|
330
|
-
def silent(self) -> bool:
|
|
331
|
-
return self._silent
|
|
332
|
-
|
|
333
|
-
def set_silent(self, value: bool):
|
|
334
|
-
self._silent = value
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
class _CliGlobalContextAccess:
|
|
338
|
-
def __init__(self, manager: _CliGlobalContextManager):
|
|
339
|
-
self._manager = manager
|
|
340
|
-
|
|
341
|
-
@property
|
|
342
|
-
def connection(self) -> SnowflakeConnection:
|
|
343
|
-
return self._manager.connection
|
|
344
|
-
|
|
345
|
-
@property
|
|
346
|
-
def connection_context(self) -> _ConnectionContext:
|
|
347
|
-
return self._manager.connection_context
|
|
348
|
-
|
|
349
|
-
@property
|
|
350
|
-
def enable_tracebacks(self) -> bool:
|
|
351
|
-
return self._manager.enable_tracebacks
|
|
352
|
-
|
|
353
|
-
@property
|
|
354
|
-
def output_format(self) -> OutputFormat:
|
|
355
|
-
return self._manager.output_format
|
|
356
|
-
|
|
357
|
-
@property
|
|
358
|
-
def verbose(self) -> bool:
|
|
359
|
-
return self._manager.verbose
|
|
360
|
-
|
|
361
|
-
@property
|
|
362
|
-
def experimental(self) -> bool:
|
|
363
|
-
return self._manager.experimental
|
|
364
|
-
|
|
365
|
-
@property
|
|
366
|
-
def project_definition(self) -> ProjectDefinition | None:
|
|
367
|
-
return self._manager.project_definition
|
|
368
|
-
|
|
369
|
-
@property
|
|
370
|
-
def project_root(self):
|
|
371
|
-
return self._manager.project_root
|
|
372
|
-
|
|
373
|
-
@property
|
|
374
|
-
def template_context(self) -> dict:
|
|
375
|
-
return self._manager.template_context
|
|
376
|
-
|
|
377
|
-
@property
|
|
378
|
-
def silent(self) -> bool:
|
|
379
|
-
if self._should_force_mute_intermediate_output:
|
|
380
|
-
return True
|
|
381
|
-
return self._manager.silent
|
|
382
|
-
|
|
383
|
-
@property
|
|
384
|
-
def _should_force_mute_intermediate_output(self) -> bool:
|
|
385
|
-
"""Computes whether cli_console output should be muted."""
|
|
386
|
-
return self._manager.output_format == OutputFormat.JSON
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
cli_context_manager: _CliGlobalContextManager = _CliGlobalContextManager()
|
|
390
|
-
cli_context: _CliGlobalContextAccess = _CliGlobalContextAccess(cli_context_manager)
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2024 Snowflake Inc.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2024 Snowflake Inc.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
|
|
15
|
-
from copy import deepcopy
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
def build_alias(main_app, name: str, help_str: str):
|
|
19
|
-
alias = deepcopy(main_app)
|
|
20
|
-
alias.info.name = name
|
|
21
|
-
alias.info.help = help_str
|
|
22
|
-
alias.info.hidden = True
|
|
23
|
-
return alias
|