Skip to content

Faster package-init: Add opt-out uv installer for package-init.sh's Python packages#14

Open
gdrc-swastik wants to merge 1 commit into
ClickHouse:mainfrom
gdrc-swastik:feature/uv-package-installer-toggle
Open

Faster package-init: Add opt-out uv installer for package-init.sh's Python packages#14
gdrc-swastik wants to merge 1 commit into
ClickHouse:mainfrom
gdrc-swastik:feature/uv-package-installer-toggle

Conversation

@gdrc-swastik

@gdrc-swastik gdrc-swastik commented Jul 2, 2026

Copy link
Copy Markdown

pip's resolver takes noticeably longer than uv's on the Python package list (numpy/pandas/scipy/opencv/etc.), which matters for anyone rebuilding the packages PVC/Job in CI or a fresh local cluster.

On my dev machine (Mac), what took pip 20+ min was done by uv in <5min.

PYTHON_PACKAGE_INSTALLER defaults to "uv" and installs the same package list with uv instead (pinned via UV_VERSION, default 0.11.26). Setting it to "pip" preserves existing behavior exactly.

Verified locally (arm64 Docker): both paths complete the full Python + Node + Bun + Bash init successfully. As with any unpinned "latest compatible" install, resolved versions for unconstrained packages can differ between runs and installers - that's inherent to the existing unpinned package list, not introduced by this change.

pip's resolver takes noticeably longer than uv's on the Python package list
(numpy/pandas/scipy/opencv/etc.), which matters for anyone rebuilding the
packages PVC/Job in CI or a fresh local cluster. PYTHON_PACKAGE_INSTALLER
defaults to "uv" and installs the same package list with uv instead (pinned via
UV_VERSION, default 0.11.26). Setting it to "pip" preserves existing behavior exactly.

Verified locally (arm64 Docker): both paths complete the full
Python + Node + Bun + Bash init successfully. As with any unpinned "latest compatible"
install, resolved versions for unconstrained packages can differ between
runs and installers — that's inherent to the existing unpinned package list,
not introduced by this change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant