-
-
Notifications
You must be signed in to change notification settings - Fork 289
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
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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: