snowflake-cli-labs 2.3.1__tar.gz → 2.4.0rc0__tar.gz

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 (642) hide show
  1. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/.gitignore +2 -0
  2. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/.pre-commit-config.yaml +2 -1
  3. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/CONTRIBUTING.md +1 -0
  4. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/PKG-INFO +4 -2
  5. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/RELEASE-NOTES.md +50 -1
  6. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/performance_history_analysis.py +2 -0
  7. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/pyproject.toml +6 -2
  8. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/snyk/requirements.txt +3 -1
  9. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/__about__.py +1 -1
  10. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/__init__.py +2 -0
  11. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/cli_global_context.py +8 -1
  12. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/commands/decorators.py +2 -2
  13. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/commands/flags.py +49 -4
  14. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/commands/snow_typer.py +2 -0
  15. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/console/abc.py +2 -0
  16. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/console/console.py +6 -5
  17. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/constants.py +5 -0
  18. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/exceptions.py +12 -0
  19. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/api/identifiers.py +123 -0
  20. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/plugins/command/__init__.py +2 -0
  21. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/plugins/plugin_config.py +2 -0
  22. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/definition.py +2 -0
  23. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/errors.py +3 -3
  24. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/api/project/schemas/identifier_model.py +35 -0
  25. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/schemas/native_app/native_app.py +4 -0
  26. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/api/project/schemas/native_app/path_mapping.py +40 -0
  27. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/api/project/schemas/project_definition.py +79 -0
  28. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/schemas/snowpark/argument.py +2 -0
  29. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/schemas/snowpark/callable.py +8 -17
  30. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/schemas/streamlit/streamlit.py +2 -2
  31. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/schemas/updatable_model.py +2 -0
  32. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/util.py +2 -0
  33. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/secure_path.py +2 -0
  34. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/sql_execution.py +14 -54
  35. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/utils/cursor.py +2 -0
  36. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/api/utils/models.py +23 -0
  37. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/api/utils/rendering.py +266 -0
  38. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/api_impl/plugin/plugin_config_provider_impl.py +2 -0
  39. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/cli_app.py +4 -1
  40. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/commands_registration/builtin_plugins.py +8 -0
  41. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/commands_registration/command_plugins_loader.py +2 -0
  42. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/commands_registration/commands_registration_with_callbacks.py +2 -0
  43. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/commands_registration/typer_registration.py +2 -0
  44. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/dev/pycharm_remote_debug.py +2 -0
  45. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/loggers.py +2 -0
  46. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/main_typer.py +1 -1
  47. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/printing.py +3 -1
  48. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/snow_connector.py +2 -2
  49. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/connection/commands.py +5 -14
  50. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/connection/util.py +1 -1
  51. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/cortex/commands.py +312 -0
  52. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/cortex/constants.py +3 -0
  53. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/cortex/manager.py +175 -0
  54. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/cortex/plugin_spec.py +16 -0
  55. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/cortex/types.py +8 -0
  56. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/git/commands.py +15 -0
  57. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/nativeapp/artifacts.py +569 -0
  58. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/nativeapp/codegen/artifact_processor.py +45 -0
  59. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/nativeapp/codegen/compiler.py +104 -0
  60. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/codegen/sandbox.py +2 -0
  61. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/nativeapp/codegen/snowpark/callback_source.py.jinja +181 -0
  62. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/nativeapp/codegen/snowpark/extension_function_utils.py +196 -0
  63. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/nativeapp/codegen/snowpark/models.py +47 -0
  64. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/nativeapp/codegen/snowpark/python_processor.py +489 -0
  65. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/commands.py +11 -4
  66. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/common_flags.py +12 -5
  67. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/manager.py +49 -16
  68. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/policy.py +2 -0
  69. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/run_processor.py +2 -0
  70. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/teardown_processor.py +78 -8
  71. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/utils.py +7 -6
  72. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/version/commands.py +6 -5
  73. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/version/version_processor.py +2 -0
  74. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/notebook/commands.py +21 -0
  75. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/notebook/exceptions.py +6 -0
  76. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/notebook/manager.py +57 -0
  77. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/notebook/types.py +2 -0
  78. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/object/command_aliases.py +80 -0
  79. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/object/commands.py +10 -6
  80. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/object/common.py +2 -0
  81. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/object_stage_deprecated/__init__.py +1 -0
  82. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/object_stage_deprecated/plugin_spec.py +20 -0
  83. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/commands.py +62 -6
  84. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/common.py +17 -6
  85. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/compute_pool/commands.py +22 -1
  86. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/compute_pool/manager.py +2 -0
  87. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/image_repository/commands.py +25 -1
  88. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/image_repository/manager.py +3 -1
  89. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/services/commands.py +39 -5
  90. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/services/manager.py +2 -0
  91. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/sql/commands.py +13 -5
  92. snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/sql/manager.py +76 -0
  93. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/stage/commands.py +29 -3
  94. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/stage/diff.py +2 -0
  95. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/streamlit/commands.py +26 -10
  96. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/streamlit/manager.py +9 -10
  97. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/__snapshots__/test_help_messages.ambr +3912 -1322
  98. snowflake_cli_labs-2.4.0rc0/tests/__snapshots__/test_sql.ambr +82 -0
  99. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/api/console/test_cli_console_output.py +10 -0
  100. snowflake_cli_labs-2.4.0rc0/tests/api/test_fqn.py +143 -0
  101. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/api/utils/test_naming_utils.py +6 -2
  102. snowflake_cli_labs-2.4.0rc0/tests/api/utils/test_rendering.py +256 -0
  103. snowflake_cli_labs-2.4.0rc0/tests/cortex/__snapshots__/test_cortex_commands.ambr +10 -0
  104. snowflake_cli_labs-2.4.0rc0/tests/cortex/test_cortex_commands.py +247 -0
  105. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/git/test_git_commands.py +23 -0
  106. snowflake_cli_labs-2.4.0rc0/tests/nativeapp/codegen/snowpark/__snapshots__/test_extension_function_utils.ambr +82 -0
  107. snowflake_cli_labs-2.4.0rc0/tests/nativeapp/codegen/snowpark/__snapshots__/test_python_processor.ambr +300 -0
  108. snowflake_cli_labs-2.4.0rc0/tests/nativeapp/codegen/snowpark/test_extension_function_utils.py +300 -0
  109. snowflake_cli_labs-2.4.0rc0/tests/nativeapp/codegen/snowpark/test_python_processor.py +495 -0
  110. snowflake_cli_labs-2.4.0rc0/tests/nativeapp/codegen/test_compiler.py +86 -0
  111. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/codegen/test_sandbox.py +7 -9
  112. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/test_annotation_processor_config.py +8 -2
  113. snowflake_cli_labs-2.4.0rc0/tests/nativeapp/test_artifacts.py +918 -0
  114. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/test_teardown_processor.py +75 -0
  115. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/utils.py +4 -0
  116. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/notebook/test_notebook_commands.py +16 -0
  117. snowflake_cli_labs-2.4.0rc0/tests/notebook/test_notebook_manager.py +64 -0
  118. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/object/test_common.py +2 -0
  119. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/output/test_printing.py +10 -3
  120. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/project/__snapshots__/test_config.ambr +45 -19
  121. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/project/fixtures.py +2 -0
  122. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/project/test_config.py +21 -4
  123. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/project/test_project_schemas.py +15 -0
  124. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/snowpark/__snapshots__/test_function.ambr +6 -6
  125. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/snowpark/__snapshots__/test_procedure.ambr +8 -8
  126. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/snowpark/test_common.py +2 -0
  127. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/snowpark/test_function.py +48 -22
  128. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/snowpark/test_package.py +27 -5
  129. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/snowpark/test_procedure.py +48 -22
  130. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/spcs/test_compute_pool.py +25 -0
  131. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/spcs/test_image_repository.py +24 -0
  132. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/spcs/test_services.py +25 -0
  133. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/stage/test_diff.py +2 -0
  134. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/stage/test_stage.py +23 -0
  135. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/streamlit/test_commands.py +66 -55
  136. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_connection.py +14 -14
  137. snowflake_cli_labs-2.4.0rc0/tests/test_data/cortex/conversation.json +14 -0
  138. snowflake_cli_labs-2.4.0rc0/tests/test_data/cortex/short_english_text.txt +1 -0
  139. snowflake_cli_labs-2.4.0rc0/tests/test_data/projects/deploy_root_with_incorrect_setup_script/manifest.yml +3 -0
  140. snowflake_cli_labs-2.4.0rc0/tests/test_data/projects/deploy_root_with_incorrect_setup_script/setup_script.sql +1 -0
  141. snowflake_cli_labs-2.4.0rc0/tests/test_data/projects/deploy_root_with_manifest_artifacts/manifest.yml +3 -0
  142. snowflake_cli_labs-2.4.0rc0/tests/test_data/projects/deploy_root_without_manifest_artifacts/manifest.yml +1 -0
  143. snowflake_cli_labs-2.4.0rc0/tests/test_data/projects/sql_templating/snowflake.local.yml +2 -0
  144. snowflake_cli_labs-2.4.0rc0/tests/test_data/projects/sql_templating/snowflake.yml +4 -0
  145. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_help_messages.py +29 -6
  146. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_logs.py +2 -0
  147. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_main.py +2 -2
  148. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_snow_connector.py +2 -2
  149. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_sql.py +74 -37
  150. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/testing_utils/files_and_dirs.py +25 -8
  151. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/testing_utils/fixtures.py +33 -1
  152. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/testing_utils/result_assertions.py +5 -0
  153. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_e2e/__snapshots__/test_installation.ambr +19 -12
  154. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_e2e/test_installation.py +1 -1
  155. snowflake_cli_labs-2.4.0rc0/tests_integration/__snapshots__/test_sql.ambr +57 -0
  156. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/conftest.py +3 -1
  157. snowflake_cli_labs-2.4.0rc0/tests_integration/nativeapp/test_bundle.py +57 -0
  158. snowflake_cli_labs-2.4.0rc0/tests_integration/nativeapp/test_deploy.py +412 -0
  159. snowflake_cli_labs-2.4.0rc0/tests_integration/nativeapp/test_init_run.py +406 -0
  160. snowflake_cli_labs-2.4.0rc0/tests_integration/nativeapp/test_teardown.py +142 -0
  161. {snowflake_cli_labs-2.3.1/tests_integration → snowflake_cli_labs-2.4.0rc0/tests_integration/notebook}/test_notebooks.py +34 -0
  162. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/scripts/integration_account_setup.sql +26 -0
  163. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/snowflake_connector.py +4 -2
  164. snowflake_cli_labs-2.4.0rc0/tests_integration/test_cortex.py +138 -0
  165. snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/cortex/conversation.json +14 -0
  166. snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/cortex/english_text.txt +12 -0
  167. snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/notebook/my_notebook.ipynb +34 -0
  168. snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/projects/snowpark_with_import/app/__init__.py +0 -0
  169. snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/projects/snowpark_with_single_requirements_having_no_other_deps/app/__init__.py +0 -0
  170. snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/projects/snowpark_with_single_requirements_having_transient_deps/app/__init__.py +0 -0
  171. snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/sql_multi_queries.sql +3 -0
  172. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_object.py +12 -3
  173. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_package.py +20 -1
  174. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_snowpark.py +48 -33
  175. snowflake_cli_labs-2.4.0rc0/tests_integration/test_snowpark_external_access.py +185 -0
  176. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_sql.py +22 -3
  177. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_stage.py +6 -2
  178. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_streamlit.py +24 -8
  179. snowflake_cli_labs-2.4.0rc0/tests_integration/testing_utils/assertions/__init__.py +0 -0
  180. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/testing_utils/assertions/test_result_assertions.py +5 -0
  181. snowflake_cli_labs-2.3.1/src/snowflake/cli/api/project/schemas/native_app/path_mapping.py +0 -22
  182. snowflake_cli_labs-2.3.1/src/snowflake/cli/api/project/schemas/project_definition.py +0 -27
  183. snowflake_cli_labs-2.3.1/src/snowflake/cli/api/utils/naming_utils.py +0 -27
  184. snowflake_cli_labs-2.3.1/src/snowflake/cli/api/utils/rendering.py +0 -111
  185. snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/nativeapp/artifacts.py +0 -324
  186. snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/notebook/manager.py +0 -14
  187. snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/sql/manager.py +0 -55
  188. snowflake_cli_labs-2.3.1/tests/api/utils/test_rendering.py +0 -65
  189. snowflake_cli_labs-2.3.1/tests/nativeapp/test_artifacts.py +0 -228
  190. snowflake_cli_labs-2.3.1/tests/notebook/test_notebook_manager.py +0 -23
  191. snowflake_cli_labs-2.3.1/tests_integration/__snapshots__/test_sql.ambr +0 -16
  192. snowflake_cli_labs-2.3.1/tests_integration/test_data/sql_multi_queries.sql +0 -3
  193. snowflake_cli_labs-2.3.1/tests_integration/test_nativeapp.py +0 -883
  194. snowflake_cli_labs-2.3.1/tests_integration/test_snowpark_external_access.py +0 -58
  195. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/LICENSE +0 -0
  196. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/README.md +0 -0
  197. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/SECURITY.md +0 -0
  198. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/conftest.py +0 -0
  199. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/docs/images/coverage_1.png +0 -0
  200. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/docs/images/coverage_2.png +0 -0
  201. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/docs/images/coverage_3.png +0 -0
  202. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/docs/images/coverage_4.png +0 -0
  203. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/docs/images/coverage_5.png +0 -0
  204. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/scripts/main.py +0 -0
  205. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/snyk/dependency-sync.py +0 -0
  206. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/__init__.py +0 -0
  207. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/__init__.py +0 -0
  208. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/commands/__init__.py +0 -0
  209. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/commands/alias.py +0 -0
  210. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/commands/experimental_behaviour.py +0 -0
  211. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/commands/project_initialisation.py +0 -0
  212. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/config.py +0 -0
  213. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/console/__init__.py +0 -0
  214. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/console/enum.py +0 -0
  215. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/feature_flags.py +0 -0
  216. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/output/__init__.py +0 -0
  217. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/output/formats.py +0 -0
  218. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/output/types.py +0 -0
  219. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/plugins/__init__.py +0 -0
  220. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/plugins/command/plugin_hook_specs.py +0 -0
  221. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/__init__.py +0 -0
  222. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/definition_manager.py +0 -0
  223. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/schemas/__init__.py +0 -0
  224. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/schemas/native_app/__init__.py +0 -0
  225. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/schemas/native_app/application.py +0 -0
  226. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/schemas/native_app/package.py +0 -0
  227. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/schemas/snowpark/__init__.py +0 -0
  228. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/schemas/snowpark/snowpark.py +0 -0
  229. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/project/schemas/streamlit/__init__.py +0 -0
  230. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/secure_utils.py +0 -0
  231. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/utils/__init__.py +0 -0
  232. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/utils/error_handling.py +0 -0
  233. snowflake_cli_labs-2.3.1/src/snowflake/cli/app/api_impl/__init__.py → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/api/utils/naming_utils.py +0 -0
  234. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/utils/path_utils.py +0 -0
  235. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/api/utils/types.py +0 -0
  236. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/__init__.py +0 -0
  237. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/__main__.py +0 -0
  238. {snowflake_cli_labs-2.3.1/src/snowflake/cli/app/api_impl/plugin → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/app/api_impl}/__init__.py +0 -0
  239. {snowflake_cli_labs-2.3.1/src/snowflake/cli/app/dev → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/app/api_impl/plugin}/__init__.py +0 -0
  240. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/commands_registration/__init__.py +0 -0
  241. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/commands_registration/exception_logging.py +0 -0
  242. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/commands_registration/threadsafe.py +0 -0
  243. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/constants.py +0 -0
  244. {snowflake_cli_labs-2.3.1/src/snowflake/cli/app/dev/docs → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/app/dev}/__init__.py +0 -0
  245. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/dev/commands_structure.py +0 -0
  246. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/app/dev/docs}/__init__.py +0 -0
  247. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/dev/docs/generator.py +0 -0
  248. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/dev/docs/templates/overview.rst.jinja2 +0 -0
  249. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/dev/docs/templates/usage.rst.jinja2 +0 -0
  250. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/app/telemetry.py +0 -0
  251. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/connection → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins}/__init__.py +0 -0
  252. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/git → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/connection}/__init__.py +0 -0
  253. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/connection/plugin_spec.py +0 -0
  254. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/nativeapp → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/cortex}/__init__.py +0 -0
  255. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/nativeapp/codegen → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/git}/__init__.py +0 -0
  256. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/git/manager.py +0 -0
  257. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/git/plugin_spec.py +0 -0
  258. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/nativeapp/version → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/nativeapp}/__init__.py +0 -0
  259. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/notebook → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/nativeapp/codegen}/__init__.py +0 -0
  260. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/constants.py +0 -0
  261. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/exceptions.py +0 -0
  262. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/feature_flags.py +0 -0
  263. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/init.py +0 -0
  264. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/nativeapp/plugin_spec.py +0 -0
  265. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/snowpark/package → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/nativeapp/version}/__init__.py +0 -0
  266. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/spcs/compute_pool → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/notebook}/__init__.py +0 -0
  267. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/notebook/plugin_spec.py +0 -0
  268. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/object/__init__.py +0 -0
  269. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/object/manager.py +0 -0
  270. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/object/plugin_spec.py +0 -0
  271. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/object/stage_deprecated → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/object_stage_deprecated}/commands.py +0 -0
  272. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/__init__.py +0 -0
  273. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/manager.py +0 -0
  274. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/models.py +0 -0
  275. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/spcs/image_registry → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/snowpark/package}/__init__.py +0 -0
  276. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/package/anaconda_packages.py +0 -0
  277. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/package/commands.py +0 -0
  278. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/package/manager.py +0 -0
  279. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/package/utils.py +0 -0
  280. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/package_utils.py +0 -0
  281. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/plugin_spec.py +0 -0
  282. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/snowpark_package_paths.py +0 -0
  283. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/snowpark_shared.py +0 -0
  284. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/snowpark/zipper.py +0 -0
  285. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/__init__.py +0 -0
  286. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/common.py +0 -0
  287. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/spcs/image_repository → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/spcs/compute_pool}/__init__.py +0 -0
  288. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/spcs/jobs → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/spcs/image_registry}/__init__.py +0 -0
  289. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/image_registry/commands.py +0 -0
  290. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/image_registry/manager.py +0 -0
  291. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/spcs/services → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/spcs/image_repository}/__init__.py +0 -0
  292. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/sql → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/spcs/jobs}/__init__.py +0 -0
  293. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/jobs/commands.py +0 -0
  294. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/jobs/manager.py +0 -0
  295. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/spcs/plugin_spec.py +0 -0
  296. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/stage → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/spcs/services}/__init__.py +0 -0
  297. {snowflake_cli_labs-2.3.1/src/snowflake/cli/plugins/streamlit → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/sql}/__init__.py +0 -0
  298. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/sql/plugin_spec.py +0 -0
  299. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/sql/snowsql_templating.py +0 -0
  300. {snowflake_cli_labs-2.3.1/src/snowflake/cli/templates/default_snowpark/app → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/stage}/__init__.py +0 -0
  301. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/stage/manager.py +0 -0
  302. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/stage/plugin_spec.py +0 -0
  303. {snowflake_cli_labs-2.3.1/test_external_plugins/broken_plugin/src/snowflakecli/test_plugins/broken_plugin → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/plugins/streamlit}/__init__.py +0 -0
  304. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/plugins/streamlit/plugin_spec.py +0 -0
  305. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/default_snowpark/.gitignore +0 -0
  306. {snowflake_cli_labs-2.3.1/test_external_plugins/failing_plugin/src/snowflakecli/test_plugins/failing_plugin → snowflake_cli_labs-2.4.0rc0/src/snowflake/cli/templates/default_snowpark/app}/__init__.py +0 -0
  307. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/default_snowpark/app/common.py +0 -0
  308. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/default_snowpark/app/functions.py +0 -0
  309. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/default_snowpark/app/procedures.py +0 -0
  310. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/default_snowpark/requirements.txt +0 -0
  311. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/default_snowpark/snowflake.yml +0 -0
  312. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/default_streamlit/.gitignore +0 -0
  313. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/default_streamlit/common/hello.py +0 -0
  314. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/default_streamlit/environment.yml +0 -0
  315. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/default_streamlit/pages/my_page.py +0 -0
  316. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/default_streamlit/snowflake.yml +0 -0
  317. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/default_streamlit/streamlit_app.py +0 -0
  318. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/environment.yml.jinja +0 -0
  319. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/src/snowflake/cli/templates/streamlit_app_launcher.py.jinja +0 -0
  320. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/broken_plugin/pyproject.toml +0 -0
  321. {snowflake_cli_labs-2.3.1/test_external_plugins/multilingual_hello_command_group/src/snowflakecli/test_plugins/multilingual_hello → snowflake_cli_labs-2.4.0rc0/test_external_plugins/broken_plugin/src/snowflakecli/test_plugins/broken_plugin}/__init__.py +0 -0
  322. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/broken_plugin/src/snowflakecli/test_plugins/broken_plugin/commands.py +0 -0
  323. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/broken_plugin/src/snowflakecli/test_plugins/broken_plugin/plugin_spec.py +0 -0
  324. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/failing_plugin/pyproject.toml +0 -0
  325. {snowflake_cli_labs-2.3.1/test_external_plugins/override_build_in_command/src/snowflakecli/test_plugins/override_build_in_command → snowflake_cli_labs-2.4.0rc0/test_external_plugins/failing_plugin/src/snowflakecli/test_plugins/failing_plugin}/__init__.py +0 -0
  326. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/failing_plugin/src/snowflakecli/test_plugins/failing_plugin/commands.py +0 -0
  327. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/failing_plugin/src/snowflakecli/test_plugins/failing_plugin/plugin_spec.py +0 -0
  328. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/multilingual_hello_command_group/pyproject.toml +0 -0
  329. {snowflake_cli_labs-2.3.1/test_external_plugins/snowpark_hello_single_command/src/snowflakecli/test_plugins/snowpark_hello → snowflake_cli_labs-2.4.0rc0/test_external_plugins/multilingual_hello_command_group/src/snowflakecli/test_plugins/multilingual_hello}/__init__.py +0 -0
  330. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/multilingual_hello_command_group/src/snowflakecli/test_plugins/multilingual_hello/commands.py +0 -0
  331. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/multilingual_hello_command_group/src/snowflakecli/test_plugins/multilingual_hello/hello_language.py +0 -0
  332. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/multilingual_hello_command_group/src/snowflakecli/test_plugins/multilingual_hello/manager.py +0 -0
  333. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/multilingual_hello_command_group/src/snowflakecli/test_plugins/multilingual_hello/plugin_spec.py +0 -0
  334. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/override_build_in_command/pyproject.toml +0 -0
  335. {snowflake_cli_labs-2.3.1/tests → snowflake_cli_labs-2.4.0rc0/test_external_plugins/override_build_in_command/src/snowflakecli/test_plugins/override_build_in_command}/__init__.py +0 -0
  336. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/override_build_in_command/src/snowflakecli/test_plugins/override_build_in_command/commands.py +0 -0
  337. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/override_build_in_command/src/snowflakecli/test_plugins/override_build_in_command/plugin_spec.py +0 -0
  338. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/snowpark_hello_single_command/pyproject.toml +0 -0
  339. {snowflake_cli_labs-2.3.1/tests/api → snowflake_cli_labs-2.4.0rc0/test_external_plugins/snowpark_hello_single_command/src/snowflakecli/test_plugins/snowpark_hello}/__init__.py +0 -0
  340. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/snowpark_hello_single_command/src/snowflakecli/test_plugins/snowpark_hello/commands.py +0 -0
  341. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/snowpark_hello_single_command/src/snowflakecli/test_plugins/snowpark_hello/manager.py +0 -0
  342. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/test_external_plugins/snowpark_hello_single_command/src/snowflakecli/test_plugins/snowpark_hello/plugin_spec.py +0 -0
  343. {snowflake_cli_labs-2.3.1/tests/api/commands → snowflake_cli_labs-2.4.0rc0/tests}/__init__.py +0 -0
  344. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/__snapshots__/test_config.ambr +0 -0
  345. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/__snapshots__/test_connection.ambr +0 -0
  346. {snowflake_cli_labs-2.3.1/tests/api/console → snowflake_cli_labs-2.4.0rc0/tests/api}/__init__.py +0 -0
  347. {snowflake_cli_labs-2.3.1/tests/nativeapp → snowflake_cli_labs-2.4.0rc0/tests/api/commands}/__init__.py +0 -0
  348. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/api/commands/__snapshots__/test_flags.ambr +0 -0
  349. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/api/commands/__snapshots__/test_snow_typer.ambr +0 -0
  350. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/api/commands/test_flags.py +0 -0
  351. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/api/commands/test_snow_typer.py +0 -0
  352. {snowflake_cli_labs-2.3.1/tests/notebook → snowflake_cli_labs-2.4.0rc0/tests/api/console}/__init__.py +0 -0
  353. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/api/console/test_console_abc.py +0 -0
  354. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/api/console/test_intermediate_output.py +0 -0
  355. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/api/test_feature_flags.py +0 -0
  356. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/api/test_secure_path.py +0 -0
  357. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/app/test_telemetry.py +0 -0
  358. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/conftest.py +0 -0
  359. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/empty_config.toml +0 -0
  360. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/git/__snapshots__/test_git_commands.ambr +0 -0
  361. {snowflake_cli_labs-2.3.1/tests/object → snowflake_cli_labs-2.4.0rc0/tests/nativeapp}/__init__.py +0 -0
  362. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/__snapshots__/test_commands.ambr +0 -0
  363. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/__snapshots__/test_init.ambr +0 -0
  364. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/patch_utils.py +0 -0
  365. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/test_commands.py +0 -0
  366. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/test_feature_flags.py +0 -0
  367. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/test_init.py +0 -0
  368. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/test_manager.py +0 -0
  369. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/test_package_scripts.py +0 -0
  370. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/test_run_processor.py +0 -0
  371. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/test_utils.py +0 -0
  372. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/test_version_create_processor.py +0 -0
  373. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/nativeapp/test_version_drop_processor.py +0 -0
  374. {snowflake_cli_labs-2.3.1/tests/output → snowflake_cli_labs-2.4.0rc0/tests/notebook}/__init__.py +0 -0
  375. {snowflake_cli_labs-2.3.1/tests/project → snowflake_cli_labs-2.4.0rc0/tests/object}/__init__.py +0 -0
  376. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/object/__snapshots__/test_object.ambr +0 -0
  377. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/object/test_object.py +0 -0
  378. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/object/test_stage.py +0 -0
  379. {snowflake_cli_labs-2.3.1/tests/snowpark → snowflake_cli_labs-2.4.0rc0/tests/output}/__init__.py +0 -0
  380. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/output/test_format_silent_enforcement.py +0 -0
  381. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/output/test_silent_output.py +0 -0
  382. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/plugin/test_broken_plugin.py +0 -0
  383. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/plugin/test_failing_plugin.py +0 -0
  384. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/plugin/test_override_by_external_plugins.py +0 -0
  385. {snowflake_cli_labs-2.3.1/tests/spcs → snowflake_cli_labs-2.4.0rc0/tests/project}/__init__.py +0 -0
  386. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/project/test_definition_manager.py +0 -0
  387. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/project/test_util.py +0 -0
  388. {snowflake_cli_labs-2.3.1/tests/stage → snowflake_cli_labs-2.4.0rc0/tests/snowpark}/__init__.py +0 -0
  389. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/snowpark/__snapshots__/test_package.ambr +0 -0
  390. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/snowpark/__snapshots__/test_procedure_coverage.ambr +0 -0
  391. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/snowpark/mocks.py +0 -0
  392. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/snowpark/test_anaconda.py +0 -0
  393. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/snowpark/test_build.py +0 -0
  394. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/snowpark/test_models.py +0 -0
  395. {snowflake_cli_labs-2.3.1/tests/test_data → snowflake_cli_labs-2.4.0rc0/tests/spcs}/__init__.py +0 -0
  396. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/spcs/__snapshots__/test_image_repository.ambr +0 -0
  397. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/spcs/__snapshots__/test_registry.ambr +0 -0
  398. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/spcs/test_common.py +0 -0
  399. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/spcs/test_jobs.py +0 -0
  400. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/spcs/test_registry.py +0 -0
  401. {snowflake_cli_labs-2.3.1/tests/testing_utils → snowflake_cli_labs-2.4.0rc0/tests/stage}/__init__.py +0 -0
  402. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/stage/__snapshots__/test_stage.ambr +0 -0
  403. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/streamlit/test_config.py +0 -0
  404. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test.toml +0 -0
  405. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_cli.py +0 -0
  406. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_command_registration.py +0 -0
  407. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_common_decorators.py +0 -0
  408. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_common_global_context.py +0 -0
  409. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_config.py +0 -0
  410. {snowflake_cli_labs-2.3.1/tests_e2e → snowflake_cli_labs-2.4.0rc0/tests/test_data}/__init__.py +0 -0
  411. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/anaconda_channel_data.json +0 -0
  412. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/configs/broken_plugin_config.toml +0 -0
  413. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/configs/disabled_override_plugin_config.toml +0 -0
  414. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/configs/failing_plugin_config.toml +0 -0
  415. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/configs/override_plugin_config.toml +0 -0
  416. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/Zendesk-1.1.1.dist-info/INSTALLER +0 -0
  417. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/Zendesk-1.1.1.dist-info/LICENSE.txt +0 -0
  418. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/Zendesk-1.1.1.dist-info/METADATA +0 -0
  419. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/Zendesk-1.1.1.dist-info/RECORD +0 -0
  420. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/Zendesk-1.1.1.dist-info/REQUESTED +0 -0
  421. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/Zendesk-1.1.1.dist-info/WHEEL +0 -0
  422. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/Zendesk-1.1.1.dist-info/top_level.txt +0 -0
  423. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure/core/file.txt +0 -0
  424. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure/eventhub/file.txt +0 -0
  425. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_core-1.29.5.dist-info/INSTALLER +0 -0
  426. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_core-1.29.5.dist-info/LICENSE +0 -0
  427. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_core-1.29.5.dist-info/METADATA +0 -0
  428. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_core-1.29.5.dist-info/RECORD +0 -0
  429. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_core-1.29.5.dist-info/WHEEL +0 -0
  430. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_core-1.29.5.dist-info/top_level.txt +0 -0
  431. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_eventhub-5.11.5.dist-info/INSTALLER +0 -0
  432. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_eventhub-5.11.5.dist-info/LICENSE +0 -0
  433. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_eventhub-5.11.5.dist-info/METADATA +0 -0
  434. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_eventhub-5.11.5.dist-info/RECORD +0 -0
  435. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_eventhub-5.11.5.dist-info/REQUESTED +0 -0
  436. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_eventhub-5.11.5.dist-info/WHEEL +0 -0
  437. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/azure_eventhub-5.11.5.dist-info/top_level.txt +0 -0
  438. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/httplib2/file.txt +0 -0
  439. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/httplib2-0.22.0.dist-info/INSTALLER +0 -0
  440. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/httplib2-0.22.0.dist-info/LICENSE +0 -0
  441. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/httplib2-0.22.0.dist-info/METADATA +0 -0
  442. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/httplib2-0.22.0.dist-info/RECORD +0 -0
  443. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/httplib2-0.22.0.dist-info/WHEEL +0 -0
  444. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/httplib2-0.22.0.dist-info/top_level.txt +0 -0
  445. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/local_packages/.packages/zendesk/file.txt +0 -0
  446. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/packages_available_in_snowflake_sql_result_rows.json +0 -0
  447. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/empty_project/snowflake.yml +0 -0
  448. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/example_streamlit/environment.yml +0 -0
  449. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/example_streamlit/pages/my_page.py +0 -0
  450. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/example_streamlit/snowflake.yml +0 -0
  451. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/example_streamlit/streamlit_app.py +0 -0
  452. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/example_streamlit_no_defaults/main.py +0 -0
  453. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/example_streamlit_no_defaults/snowflake.yml +0 -0
  454. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/example_streamlit_no_defaults/streamlit_environment.yml +0 -0
  455. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/example_streamlit_no_defaults/streamlit_pages/first_page.py +0 -0
  456. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/example_streamlit_no_stage/environment.yml +0 -0
  457. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/example_streamlit_no_stage/pages/my_page.py +0 -0
  458. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/example_streamlit_no_stage/snowflake.yml +0 -0
  459. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/example_streamlit_no_stage/streamlit_app.py +0 -0
  460. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration/app/README.md +0 -0
  461. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration/app/manifest.yml +0 -0
  462. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration/app/setup.sql +0 -0
  463. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration/package/001-shared.sql +0 -0
  464. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration/package/002-shared.sql +0 -0
  465. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration/snowflake.yml +0 -0
  466. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration_external/app/README.md +0 -0
  467. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration_external/app/manifest.yml +0 -0
  468. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration_external/app/setup.sql +0 -0
  469. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration_external/package/001-shared.sql +0 -0
  470. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration_external/package/002-shared.sql +0 -0
  471. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration_external/snowflake.local.yml +0 -0
  472. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/integration_external/snowflake.yml +0 -0
  473. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/minimal/snowflake.yml +0 -0
  474. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_1/001-shared.sql +0 -0
  475. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_1/002-shared.sql +0 -0
  476. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_1/app/README.md +0 -0
  477. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_1/app/streamlit/config.py +0 -0
  478. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_1/app/streamlit/main.py +0 -0
  479. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_1/setup.sql +0 -0
  480. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_1/snowflake.local.yml +0 -0
  481. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_1/snowflake.yml +0 -0
  482. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_with_pkg_warehouse/001-shared.sql +0 -0
  483. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_with_pkg_warehouse/002-shared.sql +0 -0
  484. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_with_pkg_warehouse/app/README.md +0 -0
  485. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_with_pkg_warehouse/app/streamlit/config.py +0 -0
  486. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_with_pkg_warehouse/app/streamlit/main.py +0 -0
  487. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_with_pkg_warehouse/setup.sql +0 -0
  488. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_with_pkg_warehouse/snowflake.local.yml +0 -0
  489. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_project_with_pkg_warehouse/snowflake.yml +0 -0
  490. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/napp_with_annotation_processor/snowflake.yml +0 -0
  491. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/no_definition_version/snowflake.yml +0 -0
  492. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_function_external_access/app.py +0 -0
  493. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_function_external_access/app.zip +0 -0
  494. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_function_external_access/requirements.txt +0 -0
  495. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_function_external_access/snowflake.yml +0 -0
  496. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_function_fully_qualified_name/app/app.py +0 -0
  497. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_function_fully_qualified_name/app.zip +0 -0
  498. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_function_fully_qualified_name/requirements.txt +0 -0
  499. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_function_fully_qualified_name/snowflake.yml +0 -0
  500. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_function_secrets_without_external_access/app.zip +0 -0
  501. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_function_secrets_without_external_access/snowflake.yml +0 -0
  502. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_functions/app.py +0 -0
  503. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_functions/app.zip +0 -0
  504. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_functions/requirements.txt +0 -0
  505. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_functions/snowflake.yml +0 -0
  506. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedure_external_access/app.py +0 -0
  507. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedure_external_access/app.zip +0 -0
  508. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedure_external_access/requirements.txt +0 -0
  509. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedure_external_access/snowflake.yml +0 -0
  510. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedure_fully_qualified_name/app/app.py +0 -0
  511. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedure_fully_qualified_name/app.zip +0 -0
  512. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedure_fully_qualified_name/requirements.txt +0 -0
  513. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedure_fully_qualified_name/snowflake.yml +0 -0
  514. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedure_secrets_without_external_access/app.zip +0 -0
  515. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedure_secrets_without_external_access/snowflake.yml +0 -0
  516. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedures/app.py +0 -0
  517. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedures/app.zip +0 -0
  518. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedures/requirements.txt +0 -0
  519. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedures/snowflake.yml +0 -0
  520. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedures_coverage/app.py +0 -0
  521. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedures_coverage/app.zip +0 -0
  522. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedures_coverage/requirements.txt +0 -0
  523. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/snowpark_procedures_coverage/snowflake.yml +0 -0
  524. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/streamlit_full_definition/environment.yml +0 -0
  525. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/streamlit_full_definition/pages/my_page.py +0 -0
  526. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/streamlit_full_definition/snowflake.yml +0 -0
  527. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/streamlit_full_definition/streamlit_app.py +0 -0
  528. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/streamlit_full_definition/utils/utils.py +0 -0
  529. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/underspecified/snowflake.yml +0 -0
  530. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/projects/unknown_fields/snowflake.yml +0 -0
  531. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/streamlit/another_file_with_list.yml +0 -0
  532. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/streamlit/another_file_with_single_item.yml +0 -0
  533. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/streamlit/with_list_in_source_file.yml +0 -0
  534. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/streamlit/with_single_item.yml +0 -0
  535. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/test_data.py +0 -0
  536. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_data/test_streamlit_requirements.txt +0 -0
  537. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_experimental_behaviour.py +0 -0
  538. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_loaded_modules.py +0 -0
  539. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_performance.py +0 -0
  540. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_project_initialisation.py +0 -0
  541. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_utils.py +0 -0
  542. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/test_zipper.py +0 -0
  543. {snowflake_cli_labs-2.3.1/tests_integration → snowflake_cli_labs-2.4.0rc0/tests/testing_utils}/__init__.py +0 -0
  544. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests/testing_utils/conversion.py +0 -0
  545. {snowflake_cli_labs-2.3.1/tests_integration/spcs → snowflake_cli_labs-2.4.0rc0/tests_e2e}/__init__.py +0 -0
  546. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_e2e/config/config.toml +0 -0
  547. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_e2e/config/malformatted_config.toml +0 -0
  548. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_e2e/conftest.py +0 -0
  549. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_e2e/test_error_handling.py +0 -0
  550. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_e2e/test_snowpark_examples.py +0 -0
  551. {snowflake_cli_labs-2.3.1/tests_integration/test_data/projects/snowpark_coverage/app → snowflake_cli_labs-2.4.0rc0/tests_integration}/__init__.py +0 -0
  552. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/__snapshots__/test_function.ambr +0 -0
  553. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/__snapshots__/test_git.ambr +0 -0
  554. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/__snapshots__/test_package.ambr +0 -0
  555. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/__snapshots__/test_stage.ambr +0 -0
  556. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/config/config_with_enabled_all_external_plugins.toml +0 -0
  557. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/config/config_with_enabled_only_one_external_plugin.toml +0 -0
  558. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/config/connection_configs.toml +0 -0
  559. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/nativeapp/test_version.py +1 -1
  560. {snowflake_cli_labs-2.3.1/tests_integration/test_data/projects/snowpark_coverage/app/module → snowflake_cli_labs-2.4.0rc0/tests_integration/notebook}/__init__.py +0 -0
  561. {snowflake_cli_labs-2.3.1/tests_integration/test_data/projects/snowpark_with_import/app → snowflake_cli_labs-2.4.0rc0/tests_integration/spcs}/__init__.py +0 -0
  562. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/docker/Dockerfile +0 -0
  563. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/docker/bootstrap_containers_setup.sh +0 -0
  564. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/docker/echo_service.py +0 -0
  565. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/spec/spec.yml +0 -0
  566. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/spec/spec_upgrade.yml +0 -0
  567. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/test_compute_pool.py +0 -0
  568. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/test_image_repository.py +0 -0
  569. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/test_jobs.py +0 -0
  570. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/test_registry.py +0 -0
  571. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/test_services.py +0 -0
  572. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/testing_utils/compute_pool_utils.py +0 -0
  573. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/testing_utils/spcs_jobs_utils.py +0 -0
  574. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/spcs/testing_utils/spcs_services_utils.py +0 -0
  575. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_config.py +0 -0
  576. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_connection.py +0 -0
  577. snowflake_cli_labs-2.3.1/tests_integration/test_data/projects/snowpark_coverage/.gitignore → snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/empty.sql +0 -0
  578. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark/.gitignore +0 -0
  579. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark/app/app.py +0 -0
  580. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark/requirements.txt +0 -0
  581. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark/snowflake.yml +0 -0
  582. {snowflake_cli_labs-2.3.1/tests_integration/test_data/projects/snowpark_external_access → snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/projects/snowpark_coverage}/.gitignore +0 -0
  583. {snowflake_cli_labs-2.3.1/tests_integration/test_data/projects/snowpark_with_single_requirements_having_no_other_deps → snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/projects/snowpark_coverage}/app/__init__.py +0 -0
  584. {snowflake_cli_labs-2.3.1/tests_integration/test_data/projects/snowpark_with_single_requirements_having_transient_deps/app → snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/projects/snowpark_coverage/app/module}/__init__.py +0 -0
  585. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_coverage/app/module/procedures.py +0 -0
  586. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_coverage/requirements.txt +0 -0
  587. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_coverage/snowflake.yml +0 -0
  588. snowflake_cli_labs-2.3.1/tests_integration/test_data/projects/snowpark_with_default_values/requirements.other.txt → snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/projects/snowpark_external_access/.gitignore +0 -0
  589. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_external_access/app/app.py +0 -0
  590. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_external_access/requirements.txt +0 -0
  591. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_external_access/snowflake.yml +0 -0
  592. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_fully_qualified_name/.gitignore +0 -0
  593. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_fully_qualified_name/app/app.py +0 -0
  594. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_fully_qualified_name/requirements.txt +0 -0
  595. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_fully_qualified_name/snowflake.yml +0 -0
  596. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_vectorized/.gitignore +0 -0
  597. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_vectorized/app/app.py +0 -0
  598. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_vectorized/requirements.txt +0 -0
  599. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_vectorized/snowflake.yml +0 -0
  600. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_version_check/.gitignore +0 -0
  601. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_version_check/app/app.py +0 -0
  602. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_version_check/requirements.txt +0 -0
  603. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_version_check/snowflake.yml +0 -0
  604. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_default_values/app/app.py +0 -0
  605. snowflake_cli_labs-2.3.1/tests_integration/testing_utils/assertions/__init__.py → snowflake_cli_labs-2.4.0rc0/tests_integration/test_data/projects/snowpark_with_default_values/requirements.other.txt +0 -0
  606. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_default_values/requirements.txt +0 -0
  607. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_default_values/snowflake.yml +0 -0
  608. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_import/.gitignore +0 -0
  609. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_import/app/functions.py +0 -0
  610. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_import/requirements.txt +0 -0
  611. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_import/snowflake.yml +0 -0
  612. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_single_requirements_having_no_other_deps/.gitignore +0 -0
  613. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_single_requirements_having_no_other_deps/app/functions.py +0 -0
  614. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_single_requirements_having_no_other_deps/requirements.txt +0 -0
  615. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_single_requirements_having_no_other_deps/snowflake.yml +0 -0
  616. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_single_requirements_having_transient_deps/.gitignore +0 -0
  617. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_single_requirements_having_transient_deps/app/functions.py +0 -0
  618. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_single_requirements_having_transient_deps/requirements.txt +0 -0
  619. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/snowpark_with_single_requirements_having_transient_deps/snowflake.yml +0 -0
  620. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/stage_execute/script1.sql +0 -0
  621. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/stage_execute/script2.sql +0 -0
  622. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/stage_execute/script3.sql +0 -0
  623. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/stage_execute/script_template.sql +0 -0
  624. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/stage_get_directory_structure/dir/script2.sql +0 -0
  625. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/stage_get_directory_structure/dir/subdir/script3.sql +0 -0
  626. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/stage_get_directory_structure/script1.sql +0 -0
  627. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/streamlit/environment.yml +0 -0
  628. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/streamlit/pages/my_page.py +0 -0
  629. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/streamlit/snowflake.yml +0 -0
  630. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/streamlit/streamlit_app.py +0 -0
  631. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_data/projects/streamlit/utils/utils.py +0 -0
  632. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_external_plugins.py +0 -0
  633. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_git.py +0 -0
  634. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_session_token.py +0 -0
  635. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_temporary_connection.py +0 -0
  636. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/test_utils.py +12 -12
  637. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/testing_utils/__init__.py +0 -0
  638. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/testing_utils/assertions/test_file_assertions.py +0 -0
  639. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/testing_utils/naming_utils.py +0 -0
  640. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/testing_utils/snowpark_utils.py +0 -0
  641. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/testing_utils/sql_utils.py +0 -0
  642. {snowflake_cli_labs-2.3.1 → snowflake_cli_labs-2.4.0rc0}/tests_integration/testing_utils/working_directory_utils.py +0 -0
@@ -15,6 +15,8 @@ dist/
15
15
  .coverage
16
16
  gen_docs/
17
17
  /venv/
18
+ .env
19
+ .vscode
18
20
 
19
21
  ^app.zip
20
22
  ^snowflake.yml
@@ -47,7 +47,8 @@ repos:
47
47
  ^src/snowflake/cli/templates/.*$|
48
48
  ^src/snowflake/cli/api/utils/rendering.py$|
49
49
  ^src/snowflake/cli/plugins/spcs/common.py$|
50
- ^src/snowflake/cli/plugins/snowpark/venv.py$
50
+ ^src/snowflake/cli/plugins/snowpark/venv.py$|
51
+ ^src/snowflake/cli/app/cli_app.py$
51
52
  - id: check-app-imports-in-api
52
53
  language: pygrep
53
54
  name: "No top level cli.app imports in cli.api"
@@ -90,6 +90,7 @@ grant create database on account to role <role_name>;
90
90
  grant create role on account to role <role_name>;
91
91
  grant usage on warehouse xsmall to role <role_name>;
92
92
  grant operate on warehouse xsmall to role <role_name>;
93
+ grant create database on account to role <role_name> with grant option;
93
94
  ```
94
95
 
95
96
  ## Remote debugging with PyCharm or IntelliJ
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: snowflake-cli-labs
3
- Version: 2.3.1
3
+ Version: 2.4.0rc0
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
@@ -219,6 +219,7 @@ Classifier: Topic :: Database
219
219
  Requires-Python: >=3.8
220
220
  Requires-Dist: gitpython==3.1.43
221
221
  Requires-Dist: jinja2==3.1.4
222
+ Requires-Dist: packaging
222
223
  Requires-Dist: pip
223
224
  Requires-Dist: pluggy==1.5.0
224
225
  Requires-Dist: pydantic==2.7.1
@@ -228,7 +229,8 @@ Requires-Dist: requirements-parser==0.9.0
228
229
  Requires-Dist: rich==13.7.1
229
230
  Requires-Dist: setuptools==69.5.1
230
231
  Requires-Dist: snowflake-connector-python[secure-local-storage]==3.10.0
231
- Requires-Dist: tomlkit==0.12.3
232
+ Requires-Dist: snowflake-core==0.8.0; python_version < '3.12'
233
+ Requires-Dist: tomlkit==0.12.5
232
234
  Requires-Dist: typer==0.12.3
233
235
  Requires-Dist: urllib3<2.3,>=1.21.1
234
236
  Provides-Extra: development
@@ -1,12 +1,60 @@
1
- # v2.3.1
1
+ # Unreleased version
2
+ ## Backward incompatibility
3
+
4
+ ## Deprecations
5
+
6
+ ## New additions
7
+
8
+ ## Fixes and improvements
9
+
10
+
11
+ # v2.4.0
2
12
  ## Backward incompatibility
3
13
 
4
14
  ## Deprecations
5
15
 
6
16
  ## New additions
17
+ * Added the `--cascade` option to `snow app teardown` command that drops all application objects owned by the application.
18
+ * Add external access integration to snow object commands
19
+ * Add aliases for `snow object list/describe/drop` commands under:
20
+ * `snow stage` for stages
21
+ * `snow git` for git repository stages
22
+ * `snow streamlit` for streamlit apps
23
+ * `snow snowpark` for procedures and functions
24
+ * `snow spcs compute-pool` for compute pools
25
+ * `snow spcs image-repository` for image repositories
26
+ * `snow spcs service` for services
27
+ * `snow sql` works now with `snowflake.yml` file. The variables defined in the new `env` section
28
+ of `snowflake.yml` will be used to expand templates.
29
+ * `snow sql` support executing multiple files. Users can use `-f/--file` flag more than once to execute queries
30
+ from many files.
31
+ * `snow git execute` and `snow stage execute` support passing input variables for SQL execution.
32
+ * Added `snow cortex` commands:
33
+ * `complete` - Given a prompt, the command generates a response using your choice of language model.
34
+ In the simplest use case, the prompt is a single string. You may also provide a JSON file with conversation history including multiple prompts and responses for interactive chat-style usage.
35
+ * `extract-answer` - Extracts an answer to a given question from a text document.
36
+ The document may be a plain-English document or a string representation of a semi-structured (JSON) data object.
37
+ * `sentiment` - Returns sentiment as a score between -1 to 1 (with -1 being the most negative and 1 the most positive, with values around 0 neutral) for the given English-language input text.
38
+ * `summarize` - Summarizes the given English-language input text.
39
+ * `translate` - Translates text from the indicated or detected source language to a target language.
40
+ * `search` - for integration with Cortex Search Service
41
+ * When invoked without command help is displayed by default with list of available commands.
42
+ * Add tab-completion for `snow` command.
7
43
 
8
44
  ## Fixes and improvements
9
45
  * Improved support for quoted identifiers.
46
+ * Fixed creating patches with `snow app version create` when there are 2 or more existing patches on a version
47
+ * Using `--format=json` adds trailing new line to avoid `%` being added by some terminals to signal no new line at the end of output.
48
+ * Fixed `--interactive` flag to be enabled by default in interactive environments and added the `--no-interactive` flag to be able to turn off prompting.
49
+
50
+ # v2.3.1
51
+ ## Backward incompatibility
52
+
53
+ ## Deprecations
54
+
55
+ ## New additions
56
+
57
+ ## Fixes and improvements
10
58
  * Fixed bugs in source artifact mapping logic for native applications
11
59
 
12
60
  # v2.3.0
@@ -31,6 +79,7 @@
31
79
  * Added support for fully qualified stage names in stage and git execute commands.
32
80
  * Fixed a bug where `snow app run` was not upgrading the application when the local state and remote stage are identical (for example immediately after `snow app deploy`).
33
81
  * Fixed handling of stage path separators on Windows
82
+ * Change to `external_access_integrations` in `snowflake.yml` now also triggers function replace
34
83
  * The `--info` callback returns info about configured feature flags.
35
84
 
36
85
  # v2.2.0
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import subprocess
2
4
  from decimal import Decimal
3
5
  from timeit import default_timer as timer
@@ -14,12 +14,14 @@ dependencies = [
14
14
  "jinja2==3.1.4",
15
15
  "pluggy==1.5.0",
16
16
  "PyYAML==6.0.1",
17
+ "packaging",
17
18
  "rich==13.7.1",
18
19
  "requests==2.31.0",
19
20
  "requirements-parser==0.9.0",
20
21
  "setuptools==69.5.1",
22
+ 'snowflake.core==0.8.0; python_version < "3.12"',
21
23
  "snowflake-connector-python[secure-local-storage]==3.10.0",
22
- "tomlkit==0.12.3",
24
+ "tomlkit==0.12.5",
23
25
  "typer==0.12.3",
24
26
  "urllib3>=1.21.1,<2.3",
25
27
  "GitPython==3.1.43",
@@ -96,11 +98,12 @@ template = "integration"
96
98
  pre-install-commands = [
97
99
  "pip install test_external_plugins/snowpark_hello_single_command",
98
100
  "pip install test_external_plugins/multilingual_hello_command_group",
101
+ "pip install pytest-xdist",
99
102
  ]
100
103
  features = ["development"]
101
104
 
102
105
  [tool.hatch.envs.integration.scripts]
103
- test = ["pytest -m integration --snapshot-warn-unused"]
106
+ test = ["pytest -m integration -n4 --dist=loadfile --snapshot-warn-unused"]
104
107
  test-experimental = [
105
108
  "pytest -m integration_experimental --snapshot-warn-unused",
106
109
  ]
@@ -125,6 +128,7 @@ select = [
125
128
  "SLF", # Accessing private methods
126
129
  "F401", # unused imports
127
130
  "F403", # star imports
131
+ "FA100", # Missing from __future__ import annotations
128
132
  ]
129
133
 
130
134
  [tool.pytest.ini_options]
@@ -1,12 +1,14 @@
1
1
  jinja2==3.1.4
2
2
  pluggy==1.5.0
3
3
  PyYAML==6.0.1
4
+ packaging
4
5
  rich==13.7.1
5
6
  requests==2.31.0
6
7
  requirements-parser==0.9.0
7
8
  setuptools==69.5.1
9
+ snowflake.core==0.8.0; python_version < "3.12"
8
10
  snowflake-connector-python[secure-local-storage]==3.10.0
9
- tomlkit==0.12.3
11
+ tomlkit==0.12.5
10
12
  typer==0.12.3
11
13
  urllib3>=1.21.1,<2.3
12
14
  GitPython==3.1.43
@@ -1,3 +1,3 @@
1
1
  from __future__ import annotations
2
2
 
3
- VERSION = "2.3.1"
3
+ VERSION = "2.4.0rc0"
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from typing import Optional
2
4
 
3
5
  from snowflake.cli.api.plugins.plugin_config import PluginConfigProvider
@@ -1,9 +1,12 @@
1
+ from __future__ import annotations
2
+
1
3
  import re
2
4
  from pathlib import Path
3
5
  from typing import Dict, Optional
4
6
 
5
7
  from snowflake.cli.api.exceptions import InvalidSchemaError
6
8
  from snowflake.cli.api.output.formats import OutputFormat
9
+ from snowflake.cli.api.project.schemas.project_definition import ProjectDefinition
7
10
  from snowflake.connector import SnowflakeConnection
8
11
 
9
12
  schema_pattern = re.compile(r".+\..+")
@@ -280,6 +283,10 @@ class _CliGlobalContextAccess:
280
283
  def connection(self) -> SnowflakeConnection:
281
284
  return self._manager.connection
282
285
 
286
+ @property
287
+ def connection_context(self) -> _ConnectionContext:
288
+ return self._manager.connection_context
289
+
283
290
  @property
284
291
  def enable_tracebacks(self) -> bool:
285
292
  return self._manager.enable_tracebacks
@@ -297,7 +304,7 @@ class _CliGlobalContextAccess:
297
304
  return self._manager.experimental
298
305
 
299
306
  @property
300
- def project_definition(self):
307
+ def project_definition(self) -> ProjectDefinition | None:
301
308
  return self._manager.project_definition
302
309
 
303
310
  @property
@@ -29,7 +29,7 @@ from snowflake.cli.api.commands.flags import (
29
29
  VerboseOption,
30
30
  WarehouseOption,
31
31
  experimental_option,
32
- project_definition_option,
32
+ project_type_option,
33
33
  )
34
34
  from snowflake.cli.api.exceptions import CommandReturnTypeError
35
35
  from snowflake.cli.api.output.formats import OutputFormat
@@ -67,7 +67,7 @@ def with_project_definition(project_name: str):
67
67
  "project_definition",
68
68
  inspect.Parameter.KEYWORD_ONLY,
69
69
  annotation=Optional[str],
70
- default=project_definition_option(project_name),
70
+ default=project_type_option(project_name),
71
71
  )
72
72
  ],
73
73
  )
@@ -12,6 +12,7 @@ import typer
12
12
  from click import ClickException
13
13
  from snowflake.cli.api.cli_global_context import cli_context_manager
14
14
  from snowflake.cli.api.console import cli_console
15
+ from snowflake.cli.api.exceptions import MissingConfiguration
15
16
  from snowflake.cli.api.output.formats import OutputFormat
16
17
 
17
18
  DEFAULT_CONTEXT_SETTINGS = {"help_option_names": ["--help", "-h"]}
@@ -416,7 +417,6 @@ VariablesOption = typer.Option(
416
417
  "--variable",
417
418
  "-D",
418
419
  help="Variables for the template. For example: `-D \"<key>=<value>\"`, string values must be in `''`.",
419
- hidden=True,
420
420
  show_default=False,
421
421
  )
422
422
 
@@ -469,17 +469,21 @@ def experimental_option(
469
469
 
470
470
  def identifier_argument(sf_object: str, example: str) -> typer.Argument:
471
471
  return typer.Argument(
472
- ..., help=f"Identifier of the {sf_object}. For example: {example}"
472
+ ...,
473
+ help=f"Identifier of the {sf_object}. For example: {example}",
474
+ show_default=False,
473
475
  )
474
476
 
475
477
 
476
478
  def execution_identifier_argument(sf_object: str, example: str) -> typer.Argument:
477
479
  return typer.Argument(
478
- ..., help=f"Execution identifier of the {sf_object}. For example: {example}"
480
+ ...,
481
+ help=f"Execution identifier of the {sf_object}. For example: {example}",
482
+ show_default=False,
479
483
  )
480
484
 
481
485
 
482
- def project_definition_option(project_name: str):
486
+ def project_type_option(project_name: str):
483
487
  from snowflake.cli.api.exceptions import NoProjectDefinitionError
484
488
  from snowflake.cli.api.project.definition_manager import DefinitionManager
485
489
 
@@ -515,6 +519,47 @@ def project_definition_option(project_name: str):
515
519
  )
516
520
 
