Skip to content

MAINT: Drop Python 3.9 #26222

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

Merged
merged 1 commit into from
Apr 10, 2024
Merged

MAINT: Drop Python 3.9 #26222

merged 1 commit into from
Apr 10, 2024

Conversation

charris
Copy link
Member

@charris charris commented Apr 7, 2024

Drop Python 3.9 from the supported Python versions and CI.
Cygwin is excepted because it does not yet support 3.10.

@charris
Copy link
Member Author

charris commented Apr 7, 2024

I've disabled the Cygwin workflow because it is failing the build with the new pyproject.toml. Cygwin plans to skip
to Python 3.12 in the near future.

Only python 3.8 and 3.9 are updated.
Python 2, 3.6 and 3.7 are not anymore supported upstream.
Python 3.12 will be in the near future introduced and we will skip 3.10 
and 3.11 

- env:
CIRRUS_CLONE_SUBMODULES: true
CIBW_BUILD: cp39-*
EXPECT_CPU_FEATURES: NEON NEON_FP16 NEON_VFPV4 ASIMD ASIMDHP ASIMDDP ASIMDFHM
- env:
Copy link
Member Author

Choose a reason for hiding this comment

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

Do we want to move the EXPECT_CPU_FEATURES line to the 3.10 test?

Copy link
Member

@andyfaff andyfaff Apr 7, 2024

Choose a reason for hiding this comment

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

It wasn't clear to me when I was modifying the ci where these are actually used. It was left over from Travis ci configs

@ngoldbaum
Copy link
Member

Not sure why, but it looks like the freebsd tests didn't trigger on this PR and did on #26243. Those tests will need to be updated because freebsd defaults to python3.9.

@charris
Copy link
Member Author

charris commented Apr 9, 2024

because freebsd defaults to python3.9.

Maybe pkg install -y python310 in the virtual environment?

@charris charris changed the title MAINT: Drop Python 3.9 [wheel build] MAINT: Drop Python 3.9 Apr 9, 2024
@ngoldbaum
Copy link
Member

Maybe pkg install -y python310 in the virtual environment?

Yeah, I think you need to explicitly install python3.10 then e.g. use a python3.10 binary explicitly for the rest of the script. Also it looks like 3.11 is packaged, so you could use that too.

@ngoldbaum ngoldbaum mentioned this pull request Apr 9, 2024
@charris
Copy link
Member Author

charris commented Apr 9, 2024

it looks like the freebsd tests didn't trigger on this PR

Looks like removing the [wheel build] fixes that, so there is a logic error somewhere.

@charris
Copy link
Member Author

charris commented Apr 9, 2024

Should be good to go.

Copy link
Member

@mattip mattip left a comment

Choose a reason for hiding this comment

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

Two small nits, otherwise LGTM

Drop Python 3.9 from the supported Python versions and CI.

Python 3.9 is still used in the Cygwin build test because Cygwin
does not yet support 3.10.
@charris charris merged commit debafca into numpy:main Apr 10, 2024
61 checks passed
@DWesl
Copy link
Contributor

DWesl commented Apr 10, 2024

I've disabled the Cygwin workflow because it is failing the build with the new pyproject.toml. Cygwin plans to skip to Python 3.12 in the near future.

Only python 3.8 and 3.9 are updated.
Python 2, 3.6 and 3.7 are not anymore supported upstream.
Python 3.12 will be in the near future introduced and we will skip 3.10 
and 3.11 

Source for Python update plans.

It looks like CPython dropped some Cygwin-specific sections a few years back, and are aware the current build system is hard to change, so getting a new version of Python working on Cygwin might take longer than usual.

In the meantime, I think I saw mentions of CI runs on BSD, which should keep Cygwin from breaking too badly. I think SIMD stack alignment issues would be the main difference from Linux they wouldn't notice.

For the question from #26244, I suspect dropping Cygwin will make the other platforms simpler. I'll be back whenever a test version of 3.12 comes out to figure out how to get CI to use that (either cygwin/cygwin-install-action#12 or the version-specifications of egor-tensin/setup-python).

janosh added a commit to CederGroupHub/chgnet that referenced this pull request Sep 16, 2024
janosh added a commit to CederGroupHub/chgnet that referenced this pull request Sep 16, 2024
* bump min supported python to 3.10

following numpy and pymatgen
numpy/numpy#26222
materialsproject/pymatgen#4009

* pass strict=True to zip() added in python 3.10

safer, since it errors if iterables have different lengths

* fix UP038 Use `X | Y` in `isinstance` call instead of `(X, Y)`
@zanieb zanieb mentioned this pull request Dec 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants