snowpark-connect 0.28.1__tar.gz → 0.29.0__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.

Potentially problematic release.


This version of snowpark-connect might be problematic. Click here for more details.

Files changed (488) hide show
  1. {snowpark_connect-0.28.1/src/snowpark_connect.egg-info → snowpark_connect-0.29.0}/PKG-INFO +3 -2
  2. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/setup.py +2 -1
  3. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/config.py +11 -2
  4. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/map_unresolved_function.py +172 -210
  5. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/io_utils.py +21 -1
  6. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_extension.py +21 -4
  7. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_map_partitions.py +7 -8
  8. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_relation.py +1 -3
  9. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/read/map_read.py +22 -3
  10. snowpark_connect-0.29.0/src/snowflake/snowpark_connect/relation/read/map_read_csv.py +221 -0
  11. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/read/map_read_json.py +45 -34
  12. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/read/map_read_text.py +6 -1
  13. snowpark_connect-0.29.0/src/snowflake/snowpark_connect/relation/stage_locator.py +193 -0
  14. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/write/map_write.py +38 -4
  15. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/server.py +18 -13
  16. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/context.py +0 -14
  17. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/io_utils.py +36 -0
  18. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/session.py +3 -0
  19. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/udf_cache.py +37 -7
  20. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/version.py +1 -1
  21. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0/src/snowpark_connect.egg-info}/PKG-INFO +3 -2
  22. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowpark_connect.egg-info/requires.txt +2 -1
  23. snowpark_connect-0.28.1/src/snowflake/snowpark_connect/relation/read/map_read_csv.py +0 -142
  24. snowpark_connect-0.28.1/src/snowflake/snowpark_connect/relation/stage_locator.py +0 -161
  25. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/LICENSE-binary +0 -0
  26. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/LICENSE.txt +0 -0
  27. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/NOTICE-binary +0 -0
  28. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/README.md +0 -0
  29. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/setup.cfg +0 -0
  30. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/__init__.py +0 -0
  31. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/analyze_plan/__init__.py +0 -0
  32. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/analyze_plan/map_tree_string.py +0 -0
  33. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/column_name_handler.py +0 -0
  34. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/constants.py +0 -0
  35. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/control_server.py +0 -0
  36. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/dataframe_container.py +0 -0
  37. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/dataframe_name_handler.py +0 -0
  38. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/date_time_format_mapping.py +0 -0
  39. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/empty_dataframe.py +0 -0
  40. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/error/__init__.py +0 -0
  41. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/error/error_mapping.py +0 -0
  42. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/error/error_utils.py +0 -0
  43. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/error/exceptions.py +0 -0
  44. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/execute_plan/__init__.py +0 -0
  45. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_command.py +0 -0
  46. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_root.py +0 -0
  47. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/execute_plan/utils.py +0 -0
  48. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/__init__.py +0 -0
  49. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/function_defaults.py +0 -0
  50. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/hybrid_column_map.py +0 -0
  51. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/literal.py +0 -0
  52. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/map_cast.py +0 -0
  53. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/map_expression.py +0 -0
  54. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/map_extension.py +0 -0
  55. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/map_sql_expression.py +0 -0
  56. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/map_udf.py +0 -0
  57. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/map_unresolved_attribute.py +0 -0
  58. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/map_unresolved_extract_value.py +0 -0
  59. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/map_unresolved_star.py +0 -0
  60. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/map_update_fields.py +0 -0
  61. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/map_window_function.py +0 -0
  62. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/expression/typer.py +0 -0
  63. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/__init__.py +0 -0
  64. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/antlr4-runtime-4.9.3.jar +0 -0
  65. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-cli-1.5.0.jar +0 -0
  66. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-codec-1.16.1.jar +0 -0
  67. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-collections-3.2.2.jar +0 -0
  68. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-collections4-4.4.jar +0 -0
  69. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-compiler-3.1.9.jar +0 -0
  70. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-compress-1.26.0.jar +0 -0
  71. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-crypto-1.1.0.jar +0 -0
  72. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-dbcp-1.4.jar +0 -0
  73. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-io-2.16.1.jar +0 -0
  74. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-lang-2.6.jar +0 -0
  75. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-lang3-3.12.0.jar +0 -0
  76. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-logging-1.1.3.jar +0 -0
  77. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-math3-3.6.1.jar +0 -0
  78. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-pool-1.5.4.jar +0 -0
  79. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/commons-text-1.10.0.jar +0 -0
  80. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/hadoop-client-api-trimmed-3.3.4.jar +0 -0
  81. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/jackson-annotations-2.15.2.jar +0 -0
  82. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/jackson-core-2.15.2.jar +0 -0
  83. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/jackson-core-asl-1.9.13.jar +0 -0
  84. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/jackson-databind-2.15.2.jar +0 -0
  85. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/jackson-dataformat-yaml-2.15.2.jar +0 -0
  86. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/jackson-datatype-jsr310-2.15.2.jar +0 -0
  87. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/jackson-module-scala_2.12-2.15.2.jar +0 -0
  88. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/json4s-ast_2.12-3.7.0-M11.jar +0 -0
  89. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/json4s-core_2.12-3.7.0-M11.jar +0 -0
  90. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/json4s-jackson_2.12-3.7.0-M11.jar +0 -0
  91. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/json4s-native_2.12-3.7.0-M11.jar +0 -0
  92. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/json4s-scalap_2.12-3.7.0-M11.jar +0 -0
  93. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/kryo-shaded-4.0.2.jar +0 -0
  94. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/log4j-1.2-api-2.20.0.jar +0 -0
  95. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/log4j-api-2.20.0.jar +0 -0
  96. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/log4j-core-2.20.0.jar +0 -0
  97. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/log4j-slf4j2-impl-2.20.0.jar +0 -0
  98. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/paranamer-2.8.3.jar +0 -0
  99. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/paranamer-2.8.jar +0 -0
  100. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/sas-scala-udf_2.12-0.1.0.jar +0 -0
  101. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/scala-collection-compat_2.12-2.7.0.jar +0 -0
  102. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/scala-library-2.12.18.jar +0 -0
  103. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/scala-parser-combinators_2.12-2.3.0.jar +0 -0
  104. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/scala-reflect-2.12.18.jar +0 -0
  105. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/scala-xml_2.12-2.1.0.jar +0 -0
  106. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/slf4j-api-2.0.7.jar +0 -0
  107. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-catalyst_2.12-3.5.6.jar +0 -0
  108. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-common-utils_2.12-3.5.6.jar +0 -0
  109. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-connect-client-jvm_2.12-3.5.6.jar +0 -0
  110. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-core_2.12-3.5.6.jar +0 -0
  111. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-graphx_2.12-3.5.6.jar +0 -0
  112. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-hive-thriftserver_2.12-3.5.6.jar +0 -0
  113. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-hive_2.12-3.5.6.jar +0 -0
  114. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-kvstore_2.12-3.5.6.jar +0 -0
  115. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-launcher_2.12-3.5.6.jar +0 -0
  116. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-mesos_2.12-3.5.6.jar +0 -0
  117. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-mllib-local_2.12-3.5.6.jar +0 -0
  118. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-network-common_2.12-3.5.6.jar +0 -0
  119. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-network-shuffle_2.12-3.5.6.jar +0 -0
  120. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-repl_2.12-3.5.6.jar +0 -0
  121. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-sketch_2.12-3.5.6.jar +0 -0
  122. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-sql-api_2.12-3.5.6.jar +0 -0
  123. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-sql_2.12-3.5.6.jar +0 -0
  124. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-tags_2.12-3.5.6.jar +0 -0
  125. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-unsafe_2.12-3.5.6.jar +0 -0
  126. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/jars/spark-yarn_2.12-3.5.6.jar +0 -0
  127. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/__init__.py +0 -0
  128. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/__init__.py +0 -0
  129. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_globals.py +0 -0
  130. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_typing.pyi +0 -0
  131. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/accumulators.py +0 -0
  132. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/broadcast.py +0 -0
  133. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/__init__.py +0 -0
  134. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle.py +0 -0
  135. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle_fast.py +0 -0
  136. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/compat.py +0 -0
  137. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/conf.py +0 -0
  138. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/context.py +0 -0
  139. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/daemon.py +0 -0
  140. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/__init__.py +0 -0
  141. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/error_classes.py +0 -0
  142. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/__init__.py +0 -0
  143. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/base.py +0 -0
  144. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/captured.py +0 -0
  145. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/connect.py +0 -0
  146. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/utils.py +0 -0
  147. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/files.py +0 -0
  148. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/find_spark_home.py +0 -0
  149. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/install.py +0 -0
  150. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/instrumentation_utils.py +0 -0
  151. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/java_gateway.py +0 -0
  152. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/join.py +0 -0
  153. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/__init__.py +0 -0
  154. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/_typing.pyi +0 -0
  155. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/base.py +0 -0
  156. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/classification.py +0 -0
  157. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/clustering.py +0 -0
  158. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/common.py +0 -0
  159. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/__init__.py +0 -0
  160. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/base.py +0 -0
  161. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/classification.py +0 -0
  162. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/evaluation.py +0 -0
  163. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/feature.py +0 -0
  164. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/functions.py +0 -0
  165. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/io_utils.py +0 -0
  166. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/pipeline.py +0 -0
  167. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/summarizer.py +0 -0
  168. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/tuning.py +0 -0
  169. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/util.py +0 -0
  170. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/__init__.py +0 -0
  171. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/deepspeed_distributor.py +0 -0
  172. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/dl_util.py +0 -0
  173. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/evaluation.py +0 -0
  174. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/feature.py +0 -0
  175. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/fpm.py +0 -0
  176. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/functions.py +0 -0
  177. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/image.py +0 -0
  178. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/linalg/__init__.py +0 -0
  179. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/model_cache.py +0 -0
  180. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/__init__.py +0 -0
  181. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/_shared_params_code_gen.py +0 -0
  182. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/shared.py +0 -0
  183. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/pipeline.py +0 -0
  184. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/recommendation.py +0 -0
  185. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/regression.py +0 -0
  186. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/stat.py +0 -0
  187. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/__init__.py +0 -0
  188. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/data.py +0 -0
  189. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/distributor.py +0 -0
  190. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/log_communication.py +0 -0
  191. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/torch_run_process_wrapper.py +0 -0
  192. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tree.py +0 -0
  193. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tuning.py +0 -0
  194. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/util.py +0 -0
  195. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/wrapper.py +0 -0
  196. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/__init__.py +0 -0
  197. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/_typing.pyi +0 -0
  198. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/classification.py +0 -0
  199. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/clustering.py +0 -0
  200. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/common.py +0 -0
  201. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/evaluation.py +0 -0
  202. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/feature.py +0 -0
  203. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/fpm.py +0 -0
  204. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/__init__.py +0 -0
  205. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/distributed.py +0 -0
  206. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/random.py +0 -0
  207. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/recommendation.py +0 -0
  208. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/regression.py +0 -0
  209. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/KernelDensity.py +0 -0
  210. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/__init__.py +0 -0
  211. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/_statistics.py +0 -0
  212. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/distribution.py +0 -0
  213. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/test.py +0 -0
  214. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/tree.py +0 -0
  215. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/util.py +0 -0
  216. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/__init__.py +0 -0
  217. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/_typing.py +0 -0
  218. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/accessors.py +0 -0
  219. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/base.py +0 -0
  220. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/categorical.py +0 -0
  221. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/config.py +0 -0
  222. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/correlation.py +0 -0
  223. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/__init__.py +0 -0
  224. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/base.py +0 -0
  225. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/binary_ops.py +0 -0
  226. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/boolean_ops.py +0 -0
  227. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/categorical_ops.py +0 -0
  228. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/complex_ops.py +0 -0
  229. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/date_ops.py +0 -0
  230. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/datetime_ops.py +0 -0
  231. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/null_ops.py +0 -0
  232. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/num_ops.py +0 -0
  233. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/string_ops.py +0 -0
  234. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/timedelta_ops.py +0 -0
  235. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/udt_ops.py +0 -0
  236. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/datetimes.py +0 -0
  237. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/exceptions.py +0 -0
  238. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/extensions.py +0 -0
  239. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/frame.py +0 -0
  240. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/generic.py +0 -0
  241. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/groupby.py +0 -0
  242. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/__init__.py +0 -0
  243. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/base.py +0 -0
  244. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/category.py +0 -0
  245. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/datetimes.py +0 -0
  246. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/multi.py +0 -0
  247. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/numeric.py +0 -0
  248. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/timedelta.py +0 -0
  249. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexing.py +0 -0
  250. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/internal.py +0 -0
  251. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/__init__.py +0 -0
  252. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/common.py +0 -0
  253. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/frame.py +0 -0
  254. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/general_functions.py +0 -0
  255. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/groupby.py +0 -0
  256. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/indexes.py +0 -0
  257. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/resample.py +0 -0
  258. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/scalars.py +0 -0
  259. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/series.py +0 -0
  260. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/window.py +0 -0
  261. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/mlflow.py +0 -0
  262. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/namespace.py +0 -0
  263. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/numpy_compat.py +0 -0
  264. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/__init__.py +0 -0
  265. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/core.py +0 -0
  266. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/matplotlib.py +0 -0
  267. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/plotly.py +0 -0
  268. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/resample.py +0 -0
  269. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/series.py +0 -0
  270. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_formatter.py +0 -0
  271. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_processor.py +0 -0
  272. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/strings.py +0 -0
  273. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/supported_api_gen.py +0 -0
  274. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/__init__.py +0 -0
  275. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/typehints.py +0 -0
  276. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/__init__.py +0 -0
  277. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/usage_logger.py +0 -0
  278. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/utils.py +0 -0
  279. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/window.py +0 -0
  280. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/profiler.py +0 -0
  281. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/py.typed +0 -0
  282. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/python/pyspark/shell.py +0 -0
  283. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rdd.py +0 -0
  284. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rddsampler.py +0 -0
  285. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/__init__.py +0 -0
  286. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/information.py +0 -0
  287. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/profile.py +0 -0
  288. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/requests.py +0 -0
  289. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resultiterable.py +0 -0
  290. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/serializers.py +0 -0
  291. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shell.py +0 -0
  292. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shuffle.py +0 -0
  293. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/__init__.py +0 -0
  294. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/_typing.pyi +0 -0
  295. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/__init__.py +0 -0
  296. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/functions.py +0 -0
  297. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/catalog.py +0 -0
  298. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/column.py +0 -0
  299. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/conf.py +0 -0
  300. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/__init__.py +0 -0
  301. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/_typing.py +0 -0
  302. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/__init__.py +0 -0
  303. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/functions.py +0 -0
  304. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/catalog.py +0 -0
  305. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/__init__.py +0 -0
  306. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/artifact.py +0 -0
  307. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/core.py +0 -0
  308. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/reattach.py +0 -0
  309. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/column.py +0 -0
  310. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conf.py +0 -0
  311. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conversion.py +0 -0
  312. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/dataframe.py +0 -0
  313. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/expressions.py +0 -0
  314. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/functions.py +0 -0
  315. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/group.py +0 -0
  316. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/plan.py +0 -0
  317. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/__init__.py +0 -0
  318. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.py +0 -0
  319. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.pyi +0 -0
  320. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2_grpc.py +0 -0
  321. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.py +0 -0
  322. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.pyi +0 -0
  323. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.py +0 -0
  324. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.pyi +0 -0
  325. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.py +0 -0
  326. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.pyi +0 -0
  327. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.py +0 -0
  328. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.pyi +0 -0
  329. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.py +0 -0
  330. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.pyi +0 -0
  331. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.py +0 -0
  332. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.pyi +0 -0
  333. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.py +0 -0
  334. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.pyi +0 -0
  335. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/__init__.py +0 -0
  336. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/functions.py +0 -0
  337. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/readwriter.py +0 -0
  338. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/session.py +0 -0
  339. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/__init__.py +0 -0
  340. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/query.py +0 -0
  341. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/readwriter.py +0 -0
  342. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/__init__.py +0 -0
  343. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/foreach_batch_worker.py +0 -0
  344. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/listener_worker.py +0 -0
  345. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/types.py +0 -0
  346. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udf.py +0 -0
  347. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udtf.py +0 -0
  348. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/utils.py +0 -0
  349. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/window.py +0 -0
  350. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/context.py +0 -0
  351. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/dataframe.py +0 -0
  352. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/functions.py +0 -0
  353. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/group.py +0 -0
  354. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/observation.py +0 -0
  355. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/__init__.py +0 -0
  356. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/__init__.pyi +0 -0
  357. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/__init__.pyi +0 -0
  358. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/frame.pyi +0 -0
  359. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/series.pyi +0 -0
  360. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/conversion.py +0 -0
  361. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.py +0 -0
  362. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.pyi +0 -0
  363. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/group_ops.py +0 -0
  364. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/map_ops.py +0 -0
  365. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/serializers.py +0 -0
  366. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/typehints.py +0 -0
  367. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/types.py +0 -0
  368. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/utils.py +0 -0
  369. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/__init__.py +0 -0
  370. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/functions.py +0 -0
  371. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/readwriter.py +0 -0
  372. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/session.py +0 -0
  373. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/sql_formatter.py +0 -0
  374. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/__init__.py +0 -0
  375. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/listener.py +0 -0
  376. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/query.py +0 -0
  377. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/readwriter.py +0 -0
  378. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/state.py +0 -0
  379. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/types.py +0 -0
  380. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udf.py +0 -0
  381. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udtf.py +0 -0
  382. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/utils.py +0 -0
  383. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/window.py +0 -0
  384. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/statcounter.py +0 -0
  385. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/status.py +0 -0
  386. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/storagelevel.py +0 -0
  387. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/__init__.py +0 -0
  388. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/context.py +0 -0
  389. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/dstream.py +0 -0
  390. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/kinesis.py +0 -0
  391. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/listener.py +0 -0
  392. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/util.py +0 -0
  393. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/taskcontext.py +0 -0
  394. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/__init__.py +0 -0
  395. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/connectutils.py +0 -0
  396. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mllibutils.py +0 -0
  397. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mlutils.py +0 -0
  398. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/objects.py +0 -0
  399. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/pandasutils.py +0 -0
  400. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/sqlutils.py +0 -0
  401. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/streamingutils.py +0 -0
  402. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/utils.py +0 -0
  403. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/traceback_utils.py +0 -0
  404. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/util.py +0 -0
  405. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/version.py +0 -0
  406. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker.py +0 -0
  407. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker_util.py +0 -0
  408. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/proto/__init__.py +0 -0
  409. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/proto/control_pb2.py +0 -0
  410. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/proto/control_pb2.pyi +0 -0
  411. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/proto/control_pb2_grpc.py +0 -0
  412. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.py +0 -0
  413. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.pyi +0 -0
  414. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/proto/snowflake_rdd_pb2.pyi +0 -0
  415. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.py +0 -0
  416. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.pyi +0 -0
  417. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/__init__.py +0 -0
  418. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/catalogs/__init__.py +0 -0
  419. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/catalogs/abstract_spark_catalog.py +0 -0
  420. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/catalogs/snowflake_catalog.py +0 -0
  421. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/catalogs/utils.py +0 -0
  422. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_aggregate.py +0 -0
  423. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_catalog.py +0 -0
  424. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_column_ops.py +0 -0
  425. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_crosstab.py +0 -0
  426. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_join.py +0 -0
  427. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_local_relation.py +0 -0
  428. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_row_ops.py +0 -0
  429. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_sample_by.py +0 -0
  430. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_show_string.py +0 -0
  431. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_sql.py +0 -0
  432. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_stats.py +0 -0
  433. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_subquery_alias.py +0 -0
  434. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/map_udtf.py +0 -0
  435. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/read/__init__.py +0 -0
  436. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/read/jdbc_read_dbapi.py +0 -0
  437. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/read/map_read_jdbc.py +0 -0
  438. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/read/map_read_parquet.py +0 -0
  439. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/read/map_read_socket.py +0 -0
  440. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/read/map_read_table.py +0 -0
  441. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/read/reader_config.py +0 -0
  442. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/read/utils.py +0 -0
  443. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/utils.py +0 -0
  444. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/write/__init__.py +0 -0
  445. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/write/jdbc_write_dbapi.py +0 -0
  446. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/relation/write/map_write_jdbc.py +0 -0
  447. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/resources/java_udfs-1.0-SNAPSHOT.jar +0 -0
  448. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/resources_initializer.py +0 -0
  449. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/start_server.py +0 -0
  450. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/tcm.py +0 -0
  451. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/type_mapping.py +0 -0
  452. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/typed_column.py +0 -0
  453. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/__init__.py +0 -0
  454. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/artifacts.py +0 -0
  455. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/cache.py +0 -0
  456. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/concurrent.py +0 -0
  457. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/describe_query_cache.py +0 -0
  458. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/env_utils.py +0 -0
  459. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/external_udxf_cache.py +0 -0
  460. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/identifiers.py +0 -0
  461. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/interrupt.py +0 -0
  462. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/pandas_udtf_utils.py +0 -0
  463. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/profiling.py +0 -0
  464. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/scala_udf_utils.py +0 -0
  465. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/snowpark_connect_logging.py +0 -0
  466. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/telemetry.py +0 -0
  467. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/temporary_view_cache.py +0 -0
  468. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/udf_helper.py +0 -0
  469. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/udf_utils.py +0 -0
  470. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/udtf_helper.py +0 -0
  471. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/udtf_utils.py +0 -0
  472. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/udxf_import_utils.py +0 -0
  473. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_connect/utils/xxhash64.py +0 -0
  474. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_decoder/__init__.py +0 -0
  475. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.py +0 -0
  476. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.pyi +0 -0
  477. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_decoder/dp_session.py +0 -0
  478. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowflake/snowpark_decoder/spark_decoder.py +0 -0
  479. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowpark_connect.egg-info/SOURCES.txt +0 -0
  480. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowpark_connect.egg-info/dependency_links.txt +0 -0
  481. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/snowpark_connect.egg-info/top_level.txt +0 -0
  482. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/spark/__init__.py +0 -0
  483. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/spark/connect/__init__.py +0 -0
  484. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/spark/connect/envelope_pb2.py +0 -0
  485. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/src/spark/connect/envelope_pb2.pyi +0 -0
  486. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/tools/snowpark-connect +0 -0
  487. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/tools/snowpark-session +0 -0
  488. {snowpark_connect-0.28.1 → snowpark_connect-0.29.0}/tools/snowpark-submit +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowpark-connect
