Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ci: Enable testing on Python 3.13#28689

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
timhoffm merged 3 commits intomatplotlib:mainfromQuLogic:py313-tests
Aug 15, 2024
Merged

Conversation

QuLogic
Copy link
Member

PR summary

It works locally mostly, but let's see how things go on CI.

PR checklist

@QuLogicQuLogic added Maintenance CI: testingCI configuration and testing labelsAug 9, 2024
@QuLogic
Copy link
MemberAuthor

QuLogic commentedAug 9, 2024
edited
Loading

Surprised that the only failures are a couple minor RMS differences on one platform only. I wonder if the contour-related tests are because we end up buildingcontourpy from source and use some slightly different options than the release wheels somehow. We also end up buildingnumpy from source as well. I might trying pull those from nightly temporarily.

@QuLogicQuLogicforce-pushed thepy313-tests branch 2 times, most recently fromccc9896 tof96b4f3CompareAugust 9, 2024 04:12
@QuLogic
Copy link
MemberAuthor

QuLogic commentedAug 9, 2024
edited
Loading

Ah, I should have checked which tests first; those all have some increased tolerance onaarch64, so just addedarm64 as well to catch Apple Silicon.

@QuLogicQuLogicforce-pushed thepy313-tests branch 2 times, most recently from4f59013 to55363b6CompareAugust 9, 2024 05:21
@QuLogicQuLogic marked this pull request as ready for reviewAugust 9, 2024 05:51
@neutrinoceros
Copy link
Contributor

Surprised that the only failures are a couple minor RMS differences on one platform only.

Looks suprising at first given the documentation explicitly states that matplotlib isn't thread safehttps://matplotlib.org/stable/users/faq.html#work-with-threads
... but if there are no testsexercising multi-threading, it is maybe not so surprising.

From my downstream point of view, it is still desirable that matplotlib be tested on 3.13t, even with no specific tests, but it will take more work to properly define which use cases are to be supported (thread-safe) and which are not.

To anyone this may interest, I recommend reading throughhttps://py-free-threading.github.io/

@QuLogic
Copy link
MemberAuthor

Surprised that the only failures are a couple minor RMS differences on one platform only.

Looks suprising at first given the documentation explicitly states that matplotlib isn't thread safehttps://matplotlib.org/stable/users/faq.html#work-with-threads ... but if there are no testsexercising multi-threading, it is maybe not so surprising.

Those were failures on 3.13, not 3.13t, so threads are unrelated.

@neutrinoceros
Copy link
Contributor

Ow. My bad ! I don't know why I thought matplotlib was already testing (regular) 3.13. Don't mind me 😅

@tacaswell
Copy link
Member

tacaswell commentedAug 15, 2024
edited
Loading

What is not thread safe is updating the same figure from multiple threads (e.g. updating data in one and drawing in another) because, even with the GIL the methods are not atomic and artists can be in invalid states before the methods return.

However, because we do already drop the GIL in a bunch of places in the extension code we already have low-level locks on the non-Python global state (which is the main thing that the GIL could have been protecting you from because threads can switch after any byte code) so I expect that already-thread-safe usage we will continue to be safe with free threading.

neutrinoceros reacted with heart emoji

@timhoffmtimhoffm merged commit7a2ea1c intomatplotlib:mainAug 15, 2024
43 checks passed
@QuLogicQuLogic deleted the py313-tests branchAugust 15, 2024 19:11
@QuLogic

This comment was marked as duplicate.

@QuLogic
Copy link
MemberAuthor

@meeseeksdev backport to v3.9.x

@lumberbot-appLumberbot (App)
Copy link

Owee, I'm MrMeeseeks, Look at me.

There seem to be a conflict, please backport manually. Here are approximate instructions:

  1. Checkout backport branch and update it.
git checkout v3.9.xgit pull
  1. Cherry pick the first parent branch of the this PR on top of the older branch:
git cherry-pick -x -m1 7a2ea1cf0bd238785eb40d2e4b1713db65b79ede
  1. You will likely have some merge/cherry-pick conflict here, fix them and commit:
git commit -am 'Backport PR #28689: ci: Enable testing on Python 3.13'
  1. Push to a named branch:
git push YOURFORK v3.9.x:auto-backport-of-pr-28689-on-v3.9.x
  1. Create a PR against branch v3.9.x, I would have named this PR:

"Backport PR#28689 on branch v3.9.x (ci: Enable testing on Python 3.13)"

And apply the correct labels and milestones.

Congratulations — you did some good work! Hopefully your backport PR will be tested by the continuous integration and merged soon!

Remember to remove theStill Needs Manual Backport label once the PR gets merged.

If these instructions are inaccurate, feel free tosuggest an improvement.

@QuLogicQuLogic added this to thev3.9.3 milestoneOct 2, 2024
QuLogic added a commit that referenced this pull requestOct 8, 2024
…3.9.xBackport PR#28689 on branch v3.9.x (ci: Enable testing on Python 3.13)
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@tacaswelltacaswelltacaswell approved these changes

@timhoffmtimhoffmtimhoffm approved these changes

@oscargusoscargusoscargus approved these changes

Assignees
No one assigned
Labels
CI: testingCI configuration and testingMaintenancetopic: mplot3d
Projects
None yet
Milestone
v3.9.3
Development

Successfully merging this pull request may close these issues.

5 participants
@QuLogic@neutrinoceros@tacaswell@timhoffm@oscargus

[8]ページ先頭

©2009-2025 Movatter.jp