Nexus: Initial NumPy 2 support#5215
Merged
Merged
Conversation
Contributor
|
I think we might be able to consolidate the changes (and make them generally available) by introducing a single function: For most of Nexus, this could be placed in versions.py and then called at the top of any affected file like this: The function would have to be duplicated (for independence) in testing.py and called there also. If I'm right, this approach would not require any changes to the body text in Nexus files and also be portable across numpy versions. |
Contributor
Author
|
Thanks for the cleaner suggestion. I reset my original changes and added your function to testing.py... which surprisingly turned out to already be enough due to the wide usage of the testing module. I removed the [WIP] since this is hopefully enough for now. |
ye-luo
approved these changes
Nov 26, 2024
Contributor
|
Test this please |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed changes
This PR is sufficient to have all the nexus tests pass with numpy2 (tested with 2.1.2). Unchanged behavior with 1.26.4 was also verified.
This PR does need some discussion on the preferred way forward and likely needs some reworking. Docs also need updating in a subsequent PR, plus we should have at least a nightly test configuration with numpy2 etc.
There are two classes of update:
Note I missed seeing the official suggested pattern for testing numpy version (
https://numpy.org/doc/stable/numpy_2_0_migration_guide.html#writing-numpy-version-dependent-code ), which could be used to replace the ugly string manipulation I put in a few spots ahead of
set_printoptions(legacy="1.25")I looked at this because as noted in #5050 , numpy was out in June and users will likely hit it before long.
What type(s) of changes does this code introduce?
Does this introduce a breaking change?
What systems has this change been tested on?
sulfur, nightly gcc 14.2 configuration.
Checklist