invoke-ai / invoke-ai/launcher

[bug] Stop using `uv pip install`, because it does not honor uv.lock

Open Beginner friendly
#131 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.