1.29.0 (2025-03-05)
Snowpark Python API Updates
New Features
- Added support for the following AI-powered functions in
functions.py
(Private Preview):ai_filter
ai_agg
summarize_agg
- Added support for the new FILE SQL type support, with the following related functions in
functions.py
(Private Preview):fl_get_content_type
fl_get_etag
fl_get_file_type
fl_get_last_modified
fl_get_relative_path
fl_get_scoped_file_url
fl_get_size
fl_get_stage
fl_get_stage_file_url
fl_is_audio
fl_is_compressed
fl_is_document
fl_is_image
fl_is_video
- Added support for importing third-party packages from PyPi using Artifact Repository (Private Preview):
- Use keyword arguments
artifact_repository
andartifact_repository_packages
to specify your artifact repository and packages respectively when registering stored procedures or user defined functions. - Supported APIs are:
Session.sproc.register
Session.udf.register
Session.udaf.register
Session.udtf.register
functions.sproc
functions.udf
functions.udaf
functions.udtf
functions.pandas_udf
functions.pandas_udtf
- Use keyword arguments
Bug Fixes
- Fixed a bug where creating a Dataframe with large number of values raised
Unsupported feature 'SCOPED_TEMPORARY'.
error if thread-safe session was disabled. - Fixed a bug where
df.describe
raised internal SQL execution error when the dataframe is created from reading a stage file and CTE optimization is enabled. - Fixed a bug where
df.order_by(A).select(B).distinct()
would generate invalid SQL when simplified query generation was enabled usingsession.conf.set("use_simplified_query_generation", True)
.- Disabled simplified query generation by default.
Improvements
- Improved version validation warnings for
snowflake-snowpark-python
package compatibility when registering stored procedures. Now, warnings are only triggered if the major or minor version does not match, while bugfix version differences no longer generate warnings. - Bumped cloudpickle dependency to also support
cloudpickle==3.0.0
in addition to previous versions.
Snowpark Local Testing Updates
New Features
- Added support for literal values to
range_between
window function.
Snowpark pandas API Updates
Improvements
- Improve error message for
pd.to_snowflake
,DataFrame.to_snowflake
, andSeries.to_snowflake
when the table does not exist. - Improve readability of docstring for the
if_exists
parameter inpd.to_snowflake
,DataFrame.to_snowflake
, andSeries.to_snowflake
. - Improve error message for all pandas functions that use UDFs with Snowpark objects.
Bug Fixes
- Fixed a bug in
Series.rename_axis
where anAttributeError
was being raised. - Fixed a bug where
pd.get_dummies
didn't ignore NULL/NaN values by default. - Fixed a bug where repeated calls to
pd.get_dummies
results in 'Duplicated column name error'. - Fixed a bug in
pd.get_dummies
where passing list of columns generated incorrect column labels in output DataFrame. - Update
pd.get_dummies
to return bool values instead of int.