Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

six 1.16 is not permitted #536

Closed
iamthad opened this issue Mar 12, 2022 · 3 comments
Closed

six 1.16 is not permitted #536

iamthad opened this issue Mar 12, 2022 · 3 comments

Comments

@iamthad
Copy link

iamthad commented Mar 12, 2022

six version 1.16 was released 2021-05-05: https://github.com/benjaminp/six/releases/tag/1.16.0

The basemap package does not permit this version:

six >= 1.10, < 1.16

Is there a reason this version is incompatible, or can the requirements.txt be updated to allow it?

@molinav
Copy link
Member

molinav commented Mar 13, 2022

As far as I know, there should be no incompatibilities. I normally set upper pins just as a precaution, i.e. to be sure that a possible broken release in the dependencies is not propagated to the library (when installing).

In this case with six, I just forgot to increase the upper pin at some point, but it should be safe to increase it (six is quite reliable, e.g. it defines python_requires properly).

@molinav
Copy link
Member

molinav commented Mar 14, 2022

I was reviewing a bit further, and in fact six is only used inside the basemap.cm module to import iteritems:

Later, this iteritems is used to loop over the contents of the colormap dictionaries stored in the same file. Based on how small these dictionaries are, I think that it could be possible to simply use dict.items below and remove the dependency on six:

for key,val in iteritems(data):

@molinav
Copy link
Member

molinav commented Mar 15, 2022

@iamthad After some minor refactoring of matplotlib.cm, the six module is not required anymore as a dependency. Therefore, in the next patch release basemap will not be limiting other packages that try to install the newer six version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants