Skip to content

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

@a-recknagel

Description

@a-recknagel
  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.

Metadata

Metadata

Assignees

Labels

status-triage_doneInitial triage done, will be further handled by the driver team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions