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

feat: allow for editable pypi source dependencies when using path #1044

Merged
merged 26 commits into from
Mar 28, 2024
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
c039e40
wip: editable installs
tdejager Mar 22, 2024
09b02df
Merge branch 'main' into feat/editable-installs
tdejager Mar 25, 2024
7a8c73b
wip: integration of editables
tdejager Mar 25, 2024
61a2a87
feat: added editable to resolve
tdejager Mar 25, 2024
186b933
fix: satisfiability of editables
baszalmstra Mar 25, 2024
88440be
fix: depend on rattler revision
baszalmstra Mar 25, 2024
2b6906a
feat: different way of building pypi deps
tdejager Mar 25, 2024
cae1a65
wip: installation of editables
tdejager Mar 26, 2024
12e1a36
feat: now uses editables for installation
tdejager Mar 26, 2024
0eaa839
fix: test
baszalmstra Mar 26, 2024
aa6cd43
fix: some small fixes
tdejager Mar 26, 2024
df5a652
feat: changed docker example to use local editable
tdejager Mar 26, 2024
52bf729
fix: clippy fixes
tdejager Mar 26, 2024
aca7870
feat: added example for editable with extras
tdejager Mar 26, 2024
9dcc591
fix: typo
tdejager Mar 26, 2024
54c6356
feat: fix the case where the path is not a directory
tdejager Mar 26, 2024
8e3b34a
feat: add editable to schema
tdejager Mar 26, 2024
7861593
fix: sort cargo file
tdejager Mar 26, 2024
dff1c2e
Merge branch 'main' into feat/editable-installs
tdejager Mar 26, 2024
2917844
fix: remove vendored function
tdejager Mar 26, 2024
16f1701
fix: satifies not using correct path in some cases
tdejager Mar 26, 2024
4948526
docs: update documentation for editable and source dependencies in py…
ruben-arts Mar 27, 2024
aafe11f
Merge branch 'main' into feat/editable-installs
tdejager Mar 28, 2024
cb18494
feat: tried to fix satifiability for windows
tdejager Mar 28, 2024
c27515a
fix: normalize file new-lines when computing hashes
baszalmstra Mar 28, 2024
8e72765
Merge branch 'main' into feat/editable-installs
tdejager Mar 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 46 additions & 56 deletions Cargo.lock

Large diffs are not rendered by default.

93 changes: 58 additions & 35 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ crossbeam-channel = "0.5.12"
deno_task_shell = "0.14.4"
dialoguer = "0.11.0"
dirs = "5.0.1"
distribution-filename = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
distribution-types = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
distribution-filename = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
distribution-types = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
dunce = "1.0.4"
flate2 = "1.0.28"
futures = "0.3.30"
Expand All @@ -57,7 +57,7 @@ ignore = "0.4.22"
indexmap = { version = "2.2.5", features = ["serde"] }
indicatif = "0.17.8"