517
521
 
522
+ def project_definition_option(optional: bool = False):
523
+ from snowflake.cli.api.project.definition_manager import DefinitionManager
524
+
525
+ def _callback(project_path: Optional[str]):
526
+ try:
527
+ dm = DefinitionManager(project_path)
528
+ project_definition = dm.project_definition
529
+ project_root = dm.project_root
530
+ except MissingConfiguration:
531
+ if optional:
532
+ project_definition = None
533
+ project_root = None
534
+ else:
535
+ raise
536
+ cli_context_manager.set_project_definition(project_definition)
537
+ cli_context_manager.set_project_root(project_root)
538
+ return project_definition
539
+
540
+ return typer.Option(
541
+ None,
542
+ "-p",
543
+ "--project",
544
+ help=f"Path where Snowflake project resides. Defaults to current working directory.",
545
+ callback=_callback,
546
+ show_default=False,
547
+ )
548
+
549
+
550
+ def readable_file_option(param_name: str, help_str: str) -> typer.Option:
551
+ return typer.Option(
552
+ None,
553
+ param_name,
554
+ exists=True,
555
+ file_okay=True,
556
+ dir_okay=False,
557
+ readable=True,
558
+ help=help_str,
559
+ show_default=False,
560
+ )
561
+
562
+
518
563
  def deprecated_flag_callback(msg: str):
