Closed tylerjereddy closed 1 week ago
Hi @tylerjereddy! Thanks for making this PR. We linted your code and found the following:
Some issues were found with the formatting of your code. | Code Location | Outcome |
---|---|---|
main package | ⚠️ Possible failure | |
testsuite | ⚠️ Possible failure |
Please have a look at the darker-main-code
and darker-test-code
steps here for more details: https://github.com/MDAnalysis/mdanalysis/actions/runs/9625990228/job/26551462207
Please note: The black
linter is purely informational, you can safely ignore these outcomes if there are no flake8 failures!
some of our Windows deps may also not have NumPy 2 compatible releases yet, need to check on that
Attention: Patch coverage is 42.85714%
with 8 lines
in your changes missing coverage. Please review.
Project coverage is 93.57%. Comparing base (
d2d9d27
) to head (7fd4925
). Report is 2 commits behind head on develop.
Files | Patch % | Lines |
---|---|---|
package/MDAnalysis/converters/ParmEd.py | 33.33% | 5 Missing and 1 partial :warning: |
package/MDAnalysis/converters/RDKit.py | 60.00% | 1 Missing and 1 partial :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
For pytng
errors, I think the cross-listed PR is roughly what we'd want to do there. Even if there's no bandwidth for a release for pytng
(let alone MDA) for a bit, we could perhaps point to the GitHub master
branch of pytng
for installs in our CI here (i.e., point pip
at the GitHub repo) to keep that testing active rather than disabling pytng
testing here.
There may be a few other test failures here to check, but the pytng
ones stood out first.
I've adjusted the original comment to not close the matching issue, since this may be a step in the right direction, but we may need to check other deps/things a bit still.
I restarted the failed Azure jobs to see if the new pytng
release helps the situation a bit.
Looking at the logs, in terms of our dependencies, I'd say parmed
seems to have moderate issues with NumPy 2 (they need to adjust their array copy semantics a bit like we did). RDKit
seems to have a more serious problem, resulting in hard crashes against NumPy 2. Both projects probably need a new release to support.
@tylerjereddy sorry I'm going to word this terribly - these are optional dependencies, is there a path you can see here where we stick to 1.x if you need these optional dependencies and 2+ if you don't? I guess in we'd effectively need two packages with different pins?
My view is that this doesn't seem like it would work, but I've put all of five minutes of thought into it.
Hello @tylerjereddy! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:
testsuite/MDAnalysisTests/util.py
:Line 42:1: E402 module level import not at top of file Line 43:1: E402 module level import not at top of file
@IAlibay I think the best I can suggest is to skip the related tests/imports for parmed
and rdkit
under NumPy 2 until they have compatible releases available.
I pushed in a sample commit that seems to allow the testsuite to pass locally with NumPy 2. Looking at the results in CI here, the only test failure is test_creating_multiple_universe_without_offset
, which I believe is a known issue/flake.
That doesn't mean the MDA team will like this, but I pushed it in so you can take a look. Maybe not too painful?
@IAlibay I think the best I can suggest is to skip the related tests/imports for
parmed
andrdkit
under NumPy 2 until they have compatible releases available.I pushed in a sample commit that seems to allow the testsuite to pass locally with NumPy 2. Looking at the results in CI here, the only test failure is
test_creating_multiple_universe_without_offset
, which I believe is a known issue/flake.That doesn't mean the MDA team will like this, but I pushed it in so you can take a look. Maybe not too painful?
O wow thanks a bunch for digging into this @tylerjereddy ! I don't mind this solution, it's not "clean", but it's the "cleanest" I think we can do here - rdkit will update eventually, parmed might not and there's nothing we can do about that.
Thanks @tylerjereddy - going with the merge!
Related to #4619
We should build against NumPy
2.0.0
so that we're backwards compatible to NumPy1.x
while still supporting 2.x series. This is simpler to maintain as well. In theory, should support as far back as NumPy1.19
if we needed it.PR Checklist
Developers certificate of origin
📚 Documentation preview 📚: https://mdanalysis--4620.org.readthedocs.build/en/4620/