adopt UV instead of pip - #50
Conversation
janhoy
left a comment
There was a problem hiding this comment.
Thanks for this, one initial comment, will take it for a spin later
There was a problem hiding this comment.
Pull request overview
Migrates the project’s development, CI, and runtime helper scripts from pip/pyenv workflows to uv, aiming to improve reproducibility and installation speed across local development, Docker builds, and GitHub Actions.
Changes:
- Updated local dev and helper scripts (
Makefile,run.sh) to useuv sync/uv runinstead ofpip install. - Updated CI to install
uvand removed pyenv initialization from the build script. - Updated Docker build steps and developer documentation to reflect the uv-based workflow.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
run.sh |
Replaces editable pip install flow with uv sync + uv run for running the CLI/daemon wrappers. |
pyproject.toml |
Introduces a [tool.uv] section documenting uv as the environment manager. |
Makefile |
Replaces pip/pyenv-based targets with uv-based equivalents for develop/build/test/lint/tox. |
docker/Dockerfile |
Installs uv in build/runtime stages and switches wheel build/install steps toward uv. |
DEVELOPER_GUIDE.md |
Updates contributor setup/testing instructions to use uv sync/run and uv.lock. |
AGENTS.md |
Updates agent/dev prerequisites and setup steps to reference uv instead of pyenv. |
.github/workflows/unit-test.yml |
Installs uv via astral-sh/setup-uv before running the CI build script. |
.ci/build.sh |
Removes pyenv PATH/shims initialization; relies on Makefile’s uv-based setup. |
Comments suppressed due to low confidence (1)
Makefile:63
testdepends ondevelop, which can lead to redundantuv syncruns in automation (whendevelopis invoked explicitly). Consider running pytest viauv run --extra develop ...and keepingtestindependent ofdevelop.
test: develop
uv run pytest tests/
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
I think this is as far as my knowledge gets me... @janhoy would be happy to have you push to this branch as well to get this to "done done" ;-). |
|
In last commit I had Claude bring docs up to date with uv (remove pip / pyenv mentions): Three docs still described the old pyenv/pip workflow.
Verified: ran the documented quickstart flow from scratch — plain Note: |
Add dependabot workflow for Dockerfile
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…the project root Addresses copilot review: install_solrorbit's skip logic was dead since it was always called without arguments, so every invocation paid for a uv sync. Pass the venv binary path so repeat runs skip the sync (the self-update path still syncs unconditionally), and use --project/--no-sync so uv resolves the checkout rather than the caller's working directory.
|
Just looked at your most recent commits and tried out some commands... Seemed great. Will wait for CI stuff to have a chance to finish and merge. |
Description
pip to uv migration.
Issues Resolved
Fixes #28.
Testing
[Describe how this change was tested]
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.