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
MAINT: Drop Python3.7 from supported versions. #19665
Conversation
LGTM is going to be a problem, it is stuck on ubuntu 19.10 which has Python 3.7 as the default. They seem to be falling behind the latest releases pretty badly and I can see this being a continuing problem going forward. Should we suspend it? That might cause a long wait if we enable it again, as I think it plays catch up by doing all the missed runs. Is there something better? Do we need it? |
82e612d
to
a6c9ff7
Compare
I think we should drop LGTM. Was there a PR that was improved due to its output over the past year or so? |
I can't think of one :) The alerts are good for code cleanup, but I think there are standalone applications that might do as well. AFAICT, Semmle is more interested in their corporate version. Let me make a post on the mailing list to see if anyone complains. |
@jhelie Do you still have any connection with LGTM? If so, could you comment on the chance of having Python 3.8+ available for the C builds? |
Hi @charris, thanks for the ping. Yes, let me see if I can get a member of the Python team to get back to you on this. |
#- uses: actions/setup-python@v2 | ||
#with: | ||
#python-version: pypy-3.7-v7.3.4 | ||
#- uses: ./.github/actions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hopefully we can turn this back on with pypy-3.8 soonish
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that's why I commented it out instead of deleting.
I think gcc 4.8.5 is still the default version on CentOS7 (EOL 2024-07)see issue #14147. With that, it is pretty easy to get a more recent version of gcc. Maybe we should leave that one commented out for a while rather than remove it, just in case we get pushback. |
a6c9ff7
to
680ede7
Compare
Done. |
We are going to drop Python 3.7 in NumPy 1.22.x as it causes problems for new features that require 3.8+.
680ede7
to
0f1aea6
Compare
I think this will break downstream packages wanting to test our latest builds against their packages, so they too will have to drop 3.7 right? |
They can't use the latest builds running 3.7. Pandas, IIRC, is dropping 3.7 in their next release. By the schedule, anyone releasing after Dec 26 should be dropping 3.7. EDIT: I already dropped 3.7 nightly builds, I should probably drop earlier builds so that we can elicit complaints. |
Hi 👋 I'm part of the team at GitHub that works on CodeQL and maintains LGTM.com (GitHub bought Semmle, the company which ran LGTM.com, in 2019). We're planning to upgrade the dev environment to Ubuntu 20.04 at some point in this quarter, which will make Python 3.8 available. I have 2 ideas for workarounds until then:
|
@RasmusWL Thanks for getting back to us. It sounds like waiting for the upgrade is the easiest path forward. What are your plans for future upgrades? The Python scientific stack has settled on supporting Python versions for around 42 months, so we will be dropping older versions on a yearly basis if Python continues with yearly releases. |
Indeed, you could wait until the upgrade to 20.04. To have greater flexibility and choice in the OSes that are used for the analysis, I would recommend that you switch to GitHub Code Scanning. It uses the same CodeQL engine and queries, and integrates straight into your development workflow on GitHub. (sorry for the late reply, I was down with heavy fever after getting my covid vaccine) |
This drops Python 3.7 for NumPy 1.22.x. The following changes are made
Note that testing of gcc48 is dropped. Does that matter anymore?
EDIT: I temporarily left the version check in setup.py to 3.7+ to work around LGTM. If LGTM isn't updated by release time we will need to drop it.