tableau / server-client-python

A Python library for the Tableau Server REST API
https://tableau.github.io/server-client-python/
MIT License
656 stars 420 forks source link

urllib3 specific version requirement causing dependencies conflict #1445

Open jackexu opened 3 weeks ago

jackexu commented 3 weeks ago

Describe the bug

I was trying to upgrade the version from 0.25 to fix the filename issue per #1312

However, I am not able to upgrade because the requirement of urllib3==2.2.2 is causing dependencies conflict issue with other packages in my environment. Check the history and it seems starting 0.27 version the requirement became very specific.

Do we really need this specific version? Can we make it to urllib3>=2 or exclude versions we don't want to use?

https://github.com/tableau/server-client-python/blob/257cf616f35cc36b24a73e9e102886a52ead1853/pyproject.toml#L18

Versions Details of your environment, including:

jacalata commented 3 weeks ago

Hm. We pinned the specific versions of libraries because we had some breaks from minor version updates. I would like to at least pin the minor version - would 2.2.x be loose enough for you? I expect that there will be some noticeable changes through the life of 2.x

thesuperzapper commented 5 days ago

@jacalata its extremely bad practice to pin a specific version of a one of the most common python libraries in the world.

The only reason why this doesn't make tableauserverclient completely un-installable is because no other package is crazy enough to specify a specific version.

Please use normal constraints like >X.Y.Z,<3 where X.Y.Z is whatever the minimum required version is.

jackexu commented 4 days ago

Agreed with @thesuperzapper If there are versions that have known issue then just exclude them - e.g. >2, <3, !=X.Y.Z