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

Try 3.12.0-rc1 #4265

wants to merge 8 commits into from

Conversation

IAlibay
Copy link
Member

@IAlibay IAlibay commented Aug 28, 2023

Fixes #

Changes made in this Pull Request:

PR Checklist

  • Tests?
  • Docs?
  • CHANGELOG updated?
  • Issue raised/referenced?

Developers certificate of origin


📚 Documentation preview 📚: https://mdanalysis--4265.org.readthedocs.build/en/4265/

@github-actions
Copy link

github-actions bot commented Aug 28, 2023

Linter Bot Results:

Hi @IAlibay! Thanks for making this PR. We linted your code and found the following:

There are currently no issues detected! 🎉

@codecov
Copy link

codecov bot commented Aug 28, 2023

Codecov Report

Patch and project coverage have no change.

Comparison is base (427f1a7) 93.40% compared to head (22d50fe) 93.40%.

Additional details and impacted files
@@            Coverage Diff             @@
##           develop    #4265     +/-   ##
==========================================
  Coverage    93.40%   93.40%             
==========================================
  Files          170      184     +14     
  Lines        22257    23365   +1108     
  Branches      4071     4071             
==========================================
+ Hits         20790    21825   +1035     
- Misses         951     1024     +73     
  Partials       516      516             

see 14 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@IAlibay
Copy link
Member Author

IAlibay commented Aug 29, 2023

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).

@@ -17,7 +17,7 @@ requires = [
# For unreleased versions of Python there is currently no known supported
# NumPy version. In that case we just let it be a bare NumPy install
"numpy<2.0; python_version>='3.12'",
"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.

@IAlibay IAlibay closed this Sep 19, 2023
@IAlibay IAlibay reopened this Sep 19, 2023
@IAlibay
Copy link
Member Author

IAlibay commented Sep 19, 2023

Cycling for CI now that 1.26 is out.

.github/workflows/gh-ci-cron.yaml Outdated Show resolved Hide resolved
package/pyproject.toml Outdated Show resolved Hide resolved
package/pyproject.toml Outdated Show resolved Hide resolved
package/pyproject.toml Outdated Show resolved Hide resolved
@IAlibay
Copy link
Member Author

IAlibay commented Sep 20, 2023

Ok there's a lot of issues to digest and deal with, Py312 is going to be interesting...

@tylerjereddy
Copy link
Member

If there is anything upstream that causes friction feel free to ping me to look at it.

@IAlibay
Copy link
Member Author

IAlibay commented Sep 22, 2023

If there is anything upstream that causes friction feel free to ping me to look at it.

Thanks @tylerjereddy - I think for the most part we're only just struggling with some cpython changes that are catching out a few things, primarily pickle.

@IAlibay IAlibay closed this Oct 12, 2023
@IAlibay IAlibay deleted the py3.12_rc branch October 12, 2023 02:55
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.

2 participants