3
- Version: 0.28.1
3
+ Version: 0.29.0
4
4
  Summary: Snowpark Connect for Spark
5
5
  Author: Snowflake, Inc
6
6
  License: Apache License, Version 2.0
@@ -16,7 +16,7 @@ Requires-Dist: jpype1
16
16
  Requires-Dist: protobuf<5.0,>=4.25.3
17
17
  Requires-Dist: s3fs>=2025.3.0
18
18
  Requires-Dist: snowflake.core<2,>=1.0.5
19
- Requires-Dist: snowflake-snowpark-python[pandas]<1.40.0,==1.39.0
19
+ Requires-Dist: snowflake-snowpark-python[pandas]<1.40.0,==1.39.1
20
20
  Requires-Dist: sqlglot>=26.3.8
21
21
  Requires-Dist: jaydebeapi
22
22
  Requires-Dist: aiobotocore~=2.23.0
@@ -27,6 +27,7 @@ Requires-Dist: grpcio<1.63,>=1.56.0
27
27
  Requires-Dist: grpcio-status<1.63,>=1.56.0
28
28
  Requires-Dist: googleapis-common-protos>=1.56.4
29
29
  Requires-Dist: numpy<2,>=1.15
30
+ Requires-Dist: gcsfs>=2025.9.0
30
31
  Dynamic: author
