Repository navigation
Pin PyAV below 19 until faster-whisper supports it - #367
Conversation
PyAV 19.0.0 (2026-09-29) removed the metadata_errors argument of av.open(). faster-whisper 1.2.1, the latest release, still passes metadata_errors="ignore" in decode_audio(), so every transcription fails with "TypeError: open() got an unexpected keyword argument 'metadata_errors'" and the pytest workflow has been failing since. faster-whisper's master branch already only passes the argument for PyAV < 19, but that is not released yet.
|
Confirming from our side: the pytest runs of all our open branches fail with exactly this (Checked with help from Claude Code.) |
|
A possible follow-up that would make the pin unnecessary regardless of when faster-whisper releases: noScribe only ever hands faster-whisper its own converted 16 kHz mono WAV, so it doesn't need This PR is still the right quick fix to get CI green. If you think the follow-up is worthwhile, I'd be happy to open a small PR for it. (Written with help from Claude Code.) |
|
@cristianchiriac Thank you, good catch. I haven't had the time to look into why the GitHub tests where failing, but my local ones were running fine. |
The pytest workflow has been failing on
mainsince PyAV 19.0.0 was released on 2026-09-29 (e.g. https://github.com/kaixxx/noScribe/actions/runs/37302401929). Every transcription aborts with:PyAV 19 removed the
metadata_errorsargument ofav.open(). The latest faster-whisper release, 1.2.1, still passesmetadata_errors="ignore". faster-whisper'smasteralready passes it only for PyAV < 19, but that fix hasn't been released, and faster-whisper only requiresav>=11. So a fresh install of the requirements currently picks PyAV 19 and breaks transcription for users as well, not only in CI.This pins
av<19in allenvironments/requirements_*.txt, with a comment explaining why.requirements_win_cuda.txthad no explicitavline, so the pin is added there. The pin can be dropped once a faster-whisper release with the fix is out.Testing
faster-whisper==1.2.1,decode_audio()on a 1-second WAV:av==19.0.1it raises theTypeErrorabove;av<19(18.1.0) it decodes 16000 samples.uv pip compile environments/requirements_linux.txtnow resolvesav==18.1.0alongsidefaster-whisper==1.2.1.