snowflake-snowpark-python 1.48.1__tar.gz → 1.50.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.
Files changed (242) hide show
  1. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/CHANGELOG.md +51 -0
  2. {snowflake_snowpark_python-1.48.1/src/snowflake_snowpark_python.egg-info → snowflake_snowpark_python-1.50.0}/PKG-INFO +8 -6
  3. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/setup.py +6 -4
  4. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/analyzer.py +11 -3
  5. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/datatype_mapper.py +10 -0
  6. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/expression.py +3 -2
  7. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/select_statement.py +327 -33
  8. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/snowflake_plan.py +14 -4
  9. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/cte_utils.py +42 -1
  10. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/plan_compiler.py +7 -2
  11. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/telemetry_constants.py +5 -0
  12. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/datasource_partitioner.py +2 -0
  13. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/base_driver.py +2 -0
  14. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/event_table_telemetry.py +1 -1
  15. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/server_connection.py +129 -4
  16. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/telemetry.py +42 -0
  17. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/type_utils.py +187 -0
  18. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/udf_utils.py +1 -0
  19. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/xml_schema_inference.py +31 -17
  20. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/context.py +118 -0
  21. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe.py +221 -100
  22. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_reader.py +133 -33
  23. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_stat_functions.py +3 -3
  24. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/functions.py +1 -1
  25. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_analyzer.py +11 -5
  26. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_connection.py +4 -1
  27. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_functions.py +1 -1
  28. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_plan.py +6 -5
  29. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_select_statement.py +2 -2
  30. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/relational_grouped_dataframe.py +10 -0
  31. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/session.py +65 -1
  32. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/types.py +3 -1
  33. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/version.py +1 -1
  34. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0/src/snowflake_snowpark_python.egg-info}/PKG-INFO +8 -6
  35. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake_snowpark_python.egg-info/requires.txt +8 -4
  36. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/LICENSE.txt +0 -0
  37. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/MANIFEST.in +0 -0
  38. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/README.md +0 -0
  39. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/pyproject.toml +0 -0
  40. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/setup.cfg +0 -0
  41. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/__init__.py +0 -0
  42. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_functions/__init__.py +0 -0
  43. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_functions/general_functions.py +0 -0
  44. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_functions/scalar_functions.py +0 -0
  45. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/__init__.py +0 -0
  46. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/__init__.py +0 -0
  47. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/analyzer_utils.py +0 -0
  48. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/binary_expression.py +0 -0
  49. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/binary_plan_node.py +0 -0
  50. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/grouping_set.py +0 -0
  51. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/metadata_utils.py +0 -0
  52. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/query_plan_analysis_utils.py +0 -0
  53. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/schema_utils.py +0 -0
  54. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/snowflake_plan_node.py +0 -0
  55. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/sort_expression.py +0 -0
  56. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/table_function.py +0 -0
  57. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/table_merge_expression.py +0 -0
  58. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/unary_expression.py +0 -0
  59. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/unary_plan_node.py +0 -0
  60. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/window_expression.py +0 -0
  61. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/ast/__init__.py +0 -0
  62. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/ast/batch.py +0 -0
  63. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/ast/builder.py +0 -0
  64. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/ast/utils.py +0 -0
  65. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/code_generation.py +0 -0
  66. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/__init__.py +0 -0
  67. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/large_query_breakdown.py +0 -0
  68. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/query_generator.py +0 -0
  69. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/repeated_subquery_elimination.py +0 -0
  70. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/utils.py +0 -0
  71. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/__init__.py +0 -0
  72. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/datasource_reader.py +0 -0
  73. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/datasource_typing.py +0 -0
  74. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/dbms_dialects/__init__.py +0 -0
  75. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/dbms_dialects/base_dialect.py +0 -0
  76. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/dbms_dialects/databricks_dialect.py +0 -0
  77. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/dbms_dialects/mysql_dialect.py +0 -0
  78. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/dbms_dialects/oracledb_dialect.py +0 -0
  79. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/dbms_dialects/postgresql_dialect.py +0 -0
  80. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/dbms_dialects/sqlite3_dialect.py +0 -0
  81. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/dbms_dialects/sqlserver_dialect.py +0 -0
  82. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/__init__.py +0 -0
  83. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/databricks_driver.py +0 -0
  84. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/oracledb_driver.py +0 -0
  85. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/psycopg2_driver.py +0 -0
  86. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/pymsql_driver.py +0 -0
  87. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/pyodbc_driver.py +0 -0
  88. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/sqlite_driver.py +0 -0
  89. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/jdbc.py +0 -0
  90. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/utils.py +0 -0
  91. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/debug_utils.py +0 -0
  92. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/error_message.py +0 -0
  93. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/open_telemetry.py +0 -0
  94. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/packaging_utils.py +0 -0
  95. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/proto/generated/__init__.py +0 -0
  96. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/proto/generated/ast_pb2.py +0 -0
  97. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/proto/generated/ast_pb2.pyi +0 -0
  98. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/select_projection_complexity_utils.py +0 -0
  99. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/snowpark_profiler.py +0 -0
  100. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/temp_table_auto_cleaner.py +0 -0
  101. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/utils.py +0 -0
  102. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/xml_reader.py +0 -0
  103. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/xpath_handlers.py +0 -0
  104. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/async_job.py +0 -0
  105. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/catalog.py +0 -0
  106. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/column.py +0 -0
  107. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_ai_functions.py +0 -0
  108. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_analytics_functions.py +0 -0
  109. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_na_functions.py +0 -0
  110. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_profiler.py +0 -0
  111. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_writer.py +0 -0
  112. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/exceptions.py +0 -0
  113. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/file_operation.py +0 -0
  114. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/files.py +0 -0
  115. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/lineage.py +0 -0
  116. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/__init__.py +0 -0
  117. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_constants.py +0 -0
  118. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_nop_analyzer.py +0 -0
  119. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_nop_connection.py +0 -0
  120. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_nop_plan.py +0 -0
  121. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_options.py +0 -0
  122. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_pandas_util.py +0 -0
  123. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_plan_builder.py +0 -0
  124. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_snowflake_data_type.py +0 -0
  125. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_snowflake_to_pandas_converter.py +0 -0
  126. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_stage_registry.py +0 -0
  127. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_stored_procedure.py +0 -0
  128. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_telemetry.py +0 -0
  129. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_udaf.py +0 -0
  130. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_udf.py +0 -0
  131. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_udf_utils.py +0 -0
  132. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_udtf.py +0 -0
  133. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_util.py +0 -0
  134. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_window_utils.py +0 -0
  135. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/exceptions.py +0 -0
  136. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/__init__.py +0 -0
  137. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/config/__init__.py +0 -0
  138. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/config/__main__.py +0 -0
  139. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/config/envvars.py +0 -0
  140. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/config/pubsub.py +0 -0
  141. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/conftest.py +0 -0
  142. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/__init__.py +0 -0
  143. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/__init__.py +0 -0
  144. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/aggregation_utils.py +0 -0
  145. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/align_utils.py +0 -0
  146. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/apply_utils.py +0 -0
  147. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/binary_op_utils.py +0 -0
  148. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/concat_utils.py +0 -0
  149. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/cumulative_utils.py +0 -0
  150. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/cut_utils.py +0 -0
  151. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/frame.py +0 -0
  152. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/generator_utils.py +0 -0
  153. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/get_dummies_utils.py +0 -0
  154. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/groupby_utils.py +0 -0
  155. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/indexing_utils.py +0 -0
  156. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/io_utils.py +0 -0
  157. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/isin_utils.py +0 -0
  158. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/join_utils.py +0 -0
  159. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/ordered_dataframe.py +0 -0
  160. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/pivot_utils.py +0 -0
  161. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/resample_utils.py +0 -0
  162. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/row_count_estimation.py +0 -0
  163. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/session.py +0 -0
  164. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/snowpark_pandas_types.py +0 -0
  165. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/statement_params_constants.py +0 -0
  166. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/telemetry.py +0 -0
  167. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/timestamp_utils.py +0 -0
  168. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/transpose_utils.py +0 -0
  169. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/type_utils.py +0 -0
  170. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/unpivot_utils.py +0 -0
  171. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/utils.py +0 -0
  172. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/where_utils.py +0 -0
  173. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/window_utils.py +0 -0
  174. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_typing.py +0 -0
  175. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/compiler/__init__.py +0 -0
  176. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/compiler/doc_utils.py +0 -0
  177. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/compiler/ray_utils.py +0 -0
  178. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/compiler/snowflake_query_compiler.py +0 -0
  179. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/__init__.py +0 -0
  180. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/base.py +0 -0
  181. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/dataframe.py +0 -0
  182. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/datetime_index.py +0 -0
  183. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/general.py +0 -0
  184. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/groupby.py +0 -0
  185. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/index.py +0 -0
  186. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/io.py +0 -0
  187. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/resample.py +0 -0
  188. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/series.py +0 -0
  189. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/series_utils.py +0 -0
  190. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/shared_docs.py +0 -0
  191. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/timedelta_index.py +0 -0
  192. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/window.py +0 -0
  193. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/__init__.py +0 -0
  194. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/base_overrides.py +0 -0
  195. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/dataframe_extensions.py +0 -0
  196. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/dataframe_groupby_overrides.py +0 -0
  197. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/dataframe_overrides.py +0 -0
  198. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/datetime_index.py +0 -0
  199. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/general_overrides.py +0 -0
  200. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/index.py +0 -0
  201. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/indexing_overrides.py +0 -0
  202. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/io_overrides.py +0 -0
  203. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/pd_extensions.py +0 -0
  204. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/resample_overrides.py +0 -0
  205. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/resampler_groupby_overrides.py +0 -0
  206. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/rolling_groupby_overrides.py +0 -0
  207. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/series_extensions.py +0 -0
  208. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/series_groupby_overrides.py +0 -0
  209. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/series_overrides.py +0 -0
  210. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/snow_partition_iterator.py +0 -0
  211. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/timedelta_index.py +0 -0
  212. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/utils.py +0 -0
  213. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/window_overrides.py +0 -0
  214. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/io/__init__.py +0 -0
  215. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/io/factories.py +0 -0
  216. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/io/snow_io.py +0 -0
  217. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/utils/__init__.py +0 -0
  218. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/utils/error_message.py +0 -0
  219. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/utils/exceptions.py +0 -0
  220. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/utils/frontend_constants.py +0 -0
  221. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/utils/numpy_to_pandas.py +0 -0
  222. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/utils/warning_message.py +0 -0
  223. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/utils.py +0 -0
  224. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/py.typed +0 -0
  225. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/query_history.py +0 -0
  226. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/row.py +0 -0
  227. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/secrets.py +0 -0
  228. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/stored_procedure.py +0 -0
  229. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/stored_procedure_profiler.py +0 -0
  230. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/table.py +0 -0
  231. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/table_function.py +0 -0
  232. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/testing.py +0 -0
  233. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/udaf.py +0 -0
  234. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/udf.py +0 -0
  235. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/udf_profiler.py +0 -0
  236. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/udtf.py +0 -0
  237. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/window.py +0 -0
  238. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake_snowpark_python.egg-info/SOURCES.txt +0 -0
  239. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake_snowpark_python.egg-info/dependency_links.txt +0 -0
  240. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake_snowpark_python.egg-info/namespace_packages.txt +0 -0
  241. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake_snowpark_python.egg-info/not-zip-safe +0 -0
  242. {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake_snowpark_python.egg-info/top_level.txt +0 -0
@@ -1,5 +1,55 @@
1
1
  # Release History
2
2
 
3
+ ## 1.50.0 (2026-04-23)
4
+
5
+ ### Snowpark Python API Updates
6
+
7
+ #### New Features
8
+
9
+ - Added `artifact_repository` support to `udtf_configs` in `session.read.dbapi()`, enabling users to specify a custom artifact repository (e.g. PyPI) for packages used by the internal UDTF during distributed ingestion.
10
+
11
+ #### Bug Fixes
12
+
13
+ - Fixed a bug where `TRY_CAST` reader option is ignored when calling `DataFrameReader.schema().csv()`.
14
+ - Fixed a bug where `event_table_telemetry` is using incorrect resource attributes.
15
+ - Fixed a bug where `value_contains_null` was not propagated for `MapType` in `_as_nested` function.
16
+ - Fixed a bug where CTE optimization incorrectly deduplicated subtrees containing non-deterministic data generation functions (e.g. `uuid_string()`).
17
+ - Fixed a bug where vectorized UDFs using non-anaconda package repositories did not specify the pandas package by default.
18
+
19
+ ### Snowpark pandas API Updates
20
+
21
+ #### Dependency Updates
22
+
23
+ - Updated the supported `pandas` versions to <=2.4 (was previously <=2.3.1).
24
+
25
+ ## 1.49.0 (2026-04-13)
26
+
27
+ ### Snowpark Python API Updates
28
+
29
+ #### New Features
30
+
31
+ - Allow a user-specified schema when reading Parquet files from a stage.
32
+
33
+ #### Improvements
34
+
35
+ - Restored the following query improvements that were reverted in 1.47.0 due to bugs:
36
+ - Reduced the size of queries generated by certain `DataFrame.join` operations.
37
+ - Removed redundant aliases in generated queries (for example, `SELECT "A" AS "A"` is now always simplified to `SELECT "A"`).
38
+ - Removed warning that `DataFrameReader.dbapi` feature was in private preview.
39
+
40
+ #### Bug Fixes
41
+
42
+ - Fixed a bug where `Session.create_dataframe` raised `TypeError` when a `StringType` column was given a non-string Python value (e.g. `int`, `float`, `bool`, `Decimal`) for a small local relation (below the array bind threshold); `VALUES` SQL generation now coerces these types to string literals, consistent with the large-data bind-parameter path.
43
+ - Fixed a bug where `DataFrame.approxQuantile` did not accept a `Column` for the `col` parameter.
44
+
45
+ ### Snowpark Local Testing Updates
46
+
47
+ #### Bug Fixes
48
+
49
+ - Fixed a bug where `concat` produced extra NaN rows and mismatched values after a `filter` operation in local testing.
50
+ - Fixed a bug where `dense_rank()` would fail with `ValueError` on NULL partition values.
51
+ - Fixed a bug where `collect()` raised `KeyError` after `save_as_table(column_order="name")` when the source DataFrame omitted columns with types `VariantType`, `MapType`, or `ArrayType` that were present in the target table schema in local testing.
52
+
3
53
  ## 1.48.1 (2026-03-31)
4
54
 
5
55
  ### Snowpark Python API Updates
@@ -8,6 +58,7 @@
8
58
 
9
59
  - Fixed a bug where chained `DataFrame.filter()` calls with raw SQL text containing `OR` produced incorrect results.
10
60
  - Fixed a Snowflake platform compatibility issue where `concat(lit('"'), ...)` could lose the leading quote through chained set-operation plans.
61
+ - Fixed a bug for XML schema inference session resolution in spark compatible mode.
11
62
 
12
63
  ## 1.48.0 (2026-03-23)
13
64
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-snowpark-python
3
- Version: 1.48.1
3
+ Version: 1.50.0
4
4
  Summary: Snowflake Snowpark for Python
5
5
  Home-page: https://www.snowflake.com/
6
6
  Author: Snowflake, Inc
@@ -33,7 +33,7 @@ Classifier: Topic :: Software Development :: Libraries
33
33
  Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
34
34
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
35
35
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
36
- Requires-Python: >=3.9, <3.14
36
+ Requires-Python: >=3.9, <3.15
37
37
  Description-Content-Type: text/markdown
38
38
  License-File: LICENSE.txt
39
39
  Requires-Dist: setuptools>=40.6.0
@@ -50,7 +50,7 @@ Requires-Dist: snowflake-connector-python[pandas]<5.0.0,>=3.17.0; extra == "pand
50
50
  Provides-Extra: modin
51
51
  Requires-Dist: snowflake-connector-python[pandas]<5.0.0,>=3.17.0; extra == "modin"
52
52
  Requires-Dist: modin<0.38.0,>=0.36.0; extra == "modin"
53
- Requires-Dist: pandas<=2.3.1; extra == "modin"
53
+ Requires-Dist: pandas<=2.4; extra == "modin"
54
54
  Requires-Dist: tqdm; extra == "modin"
55
55
  Requires-Dist: ipywidgets; extra == "modin"
56
56
  Provides-Extra: secure-local-storage
@@ -74,10 +74,11 @@ Requires-Dist: tox; extra == "development"
74
74
  Requires-Dist: snowflake.core<2,>=1.0.0; extra == "development"
75
75
  Requires-Dist: psutil; extra == "development"
76
76
  Requires-Dist: lxml; extra == "development"
77
+ Requires-Dist: pyarrow; extra == "development"
77
78
  Provides-Extra: modin-development
78
79
  Requires-Dist: snowflake-connector-python[pandas]<5.0.0,>=3.17.0; extra == "modin-development"
79
80
  Requires-Dist: modin<0.38.0,>=0.36.0; extra == "modin-development"
80
- Requires-Dist: pandas<=2.3.1; extra == "modin-development"
81
+ Requires-Dist: pandas<=2.4; extra == "modin-development"
81
82
  Requires-Dist: tqdm; extra == "modin-development"
82
83
  Requires-Dist: ipywidgets; extra == "modin-development"
83
84
  Requires-Dist: pytest<8.0.0; extra == "modin-development"
@@ -98,13 +99,14 @@ Requires-Dist: tox; extra == "modin-development"
98
99
  Requires-Dist: snowflake.core<2,>=1.0.0; extra == "modin-development"
99
100
  Requires-Dist: psutil; extra == "modin-development"
100
101
  Requires-Dist: lxml; extra == "modin-development"
101
- Requires-Dist: scipy<=1.16.0; extra == "modin-development"
102
+ Requires-Dist: pyarrow; extra == "modin-development"
103
+ Requires-Dist: scipy<=1.16.3; extra == "modin-development"
102
104
  Requires-Dist: statsmodels; extra == "modin-development"
103
105
  Requires-Dist: scikit-learn; extra == "modin-development"
104
106
  Requires-Dist: plotly<6.0.0; extra == "modin-development"
105
107
  Requires-Dist: snowflake-ml-python>=1.8.0; python_version < "3.12" and extra == "modin-development"
106
108
  Requires-Dist: s3fs; extra == "modin-development"
107
- Requires-Dist: ray; extra == "modin-development"
109
+ Requires-Dist: ray; python_version < "3.14" and extra == "modin-development"
108
110
  Provides-Extra: localtest
109
111
  Requires-Dist: pandas; extra == "localtest"
110
112
  Requires-Dist: requests; extra == "localtest"
@@ -32,7 +32,7 @@ INSTALL_REQ_LIST = [
32
32
  "python-dateutil", # Snowpark IR
33
33
  "tzlocal", # Snowpark IR
34
34
  ]
35
- REQUIRED_PYTHON_VERSION = ">=3.9, <3.14"
35
+ REQUIRED_PYTHON_VERSION = ">=3.9, <3.15"
36
36
 
37
37
  if os.getenv("SNOWFLAKE_IS_PYTHON_RUNTIME_TEST", False):
38
38
  REQUIRED_PYTHON_VERSION = ">=3.9"
@@ -43,7 +43,7 @@ PANDAS_REQUIREMENTS = [
43
43
  MODIN_REQUIREMENTS = [
44
44
  *PANDAS_REQUIREMENTS,
45
45
  f"modin{MODIN_DEPENDENCY_VERSION}",
46
- "pandas<=2.3.1",
46
+ "pandas<=2.4",
47
47
  "tqdm", # For progress bars during backend switching
48
48
  "ipywidgets", # For enhanced progress bars in Jupyter notebooks
49
49
  ]
@@ -66,12 +66,13 @@ DEVELOPMENT_REQUIREMENTS = [
66
66
  "snowflake.core>=1.0.0, <2", # Catalog
67
67
  "psutil", # testing for telemetry
68
68
  "lxml", # used in XML reader unit tests
69
+ "pyarrow", # used in dataframe reader tests
69
70
  ]
70
71
  MODIN_DEVELOPMENT_REQUIREMENTS = [
71
72
  # Snowpark pandas 3rd party library testing. Cap the scipy version because
72
73
  # Snowflake cannot find newer versions of scipy for python 3.11+. See
73
74
  # SNOW-2452791.
74
- "scipy<=1.16.0",
75
+ "scipy<=1.16.3",
75
76
  "statsmodels", # Snowpark pandas 3rd party library testing
76
77
  "scikit-learn", # Snowpark pandas 3rd party library testing
77
78
  # plotly version restricted due to foreseen change in query counts in version 6.0.0+
@@ -80,7 +81,8 @@ MODIN_DEVELOPMENT_REQUIREMENTS = [
80
81
  # snowflake-ml-python is available on python 3.12.
81
82
  "snowflake-ml-python>=1.8.0; python_version<'3.12'",
82
83
  "s3fs", # Used in tests that read CSV files from s3
83
- "ray", # Used in data movement tests
84
+ # ray currently has no compatible wheels for Python 3.14.
85
+ "ray; python_version<'3.14'", # Used in data movement tests
84
86
  ]
85
87
 
86
88
  # read the version
@@ -763,10 +763,18 @@ class Analyzer:
763
763
  for k, v in df_alias_dict.items():
764
764
  if v == expr.child.name:
765
765
  df_alias_dict[k] = updated_due_to_inheritance # type: ignore
766
+ origin = self.analyze(
767
+ expr.child, df_aliased_col_name_to_real_col_name, parse_local_name
768
+ )
769
+ if (
770
+ isinstance(expr.child, (Attribute, UnresolvedAttribute))
771
+ and origin == quoted_name
772
+ ):
773
+ # If the column name matches the target of the alias (`quoted_name`),
774
+ # we can directly emit the column name without an AS clause.
775
+ return origin
766
776
  return alias_expression(
767
- self.analyze(
768
- expr.child, df_aliased_col_name_to_real_col_name, parse_local_name
769
- ),
777
+ origin,
770
778
  quoted_name,
771
779
  )
772
780
 
@@ -401,6 +401,16 @@ def to_sql(
401
401
  else str_to_sql(value)
402
402
  )
403
403
 
404
+ if isinstance(datatype, StringType) and isinstance(
405
+ value, (bool, int, float, Decimal)
406
+ ):
407
+ # Coerce common Python scalars to str so that VALUES and bind-param
408
+ # paths produce identical string representations. bool is a subclass
409
+ # of int so it must be checked first. Use lowercase for bools to
410
+ # match Snowflake's BOOLEAN::STRING cast semantics.
411
+ s = str(value).lower() if isinstance(value, bool) else str(value)
412
+ return to_sql(s, datatype, from_values_statement=from_values_statement)
413
+
404
414
  if isinstance(datatype, _IntegralType):
405
415
  return f"{value} :: INT"
406
416
 
@@ -2,7 +2,6 @@
2
2
  # Copyright (c) 2012-2025 Snowflake Computing Inc. All rights reserved.
3
3
  #
4
4
 
5
- import copy
6
5
  import uuid
7
6
  from typing import TYPE_CHECKING, AbstractSet, Any, Dict, List, Optional, Tuple
8
7
 
@@ -158,7 +157,9 @@ class NamedExpression:
158
157
  return self._expr_id
159
158
 
160
159
  def __copy__(self):
161
- new = copy.copy(super())
160
+ cls = self.__class__
161
+ new = cls.__new__(cls)
162
+ new.__dict__.update(self.__dict__)
162
163
  new._expr_id = None # type: ignore
163
164
  return new
164
165