519
564
  def _warning_callback(ctx: click.Context, param: click.Parameter, value: Any):
520
565
  if ctx.get_parameter_source(param.name) != click.core.ParameterSource.DEFAULT: # type: ignore[attr-defined]
@@ -22,6 +22,8 @@ class SnowTyper(typer.Typer):
22
22
  **kwargs,
23
23
  context_settings=DEFAULT_CONTEXT_SETTINGS,
24
24
  pretty_exceptions_show_locals=False,
25
+ no_args_is_help=True,
26
+ add_completion=True,
25
27
  )
26
28
 
27
29
  @wraps(typer.Typer.command)
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from abc import ABC, abstractmethod
2
4
  from contextlib import contextmanager
3
5
  from typing import Callable, Iterator, Optional
@@ -57,11 +57,12 @@ class CliConsole(AbstractConsole):
57
57
  self._print(self._format_message(enter_message, Output.PHASE))
58
58
  self._in_phase = True
59
59
 
60
- yield self.step
61
-
62
- self._in_phase = False
63
- if exit_message:
64
- self._print(self._format_message(exit_message, Output.PHASE))
60
+ try:
61
+ yield self.step
62
+ finally:
63
+ self._in_phase = False
64
+ if exit_message:
65
+ self._print(self._format_message(exit_message, Output.PHASE))
65
66
 
