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

Drop Python 3.7 support #1866

Merged
merged 5 commits into from
Jan 17, 2022
Merged

Drop Python 3.7 support #1866

merged 5 commits into from
Jan 17, 2022

Conversation

Anthchirp
Copy link
Member

As requested in the last core meeting here's some advance warning of dropping Python 3.7 support as per DC3.

This change will take effect after the release following the 26th of December 2021.
This pull request will be updated once we can narrow this down further to a specific date range.

After this PR is merged new language features such as := assignment, positional-only parameters in functions, f-string =, etc... become available to developers.

@ndevenish
Copy link
Member

ndevenish commented Aug 27, 2021

I've updated the https://github.com/dials/dials/wiki/Version-Release-History with the planned releases around our shutdown schedule up to March 2022.

This means that 3.8 is due to be released on 2022-01-04, after which point python 3.7 will be dropped.

@dagewa
Copy link
Member

dagewa commented Sep 10, 2021

CCP4 8.0 will have Python 3.7. The following release is planned for later in 2022 and will have Python 3.9.

@Anthchirp Anthchirp marked this pull request as ready for review January 13, 2022 12:14
@codecov
Copy link

codecov bot commented Jan 13, 2022

Codecov Report

Merging #1866 (724a0d7) into main (f099d4b) will decrease coverage by 0.17%.
The diff coverage is n/a.

❗ Current head 724a0d7 differs from pull request most recent head 33b9993. Consider uploading reports for the commit 33b9993 to get more accurate results

@@            Coverage Diff             @@
##             main    #1866      +/-   ##
==========================================
- Coverage   67.35%   67.18%   -0.18%     
==========================================
  Files         627      627              
  Lines       70747    71214     +467     
  Branches    10449    10448       -1     
==========================================
+ Hits        47652    47842     +190     
- Misses      21128    21423     +295     
+ Partials     1967     1949      -18     

Copy link
Contributor

@graeme-winter graeme-winter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to see - helps us stay up to date and avoid the pain we had dropping Python 2.7 etc.

import sys

if sys.version_info.major == 2:
sys.exit("Python 2 is no longer supported")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

\o/

@@ -1264,7 +1264,7 @@ def run():
"--python",
help="Install this minor version of Python (default: %(default)s)",
default="3.9",
choices=("3.7", "3.8", "3.9"),
choices=("3.8", "3.9"),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There a reason we do not allow 3.10 yet?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of packages don't build on 3.10 yet, but yes we can probably enable this in bootstrap

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added 3.10 in this PR. The step currently holding this back is our numpy incompatibility due to cctbx/cctbx_project#627. Other packages that are not yet on 3.10 include eg. bitshuffle (kiyo-masui/bitshuffle#94, conda-forge/bitshuffle-feedstock#22), so you may still want to hold off for a bit.

As not all our dependencies have Python 3.10 builds yet this will likely
fail for another few weeks/months. However, after that you'll benefit
from much improved exception messages and all the other 3.10 goodness.
@ndevenish
Copy link
Member

These new warnings make me wonder if we've been missing things by only running the oldest version in CI

@Anthchirp
Copy link
Member Author

Yes. The reason we only run one version is because building cctbx takes ages. Fix that and (eg. via prebuilt cctbx) then we could build all versions simultaneously while still being faster than before.

@ndevenish ndevenish merged commit 253a544 into main Jan 17, 2022
@ndevenish ndevenish deleted the drop-37 branch January 17, 2022 11:52
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

Successfully merging this pull request may close these issues.

None yet

5 participants