invoke-ai / invoke-ai/launcher
[bug] Stop using `uv pip install`, because it does not honor uv.lock
- Dominant language
- TypeScript
- Stars
- 48
- Forks
- 23
- Avg merge
- 1m
- Merged PRs (30d)
- 1
Description
Installer currently uses `uv pip install` to install Invoke, which results in locked dependencies from [pyproject.toml](https://github.com/invoke-ai/InvokeAI/blob/main/pyproject.toml) like `"compel==2.1.1",` and latest like `"accelerate"`. The reason is that `uv pip` is an affordance for migrating to uv from pip and keeps pip semantics, including not knowing about `uv.lock`. This results in Launcher installed InvokeAI installations being slightly different depending on the timing of the installation and what versions of packages were available on pypi.org at the time of the install.
The solution is to change from `uv pip` to `uv sync`.
Additionally I see uv is pinned to `0.6.12` here, which is over a year old and fails to parse my `~/.config/uv/uv.toml`. I recommend upgrading uv to latest.
Contributor guide
No contributing guide indexed for this repository
Research direction
Locate the installer entry point that invokes `uv pip install`, then compare its dependency setup with `pyproject.toml` and `uv.lock`. Change the installation flow to use `uv sync`, review the pinned uv version and its `uv.toml` parsing issue, and verify that installations honor the lockfile.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100