feat: add include-import-lib option to bundle Windows import libraries in wheels#3017
Merged
feat: add include-import-lib option to bundle Windows import libraries in wheels#3017
include-import-lib option to bundle Windows import libraries in wheels#3017Conversation
…s in wheels Add a new `include-import-lib` option (defaults to false) in `[tool.maturin]` that includes the Windows import library (.dll.lib for MSVC, .dll.a for MinGW) in the built wheel. This enables users who distribute shared libraries via wheels to allow other programs to link against them at compile time. The import library path is extracted directly from cargo's JSON build output (the extra filenames reported alongside the primary artifact), so no extra file copying to staging directories is needed. Supported for all binding types that produce cdylibs/dlls: cffi, uniffi, and pyo3. Closes PyO3#2289
include-import-lib option to bundle Windows import libraries in wheels
netbsd-srcmastr
pushed a commit
to NetBSD/pkgsrc
that referenced
this pull request
Feb 22, 2026
## 1.12.4 * Upgrade memmap2 version ([#3021](PyO3/maturin#3021)) * Fix: platform tag detection for Android targets ([#3023](PyO3/maturin#3023)) * Fix: only ignore maturin-generated native libraries on all platforms ([#3025](PyO3/maturin#3025)) * Fix: ignore develop artifacts for all binding types during build ([#3026](PyO3/maturin#3026)) * Feat: support conditional cargo features based on Python version ([#3027](PyO3/maturin#3027)) ## 1.12.3 * Ci: set crt-static for riscv64 and loongarch64 musl targets ([#3009](PyO3/maturin#3009)) * Fix: support `maturin develop` on Windows ARM with x86 Python ([#3011](PyO3/maturin#3011)) * Fix: exclude `external_packages` bindings from uniffi wheels ([#3013](PyO3/maturin#3013)) * Update cargo-zigbuild to 0.22.1 ([#3015](PyO3/maturin#3015)) * Feat: build wheels from sdist with `--sdist` flag ([#3014](PyO3/maturin#3014)) * Feat: add `include-import-lib` option to bundle Windows import libraries in wheels ([#3017](PyO3/maturin#3017)) * Fix: auditwheel external lib check respects musllinux and reports symbol versions ([#3019](PyO3/maturin#3019))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a new
include-import-liboption (defaults to false) in[tool.maturin]that includes the Windows import library (.dll.libfor MSVC,.dll.afor MinGW) in the built wheel. This enables users who distribute shared libraries via wheels to allow other programs to link against them at compile time.The import library path is extracted directly from cargo's JSON build output (the extra filenames reported alongside the primary artifact), so no extra file copying to staging directories is needed.
Supported for all binding types that produce cdylibs/dlls: cffi, uniffi, and pyo3.
Closes #2289