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

3.13 support #2260

Merged
merged 8 commits into from
Jun 17, 2024
Merged

3.13 support #2260

merged 8 commits into from
Jun 17, 2024

Conversation

clin1234
Copy link
Contributor

@clin1234 clin1234 commented May 21, 2024

The last officially-supported Python 3.7 release is close to a year ago, and 3.13 just had a beta release, meaning no new features will be added. Also setup-python supports 3.13.

@Avasam
Copy link
Collaborator

Avasam commented May 23, 2024

#2207 (comment)

[...] it would be ideal if I could make another final release supporting [3.7] given it went EOL after the most recent pywin32 release.

If dropping 3.7 is really necessary, this may have to wait for the next release, otherwise you might wanna keep Python 3.7 support to get this merged in sooner once the build passes.

Copy link
Contributor Author

@clin1234 clin1234 left a comment

Choose a reason for hiding this comment

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

LGTM, so far just need to resolve _PyLong_NumBits

@mhammond
Copy link
Owner

As @Avasam said, I'd prefer to keep 3.7 until the next release

@clin1234
Copy link
Contributor Author

As @Avasam said, I'd prefer to keep 3.7 until the next release

Amended.

@wRAR wRAR mentioned this pull request May 28, 2024
7 tasks
@mhammond
Copy link
Owner

This looks great, thanks - I'll merge it once that conflict is resolved.

@mhammond
Copy link
Owner

(well, after the conflict and CI is green :) The "checkers" job will probably be fixed by rebasing on main.

@Avasam
Copy link
Collaborator

Avasam commented May 28, 2024

We're gonna need something like python/cpython#119418 to go through before the 3.13 build passes.

@mhammond
Copy link
Owner

We're gonna need something like python/cpython#119418 to go through before the 3.13 build passes.

Fair enough, but there's no point merging this until we do, right?

@Avasam
Copy link
Collaborator

Avasam commented May 28, 2024

Fair enough, but there's no point merging this until we do, right?

Imo, correct in the PR's current state.*
Since cpython is offering a solution (that should be backported to 3.13), the best thing to do is "just wait" (unless someone can come up with a better implementation than using _PyLong_NumBits)

I wouldn't want to merge this with failing 3.13 CI as that'll be very noisy.

* This PR still removes deprecated symbols, which is a good change on its own. Just not with a failing Python 3.13 CI.

@Avasam
Copy link
Collaborator

Avasam commented May 29, 2024

For the removed unittest.makeSuite, I think you can juste replace it with unittest.defaultTestLoader.loadTestsFromTestCase

.github/workflows/main.yml Outdated Show resolved Hide resolved
.github/workflows/main.yml Outdated Show resolved Hide resolved
.github/workflows/main.yml Outdated Show resolved Hide resolved
.github/workflows/main.yml Outdated Show resolved Hide resolved
@Avasam
Copy link
Collaborator

Avasam commented May 29, 2024

Nice! The build and tests pass. All you need to do to get the last check green is run black .
(I can't personally comment on whether the C code changes are completely accurate)

@Avasam Avasam requested a review from mhammond May 31, 2024 17:00
@clin1234
Copy link
Contributor Author

clin1234 commented Jun 3, 2024

Now that python/cpython#119336 has been resolved, please merge

com/win32com/src/oleargs.cpp Outdated Show resolved Hide resolved
@Avasam
Copy link
Collaborator

Avasam commented Jun 7, 2024

I'm not sure how you ended up adding that many past commits outside your changes. And I don't know if a rebase can save this at this point. After fixing conflicts, you might wanna consider a soft reset to bring all your changes from main into a single commit:

git fetch
git reset --soft upstream/main

validate that all changes are yours and intended (ie not due to a bad merge). stage, commit, then

git push --force-with-lease

* PyEval_CallObject -> PyObject_CallObject
* unittest.makeSuite -> unittest.defaultTestLoader.loadTestsFromModule and unittest.defaultTestLoader.loadTestsFromTestCase
* Include 3.13 in main.yml (except mypy)
@Avasam Avasam linked an issue Jun 9, 2024 that may be closed by this pull request
Fixes issue where Python 3.13 beta 2 is available through actions/setup-python, but the cached version in CI is stuck on 3.13 beta 1.
@Avasam
Copy link
Collaborator

Avasam commented Jun 10, 2024

beta-2 for github actions was released ~11h ago: https://github.com/actions/python-versions/releases/tag/3.13.0-beta.2-9442465578

But you might have to wait for this issue to be resolved first anyway: actions/setup-python#886

@clin1234
Copy link
Contributor Author

beta-2 for github actions was released ~11h ago: https://github.com/actions/python-versions/releases/tag/3.13.0-beta.2-9442465578

But you might have to wait for this issue to be resolved first anyway: actions/setup-python#886

CI PASSES! 😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁

@Avasam Avasam closed this Jun 16, 2024
@Avasam
Copy link
Collaborator

Avasam commented Jun 16, 2024

@mhammond I can't comment on PyObject_CallObject usage. But otherwise this now looks mergeable to me! Would be nice to have Python 3.13 support before next release.

Copy link
Owner

@mhammond mhammond left a comment

Choose a reason for hiding this comment

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

Thank you both!

@mhammond mhammond merged commit 7e8d26b into mhammond:main Jun 17, 2024
31 checks passed
@clin1234 clin1234 deleted the 3.13-support branch June 17, 2024 15:37
clin1234 added a commit to clin1234/pywin32 that referenced this pull request Jun 18, 2024
mhammond pushed a commit that referenced this pull request Jun 19, 2024
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.

unable to compile pywin32 with python3.13
3 participants