-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[CI] Run stubtest with Python 3.13 #13638
Conversation
Initial analysis of the failures:
|
I suspect this is due to mypy not synthesizing a
Similarly, I suspect this is due to mypy not synthesizing |
In the case of fpdf2 it's a dataclass in the implementation, but not the stubs. Will fix. |
pynput error currently in CI is unrelated: 1.8.1 was released today: #13647 |
This reverts commit b68e3a6.
I think that's it. Once the linked PRs are merged into main and merged back into this branch, this PR should be ready to go. |
Co-authored-by: Alex Waygood <[email protected]>
[tool.stubtest] | ||
# This package is unmaintained and doesn't support Python 3.13. | ||
# See https://github.com/grantjenks/py-tree-sitter-languages/issues/75 and | ||
# https://github.com/grantjenks/py-tree-sitter-languages/blob/main/README.rst#status | ||
skip = true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a bit weird that the "this is unmaintained" note was PR'd by the author of the competing package and merged without comment: grantjenks/py-tree-sitter-languages#84. But it's true that it can't be installed on Python 3.13 currently and hasn't had any significant updates since February 2024.
The stubs were added by @Akuli in #8548 and IIRC he's contributed to the upstream package as well
# This is only available when the crypt module is available. This module | ||
# was dropped from the standard library of Python 3.13, but is still available | ||
# in some environments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't found out which package installs crypt.py
, but I have had it happen once locally, and the same issue seems to happen in CI. (In this particular run. Previously, it complained that passlib.hosts.host_context
was spurious. 🤷♂️)
Co-authored-by: Alex Waygood <[email protected]>
A quick review about the not so fortunate changes that were necessary. Don't support Python 3.13, but I expect support in the future:
Disabled stubtest for these for now. I see this as less critical, as any update to the stubs would probably mean updating the stubs to the next version anyway, which will hopefully support Python 3.13, which means that we'll be able to re-enable stubtest. Don't support Python 3.13 and are unmaintained:
Finally, our version of pygit2 doesn't support Python 3.13, but newer version have added stubs, so our pygit2 stubs are scheduled for removal anyway. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm okay with this as long as we open an issue reminding us to revert the corus, tensorflow and tqdm changes once they support Python 3.13. Thanks!
My idea was to add a warning to stubsabot's created PR when it updates a stubs package where stubtest is skipped. |
It actually already does that: #13460 (comment) Maybe that's enough. I don't feel strongly; we can go without the issue if you don't think it's necessary :-) |
I fear that an issue just gets lost among the ~200 issues we have. And then rediscovered a few years down the line when it's not relevant anymore. I think the stubsabot warning will be more effective. |
No description provided.