pyjanitor icon indicating copy to clipboard operation
pyjanitor copied to clipboard

[INF] Test with multiple versions of important packages

Open hectormz opened this issue 5 years ago • 2 comments

Brief Description

I think it would be a good idea to test on multiple versions of important packages that pyjanitor/its users rely on. This came to light via #674. For some packages in requirements.txt, we only provide minimum package versions:

numpy>=1.14.1
pandas>=0.24.0

I think it would be wise when running tests on Azure to run both the minimum package version, and the most recent, and assume that has enough coverage.

I believe this could normally be handled with something like tox or nox. But I'm not sure those options work with conda (which we use on Azure). But there is tox-conda which might work.

Currently, I believe when running the tests on Azure, the latest packages allowed are used. So on at least one of the environements (linux?) we could then run the lowest allowed versions of numpy and pandas, or make a more complicated matrix if other packages should be considered as well.

This might be especially relevant now that pandas is beyond 1.0.0.

hectormz avatar Jun 16 '20 04:06 hectormz

@hectormz thanks for raising this! It's an important point.

Perhaps there should be a dependency guarantee guideline (hesitant to make it "policy" before knowing how this will play out). Something like "last two minor versions only"? Or follow NEP29? What are your thoughts here?

ericmjl avatar Jun 18 '20 01:06 ericmjl

I don't have the answer, but it's something to think about and discuss. We could survey The devs on this. The devs are not average users, but it would be nice to understand how people use pyjaniyor. Are users of this package usually in the bleeding edge of versions, or are there reasons they use older packages?

I've actually been thinking of NEP29 lately because it is dropping Python3.6 support on June 23, and I wondered what we think about that. I believe python 3.8 has been unofficially supported for some time, but not officially since it is not in our testing pipeline.

hectormz avatar Jun 18 '20 02:06 hectormz