Skip to content
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

Preliminary support for Python 3.14a2. #335

Merged
merged 4 commits into from
Nov 28, 2024

Conversation

icemac
Copy link
Member

@icemac icemac commented Nov 26, 2024

I hacked something together so the tests do not fail for Python 3.14.
But I am completly unsure if this is the way we want/should go.

Fixes #334.

@dataflake
Copy link
Member

I can see the fix for that missing __classdictcell__ slot, but what's the IByteString change for?

Also, if you only want to test "is this Python 3.14", why do you need all those definitions for the older versions?

Copy link
Contributor

@d-maurer d-maurer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you remove the IByteString definitions (in common.builtins and common.collections) for Python 3.14? The interface is likely useful for that version as well.

@icemac
Copy link
Member Author

icemac commented Nov 27, 2024

I can see the fix for that missing __classdictcell__ slot, but what's the IByteString change for?

Python 3.14 removed collections.abc.ByteString, see https://docs.python.org/3/library/collections.abc.html#collections.abc.ByteString

Also, if you only want to test "is this Python 3.14", why do you need all those definitions for the older versions?

ByteString can only be used in Python < 3.14, using this long list of versions supporting it, we'll see that we can remove it when we remove Python 3.13 support in a couple of years. But you are right, this can be done easier but still greppable.

@icemac
Copy link
Member Author

icemac commented Nov 27, 2024

Why do you remove the IByteString definitions (in common.builtins and common.collections) for Python 3.14? The interface is likely useful for that version as well.

@d-maurer
I did not see an obvious way to keep it after Python 3.14 removed collections.abs.ByteString, see ByteString – maybe you find one.

@dataflake
Copy link
Member

I have applied a suggestion for a simpler version check in 1f6009f - feel free to revert if you don't agree.

I am not sure what to do about the ByteString issue because I don't know if or how widespread the use of that interface is.

@d-maurer
Copy link
Contributor

d-maurer commented Nov 27, 2024 via email

@icemac icemac enabled auto-merge (squash) November 28, 2024 07:56
@icemac
Copy link
Member Author

icemac commented Nov 28, 2024

Thank you for reviewing this PR. 😃

@icemac icemac merged commit 682b658 into master Nov 28, 2024
59 checks passed
@icemac icemac deleted the config-with-c-code-template-baf6089f branch November 28, 2024 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Test failure with Python 3.14
3 participants