install-wheel-rs = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
install-wheel-rs = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
is_executable = "1.0.1"
itertools = "0.12.1"
lazy_static = "1.4.0"
Expand All @@ -71,10 +71,10 @@ miette = { version = "7.2.0", features = [
] }
minijinja = { version = "1.0.14", features = ["builtins"] }
once_cell = "1.19.0"
pep440_rs = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
pep508_rs = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
platform-tags = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
pypi-types = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
pep440_rs = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
pep508_rs = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
platform-tags = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
pypi-types = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
rattler = { version = "0.19.4", default-features = false, features = [
"cli-tools",
] }
Expand All @@ -93,6 +93,7 @@ rattler_solve = { version = "0.20.3", default-features = false, features = [
] }
rattler_virtual_packages = { version = "0.19.4", default-features = false }
regex = "1.10.3"
requirements-txt = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
reqwest = { version = "0.11.27", default-features = false }
reqwest-middleware = "0.2.5"
reqwest-retry = "0.4.0"
Expand All @@ -119,15 +120,16 @@ toml_edit = { version = "0.22.8", features = ["serde"] }
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
url = "2.5.0"
uv-cache = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
uv-client = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
uv-dispatch = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
uv-distribution = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
uv-installer = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
uv-interpreter = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
uv-normalize = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
uv-resolver = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
uv-traits = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
uv-build = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
uv-cache = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
uv-client = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
uv-dispatch = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
uv-distribution = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
uv-installer = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
uv-interpreter = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
uv-normalize = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
uv-resolver = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
uv-traits = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
xxhash-rust = "0.8.10"
zip = { version = "0.6.6", default-features = false, features = [
"deflate",
Expand Down Expand Up @@ -156,28 +158,48 @@ toml = "0.8.12"
[patch.crates-io]
# For pyproject-toml
# If you change this also change the versions in the the patch section for uv
pep440_rs = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
pep508_rs = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
pep440_rs = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }
pep508_rs = { git = "https://github.com/astral-sh/uv", rev = "7a5571fa5c4fa72a26b0754f3273f1d75f3fa7d2" }

# deno_task_shell = { path = "../deno_task_shell" }
rattler = { git = "https://github.com/baszalmstra/rattler", rev = "e5aaed3e2551399985e3c11a87c2c0aedb31b0d3" }
rattler_conda_types = { git = "https://github.com/baszalmstra/rattler", rev = "e5aaed3e2551399985e3c11a87c2c0aedb31b0d3" }
rattler_digest = { git = "https://github.com/baszalmstra/rattler", rev = "e5aaed3e2551399985e3c11a87c2c0aedb31b0d3" }
rattler_lock = { git = "https://github.com/baszalmstra/rattler", rev = "e5aaed3e2551399985e3c11a87c2c0aedb31b0d3" }
rattler_networking = { git = "https://github.com/baszalmstra/rattler", rev = "e5aaed3e2551399985e3c11a87c2c0aedb31b0d3" }
rattler_repodata_gateway = { git = "https://github.com/baszalmstra/rattler", rev = "e5aaed3e2551399985e3c11a87c2c0aedb31b0d3" }
rattler_shell = { git = "https://github.com/baszalmstra/rattler", rev = "e5aaed3e2551399985e3c11a87c2c0aedb31b0d3" }
rattler_solve = { git = "https://github.com/baszalmstra/rattler", rev = "e5aaed3e2551399985e3c11a87c2c0aedb31b0d3" }
rattler_virtual_packages = { git = "https://github.com/baszalmstra/rattler", rev = "e5aaed3e2551399985e3c11a87c2c0aedb31b0d3" }
#rattler_conda_types = { path = "../rattler/crates/rattler_conda_types" }
#rattler_digest = { path = "../rattler/crates/rattler_digest" }
#rattler_networking = { path = "../rattler/crates/rattler_networking" }
#rattler_repodata_gateway = { path = "../rattler/crates/rattler_repodata_gateway" }
#rattler_shell = { path = "../rattler/crates/rattler_shell" }
#rattler_solve = { path = "../rattler/crates/rattler_solve" }
#rattler_virtual_packages = { path = "../rattler/crates/rattler_virtual_packages" }
#rattler_lock = { path = "../rattler/crates/rattler_lock" }

# Change these lines if you want a patched version of uv
[patch.'https://github.com/astral-sh/uv']
pep440_rs = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
pep508_rs = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
uv-cache = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
uv-client = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
uv-dispatch = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
uv-distribution = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
uv-installer = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
uv-interpreter = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
uv-normalize = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
uv-resolver = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
uv-traits = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
distribution-filename = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
distribution-types = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
install-wheel-rs = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
platform-tags = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
pypi-types = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
requirements-txt = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# pep440_rs = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# pep508_rs = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-build = { git = "https://github.com/wolfv/uv", tag = "expose-yanks" }
# uv-cache = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-client = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-dispatch = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-distribution = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-installer = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-interpreter = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-normalize = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-resolver = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-traits = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# distribution-filename = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# distribution-types = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# install-wheel-rs = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# platform-tags = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# pypi-types = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# requirements-txt = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
Comment on lines +186 to +203
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
# pep440_rs = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# pep508_rs = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-build = { git = "https://github.com/wolfv/uv", tag = "expose-yanks" }
# uv-cache = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-client = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-dispatch = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-distribution = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-installer = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-interpreter = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-normalize = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-resolver = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# uv-traits = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# distribution-filename = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# distribution-types = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# install-wheel-rs = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# platform-tags = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# pypi-types = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }
# requirements-txt = { git = "https://github.com/wolfv/uv", branch = "expose-yanks" }

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No we need to keep this because we have to patch it very often.


# deno_task_shell = { path = "../deno_task_shell" }
# rattler = { git = "https://github.com/mamba-org/rattler", rev = "2fb7fc1f60b250985e0674b22c5d42fd31798826" }
Expand All @@ -190,6 +212,7 @@ requirements-txt = { git = "https://github.com/wolfv/uv", branch = "expose-yanks
# rattler_solve = { git = "https://github.com/mamba-org/rattler", rev = "2fb7fc1f60b250985e0674b22c5d42fd31798826" }
# rattler_virtual_packages = { git = "https://github.com/mamba-org/rattler", rev = "2fb7fc1f60b250985e0674b22c5d42fd31798826" }


# rattler_conda_types = { path = "../rattler/crates/rattler_conda_types" }
# rattler_digest = { path = "../rattler/crates/rattler_digest" }
# rattler_networking = { path = "../rattler/crates/rattler_networking" }
Expand Down
Loading
Loading