8000 Python 3.10 by filmor · Pull Request #1591 · pythonnet/pythonnet · GitHub
[go: up one dir, main page]

Skip to content

Python 3.10 #1591

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

Merged
merged 4 commits into from
Oct 14, 2021
Merged

Python 3.10 #1591

merged 4 commits into from
Oct 14, 2021

Conversation

filmor
Copy link
Member
@filmor filmor commented Oct 11, 2021

What does this implement/fix? Explain your changes.

Support for Python 3.10

Does this close any currently open issues?

Surprisingly, no one has asked for it yet :)

Any other comments?

This drops the usage of PyUnicode_GetMax as it was removed from Python 3.10.

Checklist

Check all those that are applicable and complete.

  • Make sure to include one or more tests for your change
  • If an enhancement PR, please create docs and at best an example
  • Add yourself to AUTHORS
  • Updated the CHANGELOG

Copy link
Member
@lostmsu lostmsu left a comment

Choose a reason for hiding this comment

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

Mostly minor remarks.

Did it snowball this far when adding 3.10 support?

@filmor
Copy link
Member Author
filmor commented Oct 11, 2021

Sorry for bundling all of these reference changes in this PR, I'll move them to a separate one. Only the first three commits are related to Python 3.10 and are sufficient, from what I can see (I'd rather drop AppVeyor support than waiting for them again before merging).

@lostmsu
Copy link
Member
lostmsu commented Oct 12, 2021

Any progress on Windows and MacOS tests?

@filmor
Copy link
Member Author
filmor commented Oct 12, 2021

Aren't those essentially the same failures that we have been having for ages and that require fixes to reference counts? I don't have a mac to test, but anecdotally on Windows with Python 3.9, I can't reproduce the failures that we are seeing here.

@lostmsu
Copy link
Member
lostmsu commented Oct 12, 2021

Well, tests for 3.10 only succeeded on Linux. Tests for 3.9 only randomly fail on Linux and MacOS, but even there pass quite often.
On Windows at least it should be easy to debug mixed-mode.

@filmor
Copy link
Member Author
filmor commented Oct 12, 2021

I'll have another look. From the logs it looks like there is no published numpy wheel for 3.10 yet, so when installing dependencies it has to be compiled which takes quite a long time and results in the jobs actually being cancelled.

8000

@lostmsu
Copy link
Member
lostmsu commented Oct 12, 2021

In that case we should increase timeout for 3.10 specifically or across the board until there are numpy wheels.

- Add Python 3.10 typeoffsets
- Replace call to (removed) `PyUnicode_GetMax` by platform detection, as
  AFAIK only Windows uses 16bit wchar_t
Also increase CI timeout for now as some dependencies have no wheels
available, yet, and are thus compiled during CI.
@filmor
Copy link
Member Author
filmor commented Oct 14, 2021

As always, I can't reproduce the errors locally :/
I think we just need to get around removing every non-necessary usage of pointers by borrowed/new references and PyObject.

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.

2 participants
0