66
67
  def step(self, message: str):
67
68
  """Displays a message to output.
@@ -23,6 +23,11 @@ class ObjectType(Enum):
23
23
  DATABASE = ObjectNames("database", "database", "databases")
24
24
  FUNCTION = ObjectNames("function", "function", "functions")
25
25
  INTEGRATION = ObjectNames("integration", "integration", "integrations")
26
+ EXTERNAL_ACCESS_INTEGRATION = ObjectNames(
27
+ "external-access-integration",
28
+ "external access integration",
29
+ "external access integrations",
30
+ )
26
31
  # JOB = ObjectNames("job", "job", "jobs")
27
32
  NETWORK_RULE = ObjectNames("network-rule", "network rule", "network rules")
28
33
  PROCEDURE = ObjectNames("procedure", "procedure", "procedures")
@@ -128,3 +128,15 @@ class SchemaNotProvidedError(ClickException):
128
128
  super().__init__(
129
129
  "Schema not specified. Please update connection to add `schema` parameter, or re-run command using `--schema` option. Use `snow connection list` to list existing connections."
130
130
  )
131
+
132
+
133
+ class FQNNameError(ClickException):
134
+ def __init__(self, name: str):
135
+ super().__init__(f"Specified name '{name}' is not valid name.")
136
+
137
+
138
+ class FQNInconsistencyError(ClickException):
139
+ def __init__(self, part: str, name: str):
140
+ super().__init__(
141
+ f"{part.capitalize()} provided but name '{name}' is fully qualified name."
142
+ )
@@ -0,0 +1,123 @@
1
+ from __future__ import annotations
2
+
3
+ import re
4
+
5
+ from click import ClickException
6
+ from snowflake.cli.api.cli_global_context import cli_context
7
+ from snowflake.cli.api.exceptions import FQNInconsistencyError, FQNNameError
8
+ from snowflake.cli.api.project.schemas.identifier_model import ObjectIdentifierBaseModel
9
+ from snowflake.cli.api.project.util import VALID_IDENTIFIER_REGEX, unquote_identifier
10
+
11
+
12
+ class FQN:
13
+ """
14
+ Class representing an identifier and supporting fully qualified names.
15
+
16
+ The instance supports builder pattern that allows updating the identifier with database and
17
+ schema from different sources. For example:
18
+
19
+ fqn = FQN.from_string("my_schema.object").using_connection(conn)
20
+ fqn = FQN.from_identifier_model(cli_context.project_definition.streamlit).using_context()
21
+ fqn = FQN.from_string("my_name").set_database("db").set_schema("foo")
22
+ """
23
+
24
+ def __init__(self, database: str | None, schema: str | None, name: str):
25
+ self._database = database
26
+ self._schema = schema
27
+ self._name = name
28
+
29
+ @property
30
+ def database(self) -> str | None:
31
+ return self._database
32
+
33
+ @property
34
+ def schema(self) -> str | None:
35
+ return self._schema
36
+
37
+ @property
38
+ def name(self) -> str:
39
+ return self._name
40
+
41
+ @property
42
+ def identifier(self) -> str:
43
+ if self.database:
44
+ return f"{self.database}.{self.schema if self.schema else 'PUBLIC'}.{self.name}"
45
+ if self.schema:
46
+ return f"{self.schema}.{self.name}"
47
+ return self.name
48
+
49
+ @property
50
+ def url_identifier(self) -> str:
51
+ return ".".join(unquote_identifier(part) for part in self.identifier.split("."))
52
+
53
+ def __str__(self):
54
+ return self.identifier
55
+
56
+ def __eq__(self, other):
57
+ return self.identifier == other.identifier
58
+
59
+ @classmethod
60
+ def from_string(cls, identifier: str) -> "FQN":
61
+ """
62
+ Takes in an object name in the form [[database.]schema.]name. Returns a FQN instance.
63
+ """
64
+ qualifier_pattern = rf"(?:(?P<first_qualifier>{VALID_IDENTIFIER_REGEX})\.)?(?:(?P<second_qualifier>{VALID_IDENTIFIER_REGEX})\.)?(?P<name>{VALID_IDENTIFIER_REGEX})(?P<signature>\(.*\))?"
65
+ result = re.fullmatch(qualifier_pattern, identifier)
66
+
67
+ if result is None:
68
+ raise FQNNameError(identifier)
69
+
70
+ unqualified_name = result.group("name")
71
+ if result.group("second_qualifier") is not None:
72
+ database = result.group("first_qualifier")
73
+ schema = result.group("second_qualifier")
74
+ else:
75
+ database = None
76
+ schema = result.group("first_qualifier")
77
+ if signature := result.group("signature"):
78
+ unqualified_name = unqualified_name + signature
79
+ return cls(name=unqualified_name, schema=schema, database=database)
80
+
81
+ @classmethod
82
+ def from_identifier_model(cls, model: ObjectIdentifierBaseModel) -> "FQN":
83
+ """Create an instance from object model."""
84
+ if not isinstance(model, ObjectIdentifierBaseModel):
85
+ raise ClickException(
86
+ f"Expected {type(ObjectIdentifierBaseModel)}, got {model}."
87
+ )
88
+
89
+ fqn = cls.from_string(model.name)
90
+
91
+ if fqn.database and model.database:
92
+ raise FQNInconsistencyError("database", model.name)
93
+ if fqn.schema and model.schema_name:
94
+ raise FQNInconsistencyError("schema", model.name)
95
+
96
+ return fqn.set_database(model.database).set_schema(model.schema_name)
97
+
98
+ def set_database(self, database: str | None) -> "FQN":
99
+ if database:
100
+ self._database = database
101
+ return self
102
+
103
+ def set_schema(self, schema: str | None) -> "FQN":
104
+ if schema:
105
+ self._schema = schema
106
+ return self
107
+
108
+ def set_name(self, name: str) -> "FQN":
109
+ self._name = name
110
+ return self
111
+
112
+ def using_connection(self, conn) -> "FQN":
113
+ """Update the instance with database and schema from connection."""
114
+ # Update the identifier only it if wasn't already a qualified name
115
+ if conn.database and not self.database:
116
+ self.set_database(conn.database)
117
+ if conn.schema and not self.schema:
118
+ self.set_schema(conn.schema)
119
+ return self
120
+
121
+ def using_context(self) -> "FQN":
122
+ """Update the instance with database and schema from connection in current cli context."""
123
+ return self.using_connection(cli_context.connection)
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from dataclasses import dataclass
2
4
  from enum import Enum
3
5
  from functools import cached_property
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from dataclasses import dataclass
2
4
  from typing import Any, Dict, List
3
5
 
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from pathlib import Path
2
4
  from typing import List
3
5
 
@@ -6,14 +6,14 @@ from pydantic import ValidationError
6
6
  class SchemaValidationError(Exception):
7
7
  generic_message = "For field {loc} you provided '{loc}'. This caused: {msg}"
8
8
  message_templates = {
9
- "string_type": "{msg} for field '{loc}', you provided '{input}'",
10
- "extra_forbidden": "{msg}. You provided field '{loc}' with value '{input}' that is not present in the schema",
9
+ "string_type": "{msg} for field '{loc}', you provided '{input}'.",
10
+ "extra_forbidden": "{msg}. You provided field '{loc}' with value '{input}' that is not supported in given version.",
11
11
  "missing": "Your project definition is missing following fields: {loc}",
12
12
  }
13
13
 
14
14
  def __init__(self, error: ValidationError):
15
15
  errors = error.errors()
16
- message = f"During evaluation of {error.title} schema following errors were encountered:\n"
16
+ message = f"During evaluation of {error.title} in project definition following errors were encountered:\n"
17
17
  message += "\n".join(
18
18
  [
19
19
  self.message_templates.get(e["type"], self.generic_message).format(**e)
@@ -0,0 +1,35 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Optional, cast
4
+
5
+ from pydantic import Field
6
+ from snowflake.cli.api.project.schemas.updatable_model import IdentifierField
7
+
8
+
9
+ class ObjectIdentifierBaseModel:
10
+ """
11
+ Type representing a base class defining object that can be identified by fully qualified name (db.schema.name).
12
+ This is not a Pydantic model and the purpose of this class is to provide typing support to Pydantic models
13
+ generated using a factory class ObjectIdentifierModel.
14
+ """
15
+
16
+ name: str
17
+ database: Optional[str]
18
+ schema_name: Optional[str]
19
+
20
+
21
+ def ObjectIdentifierModel(object_name: str) -> ObjectIdentifierBaseModel: # noqa: N802
22
+ """Generates ObjectIdentifierBaseModel but with object specific descriptions."""
23
+
24
+ class _ObjectIdentifierModel(ObjectIdentifierBaseModel):
25
+ name: str = Field(title=f"{object_name} name")
26
+ database: Optional[str] = IdentifierField(
27
+ title=f"Name of the database for the {object_name}", default=None
28
+ )
29
+ schema_name: Optional[str] = IdentifierField(
30
+ title=f"Name of the schema for the {object_name}",
31
+ default=None,
32
+ alias="schema",
33
+ )
34
+
35
+ return cast(ObjectIdentifierBaseModel, _ObjectIdentifierModel)
@@ -24,6 +24,10 @@ class NativeApp(UpdatableModel):
24
24
  title="Folder at the root of your project where the build step copies the artifacts.",
25
25
  default="output/deploy/",
26
26
  )
27
+ generated_root: Optional[str] = Field(
28
+ title="Subdirectory of the deploy root where files generated by the Snowflake CLI will be written.",
29
+ default="__generated/",
30
+ )
27
31
  source_stage: Optional[str] = Field(
28
32
  title="Identifier of the stage that stores the application artifacts.",
29
33
  default="app_src.stage",
@@ -0,0 +1,40 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Any, Dict, List, Optional, Union
4
+
5
+ from pydantic import Field, field_validator
6
+ from snowflake.cli.api.project.schemas.updatable_model import UpdatableModel
7
+
8
+
9
+ class ProcessorMapping(UpdatableModel):
10
+ name: str = Field(
11
+ title="Name of a processor to invoke on a collection of artifacts."
12
+ )
13
+ properties: Optional[Dict[str, Any]] = Field(
14
+ title="A set of key-value pairs used to configure the output of the processor. Consult a specific processor's documentation for more details on the supported properties.",
15
+ default=None,
16
+ )
17
+
18
+
19
+ class PathMapping(UpdatableModel):
20
+ src: str
21
+ dest: Optional[str] = None
22
+ processors: Optional[List[Union[str, ProcessorMapping]]] = []
23
+
24
+ @field_validator("processors")
25
+ @classmethod
26
+ def transform_processors(
27
+ cls, input_values: Optional[List[Union[str, Dict, ProcessorMapping]]]
28
+ ):
29
+ if input_values is None:
30
+ return []
31
+
32
+ transformed_processors: List[ProcessorMapping] = []
33
+ for input_processor in input_values:
34
+ if isinstance(input_processor, str):
35
+ transformed_processors.append(ProcessorMapping(name=input_processor))
36
+ elif isinstance(input_processor, Dict):
37
+ transformed_processors.append(ProcessorMapping(**input_processor))
38
+ else:
39
+ transformed_processors.append(input_processor)
40
+ return transformed_processors