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: pypi source dependencies #985

Merged
merged 37 commits into from
Mar 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
747dbb8
wip: pypi source deps
tdejager Mar 12, 2024
183dbc8
wip: accept file based dependencies
tdejager Mar 14, 2024
e45ef25
feat: added code path for resolving git branches
tdejager Mar 14, 2024
ae42579
Merge branch 'main' into feat/pypi-source-dependencies
tdejager Mar 15, 2024
b165d67
feat: refactoring satifisfyability
tdejager Mar 15, 2024
ab1db79
feat: only supporting `rev` for now
tdejager Mar 15, 2024
f52a978
feat: made the installation logic for source dependencies
tdejager Mar 18, 2024
f4df340
Merge branch 'main' into feat/pypi-source-dependencies
tdejager Mar 18, 2024
3c68475
feat: added freshness logic for file and archive sources
tdejager Mar 19, 2024
4cad656
feat: clean-up of functions
tdejager Mar 19, 2024
15df9dc
fix: limit the number of concurrent solves
tdejager Mar 19, 2024
f360290
feat: only limit concurrency when using pypi source dependencies
tdejager Mar 19, 2024
9ee7bd7
feat: added hello task
tdejager Mar 19, 2024
8f26962
Update examples/pypi-source-deps/pixi.toml
tdejager Mar 21, 2024
fd7f1b6
feat: added __version__ check to minimal project
tdejager Mar 21, 2024
ea57f91
feat: add writing of path based dependencies to lock file format
baszalmstra Mar 21, 2024
a658734
feat: changed project name
tdejager Mar 21, 2024
b387759
feat: change the task code back to original
tdejager Mar 21, 2024
980b2e3
Merge branch 'main' into feat/pypi-source-dependencies
tdejager Mar 21, 2024
b11cd64
fix: changed to exception
tdejager Mar 21, 2024
b0aac04
feat: model.py to incorporate git changes
tdejager Mar 21, 2024
28a0753
feat: updated schema
tdejager Mar 21, 2024
fd770f6
feat: canonicalize paths correctly
tdejager Mar 21, 2024
ec48db5
feat: update schema for direct dependencies
nichmor Mar 21, 2024
5b9620f
Merge branch 'feat/pypi-source-dependencies' of https://github.com/td…
nichmor Mar 21, 2024
917f626
Merge branch 'main' into feat/pypi-source-dependencies
baszalmstra Mar 21, 2024
eb98d02
Merge branch 'main' into feat/pypi-source-dependencies
tdejager Mar 21, 2024
e0860a1
chore: update uv to latest
wolfv Mar 22, 2024
1c628a1
fix tests and pre-commit
wolfv Mar 22, 2024
9276ce3
fix: update rattler version
tdejager Mar 22, 2024
f3d8347
feat: updated rattler to latest released versions
tdejager Mar 22, 2024
c9090fe
Update examples/pypi-source-deps/pixi.toml
tdejager Mar 22, 2024
c536f1a
Merge remote-tracking branch 'mine/update-uv' into feat/pypi-source-d…
wolfv Mar 22, 2024
341d089
merge uv update
wolfv Mar 22, 2024
d1de709
bump to rust 1.76 and apply all clippy fixes
wolfv Mar 22, 2024
0ee497f
try to fix the failure with a little sleepy
wolfv Mar 22, 2024
a9cbc5f
remove unused and likely broken code
wolfv Mar 22, 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
297 changes: 118 additions & 179 deletions Cargo.lock

Large diffs are not rendered by default.

