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

Generate import libraries for free-threaded Python 3.13+ builds #82

Merged
merged 4 commits into from
Nov 30, 2024

Conversation

ravenexp
Copy link
Collaborator

@ravenexp ravenexp commented Nov 29, 2024

  • Collect python313t.dll from Windows CI builds.
  • Add new ImportLibraryGenerator::abi_tag() method
  • Add unit tests and update documentation

Resolves #80

@ravenexp ravenexp added the enhancement New feature or request label Nov 29, 2024
@ravenexp ravenexp self-assigned this Nov 29, 2024
@ravenexp ravenexp marked this pull request as draft November 29, 2024 18:14
@ravenexp ravenexp marked this pull request as ready for review November 29, 2024 18:47
Copy link
Member

@davidhewitt davidhewitt left a comment

Choose a reason for hiding this comment

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

Thanks very much for the rapid turnaround! I think string flags is probably fine imo, both sysconfig and maturin just handle these as strings.

I was able to put together PyO3/pyo3#4749 to test this out downstream; I was able to reproduce a broken build and that this patch fixes it! 👍

src/lib.rs Outdated Show resolved Hide resolved
src/lib.rs Outdated Show resolved Hide resolved
Allow specifying the generated import library ABI flags as well
as the interpreter version.

Only `"t"` is currently supported as the ABI flags parameter value
and only for CPython v3.13.
These require passing `abiflags="t"` to the generator.
Copy link
Member

@messense messense left a comment

Choose a reason for hiding this comment

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

Thanks!

@ravenexp
Copy link
Collaborator Author

Thanks very much for the rapid turnaround! I think string flags is probably fine imo, both sysconfig and maturin just handle these as strings.

I was able to put together PyO3/pyo3#4749 to test this out downstream; I was able to reproduce a broken build and that this patch fixes it! 👍

I've renamed the builder method and am going to merge this and release a new crate version after adding some more tests for Windows ARM64.

Copy link
Member

@davidhewitt davidhewitt left a comment

Choose a reason for hiding this comment

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

Super, thanks 👍

@ravenexp ravenexp merged commit d13167d into main Nov 30, 2024
12 checks passed
@ravenexp ravenexp deleted the python-313t branch November 30, 2024 09:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Generating import library for Python 3.13t free-threaded DLL
3 participants