fair-research / bdbag

Big Data Bag Utilities
https://fair-research.org
Apache License 2.0
49 stars 23 forks source link

bdbag no longer seems to be compatible with python 3.5 #47

Closed kltm closed 2 years ago

kltm commented 2 years ago

Currently, bdbag seems to be listed as compatible with python 3.5 (along with other versions. However, in our recent experience https://github.com/geneontology/pipeline/issues/247, this no longer seems to be the case.

Basically, the latest version of requests no longer supports python 3.5. As the bdbag requirement is anything above requests 2.7.0, by default in many setups, bdbag will no longer operate.

One way around this might be to put an upper bound on requests to 2.25.1.

mikedarcy commented 2 years ago

Looks like this is a result of requests 2.26.0 release from July 13th dropping support for 3.5. Looks like the bdbag TravisCI unit tests missed this, since the Travis 3.5 venv pulled (somehow correctly) 2.25.1.

I realize this is an inconvenience, but as it turns out the next minor release of bdbag (1.7) is slated to drop support for 3.5 altogether. The EOL for 3.5 was one year ago, and the official EOL for 3.6 is actually in three months! Don't worry, I don't have any intention to drop support for 3.6 in December 2021, but certainly 3.5 is old enough now that most upstream dependencies have dropped support either directly or indirectly.

Anyway, this is unfortunate. However, I am reluctant to create another micro point release just to put an upper bound pin on requests<=2.25.1. Can you pin downstream in your environment as a workaround?

If another micro release is required for bdbag before 1.7.0, I will add the upper bound pin and make that release the last release supporting Python 3.5.

kltm commented 2 years ago

@mikedarcy No worries--I just wanted to bring to your attention that 3.5 seems to be having problems, as it's listed as supported. It looks like it's all in the roadmap; we're fine sorting things out (and getting them up to date) at our end. Cheers!

mikedarcy commented 2 years ago

Thanks for bringing it to my attention! I'm a bit miffed it fell through the unit test cracks, TBH.

I think I may well do another point release before 1.7.0 just to do this pin so that there can still be a recent-ish version of bdbag that supports 3.5. It's just that I may not be able to get to it for a while, so I am glad you've got a workaround. I'm going to leave this issue open so that it doesn't get forgotten about.

mikedarcy commented 2 years ago

@kltm I've just released 1.6.3 to PyPi which now includes an environment marker in setup.py:install_requires for requests that will only pull <= requests-2.25.1 if Python==3.5. Hopefully this cleans things up for Python3.5 until we drop support for it in 1.7. You've likely got a workaround in place already but I just wanted to keep you informed.

kltm commented 2 years ago

@mikedarcy While we do indeed have a workaround in place, it's always nice to keep things clean. We'll try and switch over to this and see how it works. Thank you for following up with us!

mikedarcy commented 2 years ago

@kltm If you find that this fix works for you, feel free to close this issue. If I don't hear back from you, at some point I'll close it out myself. Hopefully this takes care of things for you folks. Cheers.