[Misc] Move pyav and soundfile to common requirements#39997
Conversation
Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn>
There was a problem hiding this comment.
Code Review
This pull request moves the av and soundfile libraries from optional extras to the core requirements in common.txt. Feedback indicates that making these dependencies mandatory introduces heavy system-level requirements (FFmpeg and libsndfile) and LGPL-licensed code into the base installation, which increases the footprint for text-only users and contradicts the goal of isolating such dependencies. Additionally, the new requirements are unversioned, posing a risk to build stability.
| msgspec | ||
| gguf >= 0.17.0 | ||
| mistral_common[image] >= 1.11.0 | ||
| av # required for audio in video IO |
There was a problem hiding this comment.
Moving av (PyAV) to common requirements introduces a mandatory dependency on FFmpeg, which is a heavy system-level requirement and is typically LGPL/GPL licensed. This significantly increases the installation footprint and the potential for installation failures in minimal environments (e.g., base Docker images) for users who only require text-based inference. Furthermore, this change contradicts the PR's stated goal of isolating LGPL dependencies, as it moves an LGPL-linked library from an optional extra into the core requirements. This should remain in an optional extra like [video] or [audio]. Additionally, the requirement is unversioned here, which can lead to non-deterministic builds.
| mistral_common[image] >= 1.11.0 | ||
| av # required for audio in video IO | ||
| opencv-python-headless >= 4.13.0 # required for video IO | ||
| soundfile # required for audio IO |
There was a problem hiding this comment.
Moving soundfile to common requirements forces a mandatory dependency on the libsndfile system library (LGPL) for all vLLM users. This introduces unnecessary system-level overhead for text-only use cases and, similar to the av dependency, contradicts the objective of keeping the base installation free of LGPL-linked libraries. It is recommended to keep this dependency within the [audio] extra to maintain modularity and a lightweight core. This requirement is also unversioned, which is a risk for build stability.
Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn>
…ct#39997) Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn>
…ct#39997) Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn>
…ct#39997) Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn>
…ct#39997) Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn> Signed-off-by: Avinash Singh <avinashsingh.rcoem@gmail.com>
…ct#39997) Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn>
…ct#39997) Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn>
…ct#39997) Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn>
…ct#39997) Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn>
…ct#39997) Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn>
Purpose
pyavandsoundfileout ofvllm[audio], thenaudioextra deps will only keep model-specific packages likescipy(phi4-mm) andmistral-common[audio](voxtral, will introdcesoxrwith LGPL license)Test Plan
Test Result
Essential Elements of an Effective PR Description Checklist
supported_models.mdandexamplesfor a new model.