132 changes: 66 additions & 66 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.16" }
distribution-types = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
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" }
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.16" }
install-wheel-rs = { git = "https://github.com/astral-sh/uv", tag = "0.1.23" }
is_executable = "1.0.1"
itertools = "0.12.1"
lazy_static = "1.4.0"
Expand All @@ -71,26 +71,27 @@ 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.16" }
pep508_rs = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
platform-host = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
platform-tags = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
pypi-types = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
rattler = { version = "0.19.4", default-features = false, features = ["cli-tools"] }
rattler_conda_types = { version = "0.20.2", default-features = false }
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" }
rattler = { version = "0.19.4", default-features = false, features = [
"cli-tools",
] }
rattler_conda_types = { version = "0.20.3", default-features = false }
rattler_digest = { version = "0.19.2", default-features = false }
rattler_lock = { version = "0.20.2", default-features = false }
rattler_networking = { version = "0.19.2", default-features = false }
rattler_repodata_gateway = { version = "0.19.3", default-features = false, features = [
rattler_lock = { version = "0.21.0", default-features = false }
rattler_networking = { version = "0.20.0", default-features = false }
rattler_repodata_gateway = { version = "0.19.4", default-features = false, features = [
"sparse",
] }
rattler_shell = { version = "0.19.3", default-features = false, features = [
rattler_shell = { version = "0.19.4", default-features = false, features = [
"sysinfo",
] }
rattler_solve = { version = "0.20.2", default-features = false, features = [
rattler_solve = { version = "0.20.3", default-features = false, features = [
"resolvo",
] }
rattler_virtual_packages = { version = "0.19.3", default-features = false }
rattler_virtual_packages = { version = "0.19.4", default-features = false }
regex = "1.10.3"
reqwest = { version = "0.11.27", default-features = false }
reqwest-middleware = "0.2.5"
Expand Down Expand Up @@ -118,15 +119,15 @@ 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.16" }
uv-client = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
uv-dispatch = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
uv-distribution = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
uv-installer = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
uv-interpreter = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
uv-normalize = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
uv-resolver = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
uv-traits = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
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" }
xxhash-rust = "0.8.10"
zip = { version = "0.6.6", default-features = false, features = [
"deflate",
Expand Down Expand Up @@ -154,47 +155,46 @@ toml = "0.8.12"

[patch.crates-io]
# For pyproject-toml
# If you change this also change the versions in the the patch section for astral
pep440_rs = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
pep508_rs = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
#deno_task_shell = { path = "../deno_task_shell" }
# 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" }

# rattler = { git = "https://github.com/mamba-org/rattler", rev = "e3784e0bc65b98f3cf3dcb7e2b8924113f3ec463" }
# rattler_conda_types = { git = "https://github.com/mamba-org/rattler", rev = "e3784e0bc65b98f3cf3dcb7e2b8924113f3ec463" }
# rattler_digest = { git = "https://github.com/mamba-org/rattler", rev = "e3784e0bc65b98f3cf3dcb7e2b8924113f3ec463" }
# rattler_lock = { git = "https://github.com/mamba-org/rattler", rev = "e3784e0bc65b98f3cf3dcb7e2b8924113f3ec463" }
# rattler_networking = { git = "https://github.com/mamba-org/rattler", rev = "e3784e0bc65b98f3cf3dcb7e2b8924113f3ec463" }
# rattler_repodata_gateway = { git = "https://github.com/mamba-org/rattler", rev = "e3784e0bc65b98f3cf3dcb7e2b8924113f3ec463" }
# rattler_shell = { git = "https://github.com/mamba-org/rattler", rev = "e3784e0bc65b98f3cf3dcb7e2b8924113f3ec463" }
# rattler_solve = { git = "https://github.com/mamba-org/rattler", rev = "e3784e0bc65b98f3cf3dcb7e2b8924113f3ec463" }
# rattler_virtual_packages = { git = "https://github.com/mamba-org/rattler", rev = "e3784e0bc65b98f3cf3dcb7e2b8924113f3ec463" }
# 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" }

#rattler = { path = "../rattler/crates/rattler" }
#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" }
# deno_task_shell = { path = "../deno_task_shell" }
# rattler = { git = "https://github.com/mamba-org/rattler", rev = "2fb7fc1f60b250985e0674b22c5d42fd31798826" }
# rattler_conda_types = { git = "https://github.com/mamba-org/rattler", rev = "2fb7fc1f60b250985e0674b22c5d42fd31798826" }
# rattler_digest = { git = "https://github.com/mamba-org/rattler", rev = "2fb7fc1f60b250985e0674b22c5d42fd31798826" }
# rattler_lock = { git = "https://github.com/mamba-org/rattler", rev = "2fb7fc1f60b250985e0674b22c5d42fd31798826" }
# rattler_networking = { git = "https://github.com/mamba-org/rattler", rev = "2fb7fc1f60b250985e0674b22c5d42fd31798826" }
# rattler_repodata_gateway = { git = "https://github.com/mamba-org/rattler", rev = "2fb7fc1f60b250985e0674b22c5d42fd31798826" }
# rattler_shell = { git = "https://github.com/mamba-org/rattler", rev = "2fb7fc1f60b250985e0674b22c5d42fd31798826" }
# rattler_solve = { git = "https://github.com/mamba-org/rattler", rev = "2fb7fc1f60b250985e0674b22c5d42fd31798826" }
# rattler_virtual_packages = { git = "https://github.com/mamba-org/rattler", rev = "2fb7fc1f60b250985e0674b22c5d42fd31798826" }

# Change these lines if you want a patched version of astral
# [patch.'https://github.com/astral-sh/uv']
# pep440_rs = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# pep508_rs = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# uv-cache = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# uv-client = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# uv-dispatch = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# uv-distribution = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# uv-installer = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# uv-interpreter = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# uv-normalize = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# uv-resolver = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# uv-traits = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# distribution-filename = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# distribution-types = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# install-wheel-rs = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# platform-host = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# platform-tags = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# pypi-types = { git = "https://github.com/astral-sh/uv", tag = "0.1.16" }
# 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" }
2 changes: 2 additions & 0 deletions examples/pypi-source-deps/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# GitHub syntax highlighting
pixi.lock linguist-language=YAML
2 changes: 2 additions & 0 deletions examples/pypi-source-deps/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# pixi environments
.pixi
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import importlib.metadata

try:
__version__ = importlib.metadata.version(__name__)
except importlib.metadata.PackageNotFoundError:
__version__ = "unknown"
raise Exception(f"Could not determine version of {__name__}")
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def hello():
print('Hello World!')
8 changes: 8 additions & 0 deletions examples/pypi-source-deps/minimal-project/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[project]
name = "minimal_project"
version = "0.1"
description = "just says hello"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
Loading
Loading