snowflakedb / snowflakedb/snowpark-python

SNOW-2174388: Remove upper bound for python from package metadata

Open
#3,489 6 comments 0 reactions 1 assignee View on GitHub

@sfc-gh-jrose is already working on this.

Since Mar 19, 2026.

status-triage_done
Dominant language
Python
Stars
341
Forks
155
Avg merge
4d 16h
Merged PRs (30d)
27

Description

  1. What version of Python are you using?

    Python 3.12.1 (main, Jan 26 2024, 16:46:43) [GCC 11.3.0]

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

    Linux-6.6.87.2-microsoft-standard-WSL2-x86_64-with-glibc2.35

  3. What did you do?

    I'm using poetry to manage my python environment. I tried to install snowflake-snowpark-python into a project that has, among other things, the following section in its pyproject.toml

[tool.poetry.dependencies]
python = ">=3.10"

When I run poetry add snowflake-snowpark-python, I'm getting a dependency resolution error:

Resolving dependencies... (5.5s)

The current project's supported Python range (>=3.10) is not compatible with some of the required packages Python requirement:
  - snowflake-snowpark-python requires Python <3.13,>=3.9, so it will not be installable for Python >=3.13

Because no versions of snowflake-snowpark-python match >1.33.0,<2.0.0
 and snowflake-snowpark-python (1.33.0) requires Python <3.13,>=3.9, snowflake-snowpark-python is forbidden.
So, because auxiliary depends on snowflake-snowpark-python (^1.33.0), version solving failed.

  * Check your dependencies Python requirement: The Python requirement can be specified via the `python` or `markers` properties

    For snowflake-snowpark-python, a possible solution would be to set the `python` property to ">=3.10,<3.13"
  1. What did you expect to see?

    Given that I'm running python 3.12 which works for both my versions constraints as well as snowpark's, I expected a valid version to get installed.

I'm not entirely sure if this issue is on poetry end or on yours, but either way, putting an upper bound for allowed versions on a package which may be used as a library in other distributions is an antipattern. Would it be possible to remove it? It's not like it does anything useful.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.