31
32
  Dynamic: description
32
33
  Dynamic: description-content-type
@@ -46,7 +46,7 @@ setup(
46
46
  "protobuf>=4.25.3,<5.0",
47
47
  "s3fs>=2025.3.0", # prod-297255-inc0132291
48
48
  "snowflake.core>=1.0.5,<2",
49
- "snowflake-snowpark-python[pandas]==1.39.0,<1.40.0",
49
+ "snowflake-snowpark-python[pandas]==1.39.1,<1.40.0",
50
50
  "sqlglot>=26.3.8",
51
51
  "jaydebeapi",
52
52
  "aiobotocore~=2.23.0",
@@ -58,5 +58,6 @@ setup(
58
58
  "grpcio-status>=1.56.0,<1.63",
59
59
  "googleapis-common-protos>=1.56.4",
60
60
  "numpy>=1.15,<2",
61
+ "gcsfs>=2025.9.0",
61
62
  ],
62
63
  )
@@ -264,16 +264,22 @@ SESSION_CONFIG_KEY_WHITELIST = {
264
264
  "snowpark.connect.udtf.compatibility_mode",
265
265
  "snowpark.connect.views.duplicate_column_names_handling_mode",
266
266
  "enable_snowflake_extension_behavior",
267
+ "spark.hadoop.fs.s3a.server-side-encryption.key",
268
+ "spark.hadoop.fs.s3a.assumed.role.arn",
267
269
  }
