-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
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 building |
ccc9896
to
f96b4f3
Compare
Ah, I should have checked which tests first; those all have some increased tolerance on |
4f59013
to
55363b6
Compare
Looks suprising at first given the documentation explicitly states that matplotlib isn't thread safe https://matplotlib.org/stable/users/faq.html#work-with-threads 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 through https://py-free-threading.github.io/ |
Those were failures on 3.13, not 3.13t, so threads are unrelated. |
Ow. My bad ! I don't know why I thought matplotlib was already testing (regular) 3.13. Don't mind me 😅 |
Co-authored-by: Edgar Andrés Margffoy Tuay <andfoy@gmail.com>
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. |
This comment was marked as duplicate.
This comment was marked as duplicate.
@meeseeksdev backport to v3.9.x |
Owee, I'm MrMeeseeks, Look at me. There seem to be a conflict, please backport manually. Here are approximate instructions:
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 the If these instructions are inaccurate, feel free to suggest an improvement. |
…3.9.x Backport PR #28689 on branch v3.9.x (ci: Enable testing on Python 3.13)
PR summary
It works locally mostly, but let's see how things go on CI.
PR checklist