Don't package non-path-dep crates in sdist for workspaces - #720
Conversation
|
✔️ Deploy Preview for maturin-guide canceled. 🔨 Explore the source changes: b7f18b4 🔍 Inspect the deploy log: https://app.netlify.com/sites/maturin-guide/deploys/61a77bce2781ff000741a31a |
e60ed9e to
089b79d
Compare
5184099 to
fb9825c
Compare
|
This one is a little tricky, I'd love to have more eyes on it. cc @koehlma |
|
👍 happy to review however I don't think I'll manage to get to this before the weekend FYI. My FIFO queue is backed up a bit this week 😅 |
|
Hey, thanks for addressing this. It seems to me that this approach misses transitive path dependencies. Imagine I have the dependency graph I once implemented this as follows: https://github.com/koehlma/maturin/blob/master/src/source_distribution.rs#L146 This solution also does not depend on the |
|
@koehlma Thanks for the review! I'm a little worried that this |
|
@messense My pleasure! The part of the documentation you quoted is for |
|
I've just added a transitive path dep test crate. The dependency graph is ❯ tar -ztf dist/workspace_with_path_dep-0.1.0.tar.gz
workspace_with_path_dep-0.1.0/local_dependencies/generic_lib/Cargo.toml
workspace_with_path_dep-0.1.0/local_dependencies/generic_lib/src/lib.rs
workspace_with_path_dep-0.1.0/local_dependencies/transitive_lib/Cargo.toml
workspace_with_path_dep-0.1.0/local_dependencies/transitive_lib/src/lib.rs
workspace_with_path_dep-0.1.0/Cargo.toml
workspace_with_path_dep-0.1.0/pyproject.toml
workspace_with_path_dep-0.1.0/src/lib.rs
workspace_with_path_dep-0.1.0/PKG-INFO |
konstin
left a comment
There was a problem hiding this comment.
LGTM
A test that compares the archive file list would be useful
802cb6d to
7e3c22f
Compare
7e3c22f to
b7f18b4
Compare
* Add support for repairing cross compiled linux wheels in [#754](PyO3/maturin#754) * Add support for `manylinux_2_28` and `manylinux_2_31` in [#755](PyO3/maturin#755) * Remove existing so file first in `maturin develop` command to avoid triggering SIGSEV in running process in [#760](PyO3/maturin#760) * Fix docs for `new` and `init` commands in `maturin --help` in [#734](PyO3/maturin#734) * Add support for x86_64 Haiku in [#735](PyO3/maturin#735) * Fix undefined auditwheel policy panic in [#740](PyO3/maturin#740) * Fix sdist upload for packages where the pkgname contains multiple underscores in [#741](PyO3/maturin#741) * Implement auditwheel repair with patchelf in [#742](PyO3/maturin#742) * Add `Cargo.lock` to sdist when `--locked` or `--frozen` specified in [#749](PyO3/maturin#749) * Infer readme file if not specified in [#751](PyO3/maturin#751) * Add a `maturin init` command as a companion to `maturin new` in [#719](PyO3/maturin#719) * Don't package non-path-dep crates in sdist for workspaces in [#720](PyO3/maturin#720) * Build release packages with `password-storage` feature in [#725](PyO3/maturin#725) * Add support for x86_64 DargonFly BSD in [#727](PyO3/maturin#727) * Add a Python import hook in [#729](PyO3/maturin#729) * Allow pip warnings in `maturin develop` command in [#732](PyO3/maturin#732)

Fixes #462
For the included workspace setup, before:
after:
TODO: