fix: opencv dependency conflict #8095
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
build: prevent opencv-python from being installed
Fixes this error:
AttributeError: module 'cv2.ximgproc' has no attribute 'thinning'
opencv-contrib-python
supersedesopencv-python
, providing the same API + additional features. The two packages should not be installed at the same time to avoid conflicts and/or errors.The
invisible-watermark
package requiresopencv-python
, but we require the contrib variant.This change updates
pyproject.toml
to preventopencv-python
from ever being installed using auv
features called dependency overrides.Also update app dependency list endpoint to return all dependencies. This indirectly fixes an issue where that endpoint would raise when attempting to get the version for something that is not installed (e.g.
opencv-python
). Could have just changed it to showopencv-contrib-python
instead, but why not just show all deps. Better for troubleshooting.Related Issues / Discussions
Mentioned several times on discord but I didn't understand the issue until this thread w/ @joshistoast: https://discord.com/channels/1020123559063990373/1378131748856135811/1378131748856135811
QA Instructions
uv pip install -e .
should fix it for manual installs and after updating via launcher to the next release version, should also be fixed.Merge Plan
n/a
Checklist
What's New
copy (if doing a release after this PR)