268
- AZURE_SAS_KEY = re.compile(
270
+ AZURE_ACCOUNT_KEY = re.compile(
269
271
  r"^fs\.azure\.sas\.[^\.]+\.[^\.]+\.blob\.core\.windows\.net$"
270
272
  )
273
+ AZURE_SAS_KEY = re.compile(
274
+ r"^fs\.azure\.sas\.fixed\.token\.[^\.]+\.dfs\.core\.windows\.net$"
275
+ )
271
276
 
272
277
 
273
278
  def valid_session_config_key(key: str):
274
279
  return (
275
280
  key in SESSION_CONFIG_KEY_WHITELIST # AWS session keys
276
281
  or AZURE_SAS_KEY.match(key) # Azure session keys
282
+ or AZURE_ACCOUNT_KEY.match(key) # Azure account keys
277
283
  )
278
284
 
279
285
 
@@ -578,7 +584,10 @@ def set_snowflake_parameters(
578
584
  cte_enabled = str_to_bool(value)
579
585
  snowpark_session.cte_optimization_enabled = cte_enabled
580
586
  logger.info(f"Updated snowpark session CTE optimization: {cte_enabled}")
581
-
587
+ case "snowpark.connect.structured_types.fix":
588
+ # TODO: SNOW-2367714 Remove this once the fix is automatically enabled in Snowpark
589
+ snowpark.context._enable_fix_2360274 = str_to_bool(value)
590
+ logger.info(f"Updated snowpark session structured types fix: {value}")
582
591
  case _:
583
592
  pass
584
593
 
@@ -15,6 +15,7 @@ import tempfile
15
15
  import time
16
16
  import uuid
17
17
  from collections import defaultdict
18
+ from collections.abc import Callable
18
19
  from contextlib import suppress
19
20
  from decimal import ROUND_HALF_EVEN, ROUND_HALF_UP, Context, Decimal
20
21
  from functools import partial, reduce
@@ -199,7 +200,7 @@ def _validate_numeric_args(
199
200
  case StringType():
200
201
  # Cast strings to doubles following Spark
201
202
  # https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/TypeCoercion.scala#L204
202
- modified_args[i] = _try_cast_helper(snowpark_args[i], DoubleType())
203
+ modified_args[i] = snowpark_fn.try_cast(snowpark_args[i], DoubleType())
203
204
  case _:
204
205
  raise TypeError(
205
206
  f"Data type mismatch: {function_name} requires numeric types, but got {typed_args[0].typ} and {typed_args[1].typ}."
@@ -519,7 +520,7 @@ def map_unresolved_function(
519
520
  DecimalType() as t,
520
521
  ):
521
522
  p1, s1 = _get_type_precision(t)
522
- result_type = _get_decimal_multiplication_result_type(
523
+ result_type, _ = _get_decimal_multiplication_result_type(
523
524
  p1, s1, p1, s1
524
525
  )
525
526
  result_exp = snowpark_fn.lit(None)
@@ -528,11 +529,17 @@ def map_unresolved_function(
528
529
  ):
529
530
  p1, s1 = _get_type_precision(snowpark_typed_args[0].typ)
530
531
  p2, s2 = _get_type_precision(snowpark_typed_args[1].typ)
531
- result_type = _get_decimal_multiplication_result_type(
532
- p1, s1, p2, s2
533
- )
534
- result_exp = _get_decimal_multiplication_result_exp(
535
- result_type, t, snowpark_args
532
+ (
533
+ result_type,
534
+ overflow_possible,
535
+ ) = _get_decimal_multiplication_result_type(p1, s1, p2, s2)
536
+ result_exp = _arithmetic_operation(
537
+ snowpark_typed_args[0],
538
+ snowpark_typed_args[1],
539
+ lambda x, y: x * y,
540
+ overflow_possible,
541
+ global_config.spark_sql_ansi_enabled,
542
+ result_type,
536
543
  )
537
544
  case (NullType(), NullType()):
538
545
  result_type = DoubleType()
@@ -617,7 +624,7 @@ def map_unresolved_function(
617
624
  )
618
625
  match (snowpark_typed_args[0].typ, snowpark_typed_args[1].typ):
619
626
  case (NullType(), _) | (_, NullType()):
620
- result_type = _get_add_sub_result_type(
627
+ result_type, _ = _get_add_sub_result_type(
621
628
  snowpark_typed_args[0].typ,
622
629
  snowpark_typed_args[1].typ,
623
630
  spark_function_name,
@@ -693,14 +700,21 @@ def map_unresolved_function(
693
700
  f'[DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES] Cannot resolve "{spark_function_name}" due to data type mismatch: the left and right operands of the binary operator have incompatible types ("{snowpark_typed_args[0].typ}" and "{snowpark_typed_args[1].typ}").'
694
701
  )
695
702
  case _:
696
- result_type = _get_add_sub_result_type(
703
+ result_type, overflow_possible = _get_add_sub_result_type(
697
704
  snowpark_typed_args[0].typ,
698
705
  snowpark_typed_args[1].typ,
699
706
  spark_function_name,
700
707
  )
701
- result_exp = snowpark_args[0] + snowpark_args[1]
702
- if isinstance(result_type, DecimalType):
703
- result_exp = _cast_helper(result_exp, result_type)
708
+
709
+ result_exp = _arithmetic_operation(
710
+ snowpark_typed_args[0],
711
+ snowpark_typed_args[1],
712
+ lambda x, y: x + y,
713
+ overflow_possible,
714
+ global_config.spark_sql_ansi_enabled,
715
+ result_type,
716
+ )
717
+
704
718
  case "-":
705
719
  spark_function_name = _get_spark_function_name(
706
720
  snowpark_typed_args[0],
@@ -715,7 +729,7 @@ def map_unresolved_function(
715
729
  result_type = LongType()
716
730
  result_exp = snowpark_fn.lit(None).cast(result_type)
717
731
  case (NullType(), _) | (_, NullType()):
718
- result_type = _get_add_sub_result_type(
732
+ result_type, _ = _get_add_sub_result_type(
719
733
  snowpark_typed_args[0].typ,
720
734
  snowpark_typed_args[1].typ,
721
735
  spark_function_name,
@@ -806,14 +820,20 @@ def map_unresolved_function(
806
820
  f'[DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES] Cannot resolve "{spark_function_name}" due to data type mismatch: the left and right operands of the binary operator have incompatible types ("{snowpark_typed_args[0].typ}" and "{snowpark_typed_args[1].typ}").'
807
821
  )
808
822
  case _:
809
- result_type = _get_add_sub_result_type(
823
+ result_type, overflow_possible = _get_add_sub_result_type(
810
824
  snowpark_typed_args[0].typ,
811
825
  snowpark_typed_args[1].typ,
812
826
  spark_function_name,
813
827
  )
814
- result_exp = snowpark_args[0] - snowpark_args[1]
815
- if isinstance(result_type, DecimalType):
816
- result_exp = _cast_helper(result_exp, result_type)
828
+ result_exp = _arithmetic_operation(
829
+ snowpark_typed_args[0],
830
+ snowpark_typed_args[1],
831
+ lambda x, y: x - y,
832
+ overflow_possible,
833
+ global_config.spark_sql_ansi_enabled,
834
+ result_type,
835
+ )
836
+
817
837
  case "/":
818
838
  match (snowpark_typed_args[0].typ, snowpark_typed_args[1].typ):
819
839
  case (DecimalType() as t1, NullType()):
@@ -825,15 +845,17 @@ def map_unresolved_function(
825
845
  ):
826
846
  p1, s1 = _get_type_precision(snowpark_typed_args[0].typ)
827
847
  p2, s2 = _get_type_precision(snowpark_typed_args[1].typ)
828
- result_type, overflow_detected = _get_decimal_division_result_type(
848
+ result_type, overflow_possible = _get_decimal_division_result_type(
829
849
  p1, s1, p2, s2
830
850
  )
831
- result_exp = _get_decimal_division_result_exp(
851
+
852
+ result_exp = _arithmetic_operation(
853
+ snowpark_typed_args[0],
854
+ snowpark_typed_args[1],
855
+ lambda x, y: _divnull(x, y),
856
+ overflow_possible,
857
+ global_config.spark_sql_ansi_enabled,
832
858
  result_type,
833
- t,
834
- overflow_detected,
835
- snowpark_args,
836
- spark_function_name,
837
859
  )
838
860
  case (NullType(), NullType()):
839
861
  result_type = DoubleType()
@@ -7580,63 +7602,20 @@ def map_unresolved_function(
7580
7602
  )
7581
7603
  | (DecimalType(), DecimalType())
7582
7604
  ):
7583
- # compute new precision and scale using correct decimal division rules
7584
- if isinstance(
7585
- snowpark_typed_args[0].typ, DecimalType
7586
- ) and isinstance(snowpark_typed_args[1].typ, DecimalType):
7587
- s1, p1 = (
7588
- snowpark_typed_args[0].typ.scale,
7589
- snowpark_typed_args[0].typ.precision,
7590
- )
7591
- s2, p2 = (
7592
- snowpark_typed_args[1].typ.scale,
7593
- snowpark_typed_args[1].typ.precision,
7594
- )
7595
- # The scale and precision formula that Spark follows for DecimalType
7596
- # arithmetic operations can be found in the following Spark source
7597
- # code file:
7598
- # https://github.com/apache/spark/blob/a584cc48ef63fefb2e035349c8684250f8b936c4/docs/sql-ref-ansi-compliance.md
7599
- new_scale = max(6, s1 + p2 + 1)
7600
- new_precision = p1 - s1 + s2 + new_scale
7601
-
7602
- elif isinstance(snowpark_typed_args[0].typ, DecimalType):
7603
- s1, p1 = (
7604
- snowpark_typed_args[0].typ.scale,
7605
- snowpark_typed_args[0].typ.precision,
7606
- )
7607
- # INT is treated as Decimal(10, 0)
7608
- new_scale = max(6, s1 + 11)
7609
- new_precision = p1 - s1 + new_scale
7610
-
7611
- else: # right is DecimalType
7612
- s2, p2 = (
7613
- snowpark_typed_args[1].typ.scale,
7614
- snowpark_typed_args[1].typ.precision,
7615
- )
7616
- # INT is treated as Decimal(10, 0)
7617
- new_scale = max(6, 11 + p2)
7618
- new_precision = (
7619
- 10 - 0 + s2 + new_scale
7620
- ) # INT has precision 10, scale 0
7621
-
7622
- # apply precision cap
7623
- if new_precision > 38:
7624
- new_scale -= new_precision - 38
7625
- new_precision = 38
7626
- new_scale = max(new_scale, 6)
7627
-
7628
- left_double = snowpark_fn.cast(snowpark_args[0], DoubleType())
7629
- right_double = snowpark_fn.cast(snowpark_args[1], DoubleType())
7630
-
7631
- quotient = snowpark_fn.when(
7632
- snowpark_args[1] == 0, snowpark_fn.lit(None)
7633
- ).otherwise(left_double / right_double)
7634
- quotient = snowpark_fn.cast(quotient, StringType())
7605
+ p1, s1 = _get_type_precision(snowpark_typed_args[0].typ)
7606
+ p2, s2 = _get_type_precision(snowpark_typed_args[1].typ)
7607
+ result_type, overflow_possible = _get_decimal_division_result_type(
7608
+ p1, s1, p2, s2
7609
+ )
7635
7610
 
7636
- result_exp = _try_cast_helper(
7637
- quotient, DecimalType(new_precision, new_scale)
7611
+ result_exp = _arithmetic_operation(
7612
+ snowpark_typed_args[0],
7613
+ snowpark_typed_args[1],
7614
+ lambda x, y: _divnull(x, y),
7615
+ overflow_possible,
7616
+ False,
7617
+ result_type,
7638
7618
  )
7639
- result_type = DecimalType(new_precision, new_scale)
7640
7619
  case (_NumericType(), _NumericType()):
7641
7620
  result_exp = snowpark_fn.when(
7642
7621
  snowpark_args[1] == 0, snowpark_fn.lit(None)
@@ -7749,42 +7728,21 @@ def map_unresolved_function(
7749
7728
  )
7750
7729
  | (DecimalType(), DecimalType())
7751
7730
  ):
7752
- # figure out what precision to use as the overflow amount
7753
- if isinstance(
7754
- snowpark_typed_args[0].typ, DecimalType
7755
- ) and isinstance(snowpark_typed_args[1].typ, DecimalType):
7756
- new_precision = (
7757
- snowpark_typed_args[0].typ.precision
7758
- + snowpark_typed_args[1].typ.precision
7759
- + 1
7760
- )
7761
- new_scale = (
7762
- snowpark_typed_args[0].typ.scale
7763
- + snowpark_typed_args[1].typ.scale
7764
- )
7765
- elif isinstance(snowpark_typed_args[0].typ, DecimalType):
7766
- new_precision = snowpark_typed_args[0].typ.precision + 11
7767
- new_scale = snowpark_typed_args[0].typ.scale
7768
- else:
7769
- new_precision = snowpark_typed_args[1].typ.precision + 11
7770
- new_scale = snowpark_typed_args[1].typ.scale
7771
-
7772
- # truncating down appropriately
7773
- if new_precision > 38:
7774
- new_precision = 38
7775
- if new_scale > new_precision:
7776
- new_scale = new_precision
7777
-
7778
- left_double = snowpark_fn.cast(snowpark_args[0], DoubleType())
7779
- right_double = snowpark_fn.cast(snowpark_args[1], DoubleType())
7780
-
7781
- product = left_double * right_double
7782
-
7783
- product = snowpark_fn.cast(product, StringType())
7784
- result_exp = _try_cast_helper(
7785
- product, DecimalType(new_precision, new_scale)
7731
+ p1, s1 = _get_type_precision(snowpark_typed_args[0].typ)
7732
+ p2, s2 = _get_type_precision(snowpark_typed_args[1].typ)
7733
+ (
7734
+ result_type,
7735
+ overflow_possible,
7736
+ ) = _get_decimal_multiplication_result_type(p1, s1, p2, s2)
7737
+
7738
+ result_exp = _arithmetic_operation(
7739
+ snowpark_typed_args[0],
7740
+ snowpark_typed_args[1],
7741
+ lambda x, y: x * y,
7742
+ overflow_possible,
7743
+ False,
7744
+ result_type,
7786
7745
  )
7787
- result_type = DecimalType(new_precision, new_scale)
7788
7746
  case (_NumericType(), _NumericType()):
7789
7747
  result_exp = snowpark_args[0] * snowpark_args[1]
7790
7748
  result_exp = _type_with_typer(result_exp)
@@ -8391,20 +8349,10 @@ def map_unresolved_function(
8391
8349
  return spark_col_names, typed_col
8392
8350
 
8393
8351
 
8394
- def _cast_helper(column: Column, to: DataType) -> Column:
8395
- if global_config.spark_sql_ansi_enabled:
8396
- column_mediator = (
8397
- snowpark_fn.cast(column, StringType())
8398
- if isinstance(to, DecimalType)
8399
- else column
8400
- )
8401
- return snowpark_fn.cast(column_mediator, to)
8402
- else:
8403
- return _try_cast_helper(column, to)
8404
-
8405
-
8406
8352
  def _try_cast_helper(column: Column, to: DataType) -> Column:
8407
8353
  """
8354
+ DEPRECATED because of performance issues
8355
+
8408
8356
  Attempts to cast a given column to a specified data type using the same behaviour as Spark.
8409
8357
 
8410
8358
  Args:
@@ -9600,71 +9548,109 @@ def _decimal_add_sub_result_type_helper(p1, s1, p2, s2):
9600
9548
  return result_precision, min_scale, return_type_precision, return_type_scale
9601
9549
 
9602
9550
 
9603
- def _get_decimal_multiplication_result_exp(
9604
- result_type: DecimalType | DataType,
9605
- other_type: DataType,
9606
- snowpark_args: list[Column],
9607
- ) -> Column:
9608
- if global_config.spark_sql_ansi_enabled:
9609
- result_exp = snowpark_args[0] * snowpark_args[1]
9610
- else:
9611
- if isinstance(other_type, _IntegralType):
9612
- result_exp = snowpark_args[0].cast(result_type) * snowpark_args[1].cast(
9613
- result_type
9614
- )
9615
- else:
9616
- result_exp = snowpark_args[0].cast(DoubleType()) * snowpark_args[1].cast(
9617
- DoubleType()
9618
- )
9619
- result_exp = _try_cast_helper(result_exp, result_type)
9620
- return result_exp
9621
-
9622
-
9623
- def _get_decimal_multiplication_result_type(p1, s1, p2, s2) -> DecimalType:
9551
+ def _get_decimal_multiplication_result_type(p1, s1, p2, s2) -> tuple[DecimalType, bool]:
9624
9552
  result_precision = p1 + p2 + 1
9625
9553
  result_scale = s1 + s2
9554
+ overflow_possible = False
9626
9555
  if result_precision > 38:
9556
+ overflow_possible = True
9627
9557
  if result_scale > 6:
9628
9558
  overflow = result_precision - 38
9629
9559
  result_scale = max(6, result_scale - overflow)
9630
9560
  result_precision = 38
9631
- return DecimalType(result_precision, result_scale)
9561
+ return DecimalType(result_precision, result_scale), overflow_possible
9632
9562
 
9633
9563
 
9634
- def _get_decimal_division_result_exp(
9635
- result_type: DecimalType | DataType,
9636
- other_type: DataType,
9637
- overflow_detected: bool,
9638
- snowpark_args: list[Column],
9639
- spark_function_name: str,
9564
+ def _arithmetic_operation(
9565
+ arg1: TypedColumn,
9566
+ arg2: TypedColumn,
9567
+ op: Callable[[Column, Column], Column],
9568
+ overflow_possible: bool,
9569
+ should_raise_on_overflow: bool,
9570
+ target_type: DecimalType,
9640
9571
  ) -> Column:
9641
- if (
9642
- isinstance(other_type, DecimalType)
9643
- and overflow_detected
9644
- and global_config.spark_sql_ansi_enabled
9645
- ):
9646
- raise ArithmeticException(
9647
- f'[NUMERIC_VALUE_OUT_OF_RANGE] {spark_function_name} cannot be represented as Decimal({result_type.precision}, {result_type.scale}). If necessary set "spark.sql.ansi.enabled" to "false" to bypass this error, and return NULL instead.'
9572
+ def _cast_arg(tc: TypedColumn) -> Column:
9573
+ _, s = _get_type_precision(tc.typ)
9574
+ typ = (
9575
+ DoubleType()
9576
+ if s > 0
9577
+ or (
9578
+ isinstance(tc.typ, _FractionalType)
9579
+ and not isinstance(tc.typ, DecimalType)
9580
+ )
9581
+ else LongType()
9582
+ )
9583
+ return tc.col.cast(typ)
9584
+
9585
+ op_for_overflow_check = op(arg1.col.cast(DoubleType()), arg2.col.cast(DoubleType()))
9586
+ safe_op = op(_cast_arg(arg1), _cast_arg(arg2))
9587
+
9588
+ if overflow_possible:
9589
+ return _cast_arithmetic_operation_result(
9590
+ op_for_overflow_check, safe_op, target_type, should_raise_on_overflow
9648
9591
  )
9649
9592
  else:
9650
- dividend = snowpark_args[0].cast(DoubleType())
9651
- divisor = snowpark_args[1]
9652
- result_exp = _divnull(dividend, divisor)
9653
- result_exp = _cast_helper(result_exp, result_type)
9654
- return result_exp
9593
+ return op(arg1.col, arg2.col).cast(target_type)
9594
+
9595
+
9596
+ def _cast_arithmetic_operation_result(
9597
+ overflow_check_expr: Column,
9598
+ result_expr: Column,
9599
+ target_type: DecimalType,
9600
+ should_raise_on_overflow: bool,
9601
+ ) -> Column:
9602
+ """
9603
+ Casts an arithmetic operation result to the target decimal type with overflow detection.
9604
+ This function uses a dual-expression approach for robust overflow handling:
9605
+ Args:
9606
+ overflow_check_expr: Arithmetic expression using DoubleType operands for overflow detection.
9607
+ This expression is used ONLY for boundary checking against the target
9608
+ decimal's min/max values. DoubleType preserves the magnitude of large
9609
+ intermediate results that might overflow in decimal arithmetic.
9610
+ result_expr: Arithmetic expression using safer operand types (LongType for integers,
9611
+ DoubleType for fractionals) for the actual result computation.
9612
+ target_type: Target DecimalType to cast the result to.
9613
+ should_raise_on_overflow: If True raises ArithmeticException on overflow, if False, returns NULL on overflow.
9614
+ """
9615
+
9616
+ def create_overflow_handler(min_val, max_val, type_name: str):
9617
+ if should_raise_on_overflow:
9618
+ raise_error = _raise_error_helper(target_type, ArithmeticException)
9619
+ return snowpark_fn.when(
9620
+ (overflow_check_expr < snowpark_fn.lit(min_val))
9621
+ | (overflow_check_expr > snowpark_fn.lit(max_val)),
9622
+ raise_error(
9623
+ snowpark_fn.lit(
9624
+ f'[NUMERIC_VALUE_OUT_OF_RANGE] Value cannot be represented as {type_name}. If necessary set "spark.sql.ansi.enabled" to "false" to bypass this error, and return NULL instead.'
9625
+ )
9626
+ ),
9627
+ ).otherwise(result_expr.cast(target_type))
9628
+ else:
9629
+ return snowpark_fn.when(
9630
+ (overflow_check_expr < snowpark_fn.lit(min_val))
9631
+ | (overflow_check_expr > snowpark_fn.lit(max_val)),
9632
+ snowpark_fn.lit(None),
9633
+ ).otherwise(result_expr.cast(target_type))
9634
+
9635
+ precision = target_type.precision
9636
+ scale = target_type.scale
9637
+
9638
+ max_val = (10**precision - 1) / (10**scale)
9639
+ min_val = -max_val
9640
+
9641
+ return create_overflow_handler(min_val, max_val, f"DECIMAL({precision},{scale})")
9655
9642
 
9656
9643
 
9657
9644
  def _get_decimal_division_result_type(p1, s1, p2, s2) -> tuple[DecimalType, bool]:
9658
- overflow_detected = False
9645
+ overflow_possible = False
9659
9646
  result_scale = max(6, s1 + p2 + 1)
9660
9647
  result_precision = p1 - s1 + s2 + result_scale
9661
9648
  if result_precision > 38:
9662
- if result_precision > 40:
9663
- overflow_detected = True
9649
+ overflow_possible = True
9664
9650
  overflow = result_precision - 38
9665
9651
  result_scale = max(6, result_scale - overflow)
9666
9652
  result_precision = 38
9667
- return DecimalType(result_precision, result_scale), overflow_detected
9653
+ return DecimalType(result_precision, result_scale), overflow_possible
9668
9654
 
9669
9655
 
9670
9656
  def _try_arithmetic_helper(
@@ -9778,46 +9764,20 @@ def _try_arithmetic_helper(
9778
9764
  DecimalType(),
9779
9765
  DecimalType(),
9780
9766
  ):
9781
- p1, s1 = _get_type_precision(typed_args[0].typ)
9782
- p2, s2 = _get_type_precision(typed_args[1].typ)
9783
-
9784
- if isinstance(typed_args[0].typ, _IntegralType) and isinstance(
9785
- typed_args[1].typ, DecimalType
9786
- ):
9787
- new_scale = s2
9788
- new_precision = max(p2, p1 + s2)
9789
- elif isinstance(typed_args[0].typ, DecimalType) and isinstance(
9790
- typed_args[1].typ, _IntegralType
9791
- ):
9792
- new_scale = s1
9793
- new_precision = max(p1, p2 + s1)
9794
- else:
9795
- # Both decimal types
9796
- if operation_type == 1 and s1 == s2: # subtraction with matching scales
9797
- new_scale = s1
9798
- max_integral_digits = max(p1 - s1, p2 - s2)
9799
- new_precision = max_integral_digits + new_scale
9800
- else:
9801
- new_scale = max(s1, s2)
9802
- max_integral_digits = max(p1 - s1, p2 - s2)
9803
- new_precision = max_integral_digits + new_scale + 1
9804
-
9805
- # Overflow check
9806
- if new_precision > 38:
9807
- if global_config.spark_sql_ansi_enabled:
9808
- raise ArithmeticException(
9809
- f'[NUMERIC_VALUE_OUT_OF_RANGE] Precision {new_precision} exceeds maximum allowed precision of 38. If necessary set "spark.sql.ansi.enabled" to "false" to bypass this error, and return NULL instead.'
9810
- )
9811
- return snowpark_fn.lit(None)
9812
-
9813
- left_operand, right_operand = snowpark_args[0], snowpark_args[1]
9814
-
9815
- result = (
9816
- left_operand + right_operand
9817
- if operation_type == 0
9818
- else left_operand - right_operand
9767
+ result_type, overflow_possible = _get_add_sub_result_type(
9768
+ typed_args[0].typ,
9769
+ typed_args[1].typ,
9770
+ "try_add" if operation_type == 0 else "try_subtract",
9771
+ )
9772
+
9773
+ return _arithmetic_operation(
9774
+ typed_args[0],
9775
+ typed_args[1],
9776
+ lambda x, y: x + y if operation_type == 0 else x - y,
9777
+ overflow_possible,
9778
+ False,
9779
+ result_type,
9819
9780
  )
9820
- return snowpark_fn.cast(result, DecimalType(new_precision, new_scale))
9821
9781
 
9822
9782
  # If either of the inputs is floating point, we can just let it go through to Snowflake, where overflow
9823
9783
  # matches Spark and goes to inf.
@@ -9863,7 +9823,8 @@ def _get_add_sub_result_type(
9863
9823
  type1: DataType,
9864
9824
  type2: DataType,
9865
9825
  spark_function_name: str,
9866
- ) -> DataType:
9826
+ ) -> tuple[DataType, bool]:
9827
+ overflow_possible = False
9867
9828
  result_type = _find_common_type([type1, type2])
9868
9829
  match result_type:
9869
9830
  case DecimalType():
@@ -9872,6 +9833,7 @@ def _get_add_sub_result_type(
9872
9833
  result_scale = max(s1, s2)
9873
9834
  result_precision = max(p1 - s1, p2 - s2) + result_scale + 1
9874
9835
  if result_precision > 38:
9836
+ overflow_possible = True
9875
9837
  if result_scale > 6:
9876
9838
  overflow = result_precision - 38
9877
9839
  result_scale = max(6, result_scale - overflow)
@@ -9900,7 +9862,7 @@ def _get_add_sub_result_type(
9900
9862
  raise AnalysisException(
9901
9863
  f'[DATATYPE_MISMATCH.BINARY_OP_WRONG_TYPE] Cannot resolve "{spark_function_name}" due to data type mismatch: the binary operator requires the input type ("NUMERIC" or "INTERVAL DAY TO SECOND" or "INTERVAL YEAR TO MONTH" or "INTERVAL"), not "BOOLEAN".',
9902
9864
  )
9903
- return result_type
9865
+ return result_type, overflow_possible
9904
9866
 
9905
9867
 
9906
9868
  def _get_spark_function_name(
@@ -7,8 +7,27 @@ from urllib.parse import urlparse
7
7
  CLOUD_PREFIX_TO_CLOUD = {
8
8
  "abfss": "azure",
9
9
  "wasbs": "azure",
10
+ "gcs": "gcp",
11
+ "gs": "gcp",
10
12
  }
11
13
 
14
+ SUPPORTED_COMPRESSION_PER_FORMAT = {
15
+ "csv": {"AUTO", "GZIP", "BZ2", "BROTLI", "ZSTD", "DEFLATE", "RAW_DEFLATE", "NONE"},
16
+ "json": {"AUTO", "GZIP", "BZ2", "BROTLI", "ZSTD", "DEFLATE", "RAW_DEFLATE", "NONE"},
17
+ "parquet": {"AUTO", "LZO", "SNAPPY", "NONE"},
18
+ "text": {"NONE"},
19
+ }
20
+
21
+
22
+ def supported_compressions_for_format(format: str) -> set[str]:
23
+ return SUPPORTED_COMPRESSION_PER_FORMAT.get(format, set())
24
+
25
+
26
+ def is_supported_compression(format: str, compression: str | None) -> bool:
27
+ if compression is None:
28
+ return True
29
+ return compression in supported_compressions_for_format(format)
30
+
12
31
 
13
32
  def get_cloud_from_url(
14
33
  url: str,
@@ -66,7 +85,8 @@ def is_cloud_path(path: str) -> bool:
66
85
  or path.startswith("azure://")
67
86
  or path.startswith("abfss://")
68
87
  or path.startswith("wasbs://") # Azure
69
- or path.startswith("gcs://") # GCP
88
+ or path.startswith("gcs://")
89
+ or path.startswith("gs://") # GCP
70
90
  )
71
91
 
72
92