File size: 1,433 Bytes
18d028b f81dbc6 9dc2f54 18d028b 54cd35c 18d028b 55a07df 18d028b 2ce7b16 18d028b f90fef2 f117b17 18d028b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | # Pinned to versions that are known to work together on HF Spaces (sdk_version 4.44.1). gradio==4.44.1 gradio-client==1.3.0 pydantic>=2.9,<2.10 huggingface_hub>=0.26,<0.30 # Pin starlette to a version where TemplateResponse(name, context) still # works — starlette 0.41+ swapped the signature to (request, name, context) # which breaks gradio 4.44.1's jinja2 cache key (TypeError: unhashable dict). starlette>=0.36,<0.41 jinja2>=3.1,<3.2 # Backend / IO fastapi>=0.115 uvicorn[standard]>=0.32 httpx>=0.27 websockets>=10.4,<13 python-multipart>=0.0.12 python-dotenv>=1.0 # Imaging pillow>=10.4,<11.0 numpy>=2.0,<3.0 opencv-python-headless>=4.10 # Inference clients openai>=1.54 # Audio: gTTS = primary (free, fast, ~tiny dep, real audio). # Coqui XTTS-v2 would be higher quality but is 2GB and slow on basic CPU. gtts>=2.5 # soundfile is the silent-stub fallback when even gTTS fails. soundfile>=0.12 # Vision pipeline (MediaPipe Holistic for the pose-debug overlay) # Optional at runtime — landmarks.py lazy-imports it. mediapipe>=0.10.18 # Sign classifier (MLP for fingerspelling — runs on Space CPU). torch>=2.4 # Note: transformers, TTS (Coqui), and librosa are NOT in the Space # requirements. Composer (Qwen3-8B) and TTS (XTTS-v2) are served from # AMD Developer Cloud. The local TTS path falls back to a silent-stub # WAV when soundfile is the only audio dep available. # Dev / test pytest>=8.3 ruff>=0.7 mypy>=1.13 |