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.
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/CHANGELOG.md +51 -0
- {snowflake_snowpark_python-1.48.1/src/snowflake_snowpark_python.egg-info → snowflake_snowpark_python-1.50.0}/PKG-INFO +8 -6
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/setup.py +6 -4
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/analyzer.py +11 -3
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/datatype_mapper.py +10 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/expression.py +3 -2
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/select_statement.py +327 -33
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/snowflake_plan.py +14 -4
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/cte_utils.py +42 -1
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/plan_compiler.py +7 -2
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/telemetry_constants.py +5 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/datasource_partitioner.py +2 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/base_driver.py +2 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/event_table_telemetry.py +1 -1
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/server_connection.py +129 -4
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/telemetry.py +42 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/type_utils.py +187 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/udf_utils.py +1 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/xml_schema_inference.py +31 -17
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/context.py +118 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe.py +221 -100
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_reader.py +133 -33
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_stat_functions.py +3 -3
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/functions.py +1 -1
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_analyzer.py +11 -5
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_connection.py +4 -1
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_functions.py +1 -1
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_plan.py +6 -5
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_select_statement.py +2 -2
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/relational_grouped_dataframe.py +10 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/session.py +65 -1
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/types.py +3 -1
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/version.py +1 -1
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0/src/snowflake_snowpark_python.egg-info}/PKG-INFO +8 -6
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake_snowpark_python.egg-info/requires.txt +8 -4
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/LICENSE.txt +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/MANIFEST.in +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/README.md +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/pyproject.toml +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/setup.cfg +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_functions/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_functions/general_functions.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_functions/scalar_functions.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/analyzer_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/binary_expression.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/binary_plan_node.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/grouping_set.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/metadata_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/query_plan_analysis_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/schema_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/snowflake_plan_node.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/sort_expression.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/table_function.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/table_merge_expression.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/unary_expression.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/unary_plan_node.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/analyzer/window_expression.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/ast/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/ast/batch.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/ast/builder.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/ast/utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/code_generation.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/large_query_breakdown.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/query_generator.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/repeated_subquery_elimination.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/compiler/utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/datasource_reader.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/datasource_typing.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/dbms_dialects/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/databricks_driver.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/oracledb_driver.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/psycopg2_driver.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/pymsql_driver.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/pyodbc_driver.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/drivers/sqlite_driver.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/jdbc.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/data_source/utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/debug_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/error_message.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/open_telemetry.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/packaging_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/proto/generated/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/proto/generated/ast_pb2.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/proto/generated/ast_pb2.pyi +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/select_projection_complexity_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/snowpark_profiler.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/temp_table_auto_cleaner.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/xml_reader.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/_internal/xpath_handlers.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/async_job.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/catalog.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/column.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_ai_functions.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_analytics_functions.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_na_functions.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_profiler.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/dataframe_writer.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/exceptions.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/file_operation.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/files.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/lineage.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_constants.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_nop_analyzer.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_nop_connection.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_nop_plan.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_options.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_pandas_util.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_plan_builder.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_snowflake_data_type.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_snowflake_to_pandas_converter.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_stage_registry.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_stored_procedure.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_telemetry.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_udaf.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_udf.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_udf_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_udtf.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_util.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/_window_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/mock/exceptions.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/config/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/config/__main__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/config/envvars.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/config/pubsub.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/conftest.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/aggregation_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/align_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/apply_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/binary_op_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/concat_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/cumulative_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/cut_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/frame.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/generator_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/get_dummies_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/groupby_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/indexing_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/io_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/isin_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/join_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/ordered_dataframe.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/pivot_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/resample_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/row_count_estimation.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/session.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/snowpark_pandas_types.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/statement_params_constants.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/telemetry.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/timestamp_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/transpose_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/type_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/unpivot_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/where_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_internal/window_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/_typing.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/compiler/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/compiler/doc_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/compiler/ray_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/compiler/snowflake_query_compiler.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/base.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/dataframe.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/datetime_index.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/general.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/groupby.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/index.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/io.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/resample.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/series.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/series_utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/shared_docs.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/timedelta_index.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/docstrings/window.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/base_overrides.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/dataframe_extensions.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/dataframe_groupby_overrides.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/dataframe_overrides.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/datetime_index.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/general_overrides.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/index.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/indexing_overrides.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/io_overrides.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/pd_extensions.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/resample_overrides.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/resampler_groupby_overrides.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/rolling_groupby_overrides.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/series_extensions.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/series_groupby_overrides.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/series_overrides.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/snow_partition_iterator.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/timedelta_index.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/extensions/window_overrides.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/io/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/io/factories.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/io/snow_io.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/utils/__init__.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/utils/error_message.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/utils/exceptions.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/utils/frontend_constants.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/utils/numpy_to_pandas.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/plugin/utils/warning_message.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/modin/utils.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/py.typed +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/query_history.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/row.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/secrets.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/stored_procedure.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/stored_procedure_profiler.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/table.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/table_function.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/testing.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/udaf.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/udf.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/udf_profiler.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/udtf.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake/snowpark/window.py +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake_snowpark_python.egg-info/SOURCES.txt +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake_snowpark_python.egg-info/dependency_links.txt +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake_snowpark_python.egg-info/namespace_packages.txt +0 -0
- {snowflake_snowpark_python-1.48.1 → snowflake_snowpark_python-1.50.0}/src/snowflake_snowpark_python.egg-info/not-zip-safe +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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.
|
|
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:
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|