Managing versions on python projects
# Chasing a `TypeError` Through Python's Wheel Ecosystem I ran my video-notes pipeline against a new lecture recording and got this, two stages in: ``` TypeError: open() got an unexpected keyword argument 'metadata_errors' ``` The traceback pointed into `faster-whisper`, which called into `PyAV`'s `av.open()`. Nothing in my own code — the failure was enti rely inside two third-party packages talking past each other. ## The actual bug: a silent API break `faster-whisper` calls: ```python av.open(input_file, mode="r", metadata_errors="ignore") ``` My environment had `av==19.0.1` installed — the newest release at the time — and at some point between the version `faster-whisper ==1.2.1` was built against and 19.0.1, PyAV dropped the `metadata_errors` argument from `open()`. Both packages were "compatible" by the version constraints in `faster-whisper`'s metadata (`av>=11`), but not compatible at the actual function-signature level. T ha...