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

Try 3.12.0-rc1 #4265

Closed
wants to merge 8 commits into from
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions .github/workflows/gh-ci-cron.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ on:
schedule:
# 3 am Tuesdays and Fridays
- cron: "0 3 * * 2,5"
pull_request:
branches:
- develop

concurrency:
# Probably overly cautious group naming.
Expand Down Expand Up @@ -184,7 +187,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11"]
python-version: ["3.10", "3.11", "3.12.0-rc.1"]
IAlibay marked this conversation as resolved.
Show resolved Hide resolved
steps:
- uses: actions/checkout@v3

Expand All @@ -199,11 +202,11 @@ jobs:

- name: pip install mdanalysis
run: |
cd package && pip install .
cd package && pip install . -vvv

- name: pip install mdanalysistests
run: |
cd testsuite && pip install .
cd testsuite && pip install . -vvv

- name: install_pip_extras
run: |
Expand Down
2 changes: 1 addition & 1 deletion package/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ requires = [
# For unreleased versions of Python there is currently no known supported
IAlibay marked this conversation as resolved.
Show resolved Hide resolved
# NumPy version. In that case we just let it be a bare NumPy install
"numpy<2.0; python_version>='3.12'",
IAlibay marked this conversation as resolved.
Show resolved Hide resolved
"setuptools",
"setuptools>=68.0",
Copy link
Member

Choose a reason for hiding this comment

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

Ok we're blocked by NumPy funnily enough, they have a pin on a too old version of setuptools for 1.25.2 (it's a weird world).

That doesn't sound right, the first NumPy version to support Python 3.12.0rc1 is the beta release 1.26.0b1 I used to build SciPy wheels, which should drop setuptools for meson.

Two tricky things to consider that should help out:

  1. 3.12 won't pickup the release candidate in pyproject.toml logic so you'll need: NumPy does not install on Python 3.12.0b1 numpy/numpy#23808 (comment)
  2. You may also need PIP_PRE per: NumPy does not install on Python 3.12.0b1 numpy/numpy#23808 (comment)

Anyway, hope that helps, but NumPy shouldn't be holding you back, should just be a matter of the tweaks mentioned there.

Copy link
Member

Choose a reason for hiding this comment

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

That's what I did for example: https://github.com/scipy/scipy/blob/maintenance/1.11.x/pyproject.toml#L50

(actually I'm not sure I should have hard pinned like that, but anyway it worked)

Copy link
Member

Choose a reason for hiding this comment

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

And PIP_PRE is set here: https://github.com/scipy/scipy/blob/maintenance/1.11.x/.github/workflows/wheels.yml#L136

(using that extra index shouldn't be needed anymore though I don't think since the NumPy beta is on PyPI)

Copy link
Member Author

@IAlibay IAlibay Sep 2, 2023

Choose a reason for hiding this comment

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

Thanks @tylerjereddy that's super useful info!

I think here I was mostly looking to see "what bits of upstream are we waiting on for py3.12", rather than adding actual shims to get py3.12 to work.

What I might do is stick the py3.12rc under the nightly wheels cron checks (which turns off build isolation) and see if it works there. If so, we can revisit adding it to normal CI checks when numpy 1.26 comes out.

Edit: nevermind, the nightly wheels cron checks are a full dependency check, there's no way that would work, not with rdkit and openmm in that list.

"wheel",
]

Expand Down
Loading