Compare commits

...
Author SHA1 Message Date
yogyamandClaude Sonnet 5 ed07862b2e [bugfix] Skip CUDA-only fastvideo-kernel/flashinfer-python deps on non-Linux
Both packages are CUDA-only native extensions: fastvideo-kernel only
publishes manylinux wheels and its sdist build requires nvcc via CMake;
flashinfer-python ships no wheels at all and its sdist build shells out
to nvcc directly. Neither has a build path on macOS (or any platform
without a CUDA toolchain), so `uv pip install -e .` fails there even
though docs/getting_started/installation/mps.md documents that exact
command for Apple Silicon.

Every import of fastvideo_kernel/flashinfer in the codebase is already
guarded (try/except ImportError or importlib.util.find_spec), so the
package degrades gracefully without them - confirmed by a clean
`uv pip install -e ".[dev]"` + `import fastvideo` + `fastvideo --help`
on an arm64 Mac with neither package present.

Gating both on `sys_platform == 'linux'` matches the existing
platform-marker convention already used for fastvideo-kernel's local
source path in [tool.uv.sources], and leaves Linux+CUDA installs
byte-for-byte unaffected.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 13:00:57 -07:00
+10 -2
View File
@@ -35,7 +35,10 @@ dependencies = [
"torch==2.12.0",
"torchvision",
"torchaudio",
"flashinfer-python",
# CUDA-only: no wheels for non-Linux platforms, and the sdist build shells
# out to nvcc unconditionally. Gate on sys_platform so installs on macOS
# (MPS) and other non-Linux platforms don't try to build it from source.
"flashinfer-python; sys_platform == 'linux'",
# Acceleration & Optimization
"accelerate==1.0.1",
@@ -73,7 +76,12 @@ dependencies = [
"remote-pdb",
# Kernel & Packaging
"fastvideo-kernel==0.3.2",
# CUDA-only: PyPI only publishes manylinux wheels, and the sdist build
# requires nvcc via CMake. Gate on sys_platform so installs on macOS
# (MPS) and other non-Linux platforms don't try to build it from source;
# every fastvideo_kernel import elsewhere is already guarded to degrade
# gracefully when the package is absent.
"fastvideo-kernel==0.3.2; sys_platform == 'linux'",
"wheel",
# Training Dependencies