Session.add_requirements(file_path: str) None[source]

Adds a requirement file that contains a list of packages as dependencies of a user-defined function (UDF). This function also supports addition of requirements via a conda environment file.

To use Python packages that are not available in Snowflake, refer to custom_package_usage_config().


file_path – The path of a local requirement file.


>>> from snowflake.snowpark.functions import udf
>>> import numpy
>>> import pandas
>>> # test_requirements.txt contains "numpy" and "pandas"
>>> session.add_requirements("tests/resources/test_requirements.txt")
>>> @udf
... def get_package_name_udf() -> list:
...     return [numpy.__name__, pandas.__name__]
>>> session.sql(f"select {}()").to_df("col1").show()
|"COL1"      |
|[           |
|  "numpy",  |
|  "pandas"  |
|]           |

>>> session.clear_packages()


1. This method will add packages for all UDFs created later in the current session. If you only want to add packages for a specific UDF, you can use packages argument in functions.udf() or session.udf.register().

2. We recommend you to setup the local environment with Anaconda, to ensure the consistent experience of a UDF between your local environment and the Snowflake server.