snowflakedb / snowflakedb/snowpark-python

SNOW-870764: [BUG] stored procedure not getting created for 'prophet==1.0.1' and python RUNTIME_VERSION = '3.9'

Open
#951 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug triaged
Dominant language
Python
Stars
341
Forks
155
Avg merge
4d 16h
Merged PRs (30d)
27

Description

Please answer these questions before submitting your issue. Thanks!

  1. What version of Python are you using?
    python 3.9

  2. What operating system and processor architecture are you using?

    Linux-5.4.0-150-generic-x86_64-with-glibc2.27

  3. What are the component versions in the environment (pip freeze)?

cmdstanpy==0.9.68
contourpy==1.1.0
convertdate==2.4.0
cycler==0.11.0
Cython==3.0.0
ephem==4.1.4
fonttools==4.41.0
holidays==0.29
importlib-resources==6.0.0
kiwisolver==1.4.4
LunarCalendar==0.0.9
matplotlib==3.7.2
numpy==1.25.1
packaging==23.1
pandas==2.0.3
Pillow==10.0.0
prophet==1.0.1
PyMeeus==0.5.12
pyparsing==3.0.9
pystan==2.19.1.1
python-dateutil==2.8.2
pytz==2023.3
setuptools-git==1.2
six==1.16.0
tqdm==4.65.0
tzdata==2023.3
ujson==5.8.0
zipp==3.16.2

  1. What did you do?

-Not able to create a stored procedures with python RUNTIME_VERSION = '3.9' and
with package as follows :
PACKAGES = ('snowflake-snowpark-python==1.5.1', 'prophet==1.0.1')

Ex. :

CREATE OR REPLACE PROCEDURE TABLE_PERF.PUBLIC.ABC_646F16C2BC7D06632D39BD08_MODEL("ARG1" OBJECT, "ARG2" OBJECT, "ARG3" OBJECT)
RETURNS OBJECT
LANGUAGE PYTHON
RUNTIME_VERSION = '3.9'
PACKAGES = ('snowflake-snowpark-python==1.5.1', 'prophet==1.0.1')
HANDLER = 'udf_py_768855298.compute'
IMPORTS = ('eg.zip')
EXECUTE AS OWNER
;

getting following error in stored procedure creation.
[ Cannot create a Python function with the specified packages. Please check your packages specification and try again. 'One or more package conflicts were detected.'. ]

  1. What did you expect to see?

    stored procedure should get created with python RUNTIME_VERSION = '3.9' ,
    and following packages
    PACKAGES = ('snowflake-snowpark-python==1.5.1', 'prophet==1.0.1')

  2. Can you set logging to DEBUG and collect the logs?

    import logging
    
    for logger_name in ('snowflake.snowpark', 'snowflake.connector'):
        logger = logging.getLogger(logger_name)
        logger.setLevel(logging.DEBUG)
        ch = logging.StreamHandler()
        ch.setLevel(logging.DEBUG)
        ch.setFormatter(logging.Formatter('%(asctime)s - %(threadName)s %(filename)s:%(lineno)d - %(funcName)s() - %(levelname)s - %(message)s'))
        logger.addHandler(ch)
    

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the package-conflict error with the reported Python 3.9 environment and the CREATE PROCEDURE statement using snowflake-snowpark-python==1.5.1 and prophet==1.0.1. Investigate the package resolution or stored-procedure creation path; done means the procedure is created successfully with the specified runtime and packages.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-engineering, database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.