Only require OpenCV and pyssim when their metrics are requested#2535
Merged
Conversation
Every visual metrics install has been pulling in OpenCV and pyssim, but OpenCV is only used by --contentful and pyssim only by --perceptual — opt-in metrics most users never enable. The dependency check now fails on a missing module only when the flags that need it are in play, so a default setup runs on just ffmpeg, Numpy and Pillow. Pillow becomes explicit in requirements.txt: it was only installed as a transitive dependency of pyssim, so making pyssim optional would silently have taken Pillow with it. When a module is absent but unneeded the note goes to the log, not stdout — in --json runs stdout must stay pure JSON or the caller's parse breaks. The Docker image keeps installing everything so --contentful and --perceptual keep working there. Co-authored-by: Claude Fable 5 noreply@anthropic.com Change-Id: I649a4e4beeed67a1bcd5ac3bded3ffed71c04cad
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Every visual metrics install has been pulling in OpenCV and pyssim, but OpenCV is only used by --contentful and pyssim only by --perceptual — opt-in metrics most users never enable. The dependency check now fails on a missing module only when the flags that need it are in play, so a default setup runs on just ffmpeg, Numpy and Pillow. Pillow becomes explicit in requirements.txt: it was only installed as a transitive dependency of pyssim, so making pyssim optional would silently have taken Pillow with it. When a module is absent but unneeded the note goes to the log, not stdout — in --json runs stdout must stay pure JSON or the caller's parse breaks. The Docker image keeps installing everything so --contentful and --perceptual keep working there.
Co-authored-by: Claude Fable 5 noreply@anthropic.com
Change-Id: I649a4e4beeed67a1bcd5ac3bded3ffed71c04cad